ラベル Unity の投稿を表示しています。 すべての投稿を表示
ラベル Unity の投稿を表示しています。 すべての投稿を表示

2014年1月14日火曜日

[Unity]LocalNotification機能を実装したらリジェクトされた

Unityで開発中のiOS0アプリにLocalNotificationを実装して申請したら、
XCODE側のValidationは通るものの、サーバー側のValidationでリジェクトになってしまった。

Missing Push Notification Entitlement

サーバーを介さないLocal Notificationなのに、プロビジョニングの設定しろやこらー!
と、怒っているようでした。
(RemoteでNotificationを出す時 => Push Notification)

そこで以下の記事を見て解決できたのでメモ。


Unity4.1.5だと、「AppController.mm」というファイル名だった。
見てみると似たようなソースの場所があって、確かにRemoteNotificationナンチャラという記述が。
こいつがAppleの入力チェックに引っかかって、リジェクトされる原因になっていた。
LocalNotificationを使う場合はいらない。

上のURLの通りコメントアウトしてみた。
そうすると入力チェックに引っかからず申請が出来た。

素晴らしい!


2013年12月27日金曜日

[Unity]GameCenterから現在の自分のランキングを取得

GameCenterのLeaderboardsから自分のランクを取得する方法が面倒だったのでメモ。

void Start() {

  Social.localUser.Authenticate (ProcessAuthentication);
}

void ProcessAuthentication (bool success) {
  if (success) {
    ILeaderboard leaderboard = Social.CreateLeaderboard();
    leaderboard.id = "hoge-ranking";
    leaderboard.LoadScores (result => {
      int rankNo = leaderboard.localUserScore.rank;
      Debug.Log(rankNo);
    }
}

これで取れる。

2013年8月7日水曜日

[Unity]FreezeRotation・FreezePosition

スクリプトでFreezeRotation・FreezePositionする方法が分かりづらかったからメモ。
設定はtransform.rigidbody.constraints に対してするんだけれど、
一度に設定しないといけないのがミソ。
以下サンプル。

【解除】
transform.rigidbody.constraints = RigidbodyConstraints.None;

【FreezeRotation】
transform.rigidbody.constraints = RigidbodyConstraints.FreezeRotation;

【FreezePosition】

transform.rigidbody.constraints = RigidbodyConstraints.FreezePosition;

【Z軸のFreezePositionとFreezeRotation同時】
transform.rigidbody.constraints = RigidbodyConstraints.FreezePositionZ | RigidbodyConstraints.FreezeRotation;

↑ or演算子を使って繋げる。

これにハマったった。

2013年8月6日火曜日

[Unity]animationのcallback中に自身のオブジェクトを消す

animationの中にfunctionを指定して、そのfunction中で自身のオブジェクトを
消そうとしたら、こんなエラーが出た。

Destroying GameObjects immediately is not permitted during physics trigger/contact or animation event callbacks. You must use Destroy instead.

タイトルをアニメーションさせて、アニメーション後はそのタイトル自体が不要になるから消したかったわけよ。

検索したらこんな記事が。
Destroying GameObjects immediately is not permitted during physics trigger/conta

Updateの中で消すようにして、それをフラグで制御して、Callback中でフラグを切り替えたらいいんじゃね?的な。

あ。そうねと思って実装したら解決した。( ´,_ゝ`)プッ

bool deleteFlg = false;
void Update() {
  if (deleteFlg) 
  Destroy(GameObject.Find("Title"));
}



2013年7月22日月曜日

[Unity]画面の中央にオブジェクトを移動

クリックしたら画面の中央にぐぐぐっとオブジェクトを持ってくる演出をしたかった。
あれこれ調べて頭が痛くなったけれど、突然ひらめいた!!
そういえば今作ってる奴、画面の中央=カメラのポジションだったわww

移動量も割り算すればなめらかねぇ〜〜。
以下をUpdateで回した。

mobeObj.transform.position += new Vector3(
(uiCamera.transform.position.x - mobeObj.transform.position.x) / 8, 
(uiCamera.transform.position.y - mobeObj.transform.position.y) / 8,

0);

2013年7月18日木曜日

[Unity]アニメーションの逆再生

Unityのアニメーション機能で、再生したアニメーションを逆再生させたかった。
面倒だったのでメモ。

【参考にした記事】
HELP!! Animation wont reverse.. - Unity Answers
http://answers.unity3d.com/questions/43915/help-animation-wont-reverse.html

つまり、
animation["hogehoge"].time で、アニメーション開始位置
animation["hogehoge"].speed で、アニメーション再生速度を指定できると。
んで、指定した後に、
animation.play("hogehoge");
で、その通りに再生される。

なので、逆再生にしたければ speed に - 1 を入れて再生すればおk。

注意点としては、一度アニメーションの開始位置と再生速度を指定すると
ずっと覚えてる点。
通常再生のつもりで呼び出しても、逆再生の設定をしていると逆再生のまま Playされる。

上のリンク先のように、通常再生?逆再生?で分岐させて使うといい。

2013年5月29日水曜日

[SVN]Subversionのコマンドで一括コミット・一括削除

Subversionのコミットを、コマンドでやろうとすると凄くいろんなことが面倒臭い。

WindowsならGUIソフト使えばいいんけど、Macには有料のばかりなので、コンソールからコマンドで叩いたほうが早いわけなん。
けど面倒臭い。

そもそも何でMacでSVNを使おうと思ったかというと、Unityをチーム開発したかったから。それについて注意点もあるんけど、それはどっかのサイトで調べるといいw

とりあえずメモっとく。

一括コミット・一括削除(Unity用) 

commit.sh
#!/bin/bash
svn st hoge/Assets/ | grep "^\?"|cut -d ' ' -f 8-|sed "s/^\(.*\)$/'\1'/g"|xargs svn add
svn st 
hoge/Assets/ | grep "^\!"|cut -d ' ' -f 8-|sed "s/^\(.*\)$/'\1'/g"|xargs svn rm
svn ci 
hoge/Assets/
svn st 
hoge/ProjectSettings | grep "^\?"|cut -d ' ' -f 8-|sed "s/^\(.*\)$/'\1'/g"|xargs svn add
svn st 
hoge/ProjectSettings | grep "^\!"|cut -d ' ' -f 8-|sed "s/^\(.*\)$/'\1'/g"|xargs svn rm
svn ci 
hoge/ProjectSettings
Unityでhogeプロジェクトをコミットしたかった訳だけど、コマンドで一括追加が面倒くさい。
そこで以下のサイトを参考にさせて頂いて、上のスクリプトを作ってみました。
Subversionでaddremove — ディノオープンラボラトリ

-f 7 を -f 8- に変更しました。
私の環境のMacだと、7だと文字が取れなかったんです。
使う人の環境によって調整しないといけないかもしれない。
8- にしたのは、8番目以降も文字がある場合があるんで。スペースのあるファイル名とか。
あと sed "s/^\(.*\)$/'\1'/g" も追加しました。
頭と後ろに ' を付けないと、スペースのあるファイル名のせいでコミットが成功しないんですよ。

んでもって、Unity用なのは、例えばhogeプロジェクトだと Assets と ProjectSettings だけコミットすればよくて、それ以外はコミットする必要はないらしい。
ということで、このコミットスクリプトを使えばUnityをMacで開発するときにSVN管理しやすいですよん。

わかりやすいコマンド一覧のサイト

バージョン管理ツールSubversionで使えるsvnコマンドのまとめ

SVNのドキュメント

Subversion によるバージョン管理

2013年5月21日火曜日

[Unity]scriptを無効にする

GameObjectに付けられた Script を、一時的に外したかった。
そこで調べたスクリプトで無効にする方法。

enable/disable specific components - Unity Answers

例えばC#で書くと、

gameObject.GetComponent<UIButton>().enabled = true;
こんな感じ。

2013年5月16日木曜日

[Unity]GameObjectの存在確認

GameObjectをどっかの処理で削除して、それがまだあるか?の存在確認方法。

if (GameObject.Find("cube") != null) {
  // exist
} else {
  // dead
}

[Unity]ピンチイン・ピンチアウト(ズームイン・ズームアウト)

Androidで2本指でそれやりたくて調べた。

こちらのサイトを参考にしました。
【Unity】Androidアプリ開発 備忘録④ Android ピンチイン・ピンチアウトで拡大・縮小(C#) | D-lagoon BLOG

で、私はカメラを「orthographic」で使っているのでちょっと改造。

23行目以降

Camera came = (Camera)transform.GetComponent("Camera");
float newSize = came.orthographicSize + transZ; 
if (0 < newSize && newSize <= 20) {
  came.orthographicSize += transZ;
}
これでオッケー(^ρ^)

2013年5月15日水曜日

[Unity]androidで横向きにビルド

Unityで開発したアプリをandroidに転送した時のメモ。
横向きアプリなのに縦に出よった。

横にしたいときはこうする。

BuildSetting → PlayerSetting → Resolution and Presentation → Default Orientation

縦向き → Portrait
横向き → Landscape Left


UnityでAndroidゲーム開発 : Nanashi-soft
こちらを参考にしました。