スクリプト中でシーンを変えたいところにApplication.LoadLevel("シーン名");
ってするだけ。
メニューバーのFile->Build Settings (ctrl+shift+B)を開いて
Scenes in list にシーン追加しておかないと、エラーでます。
プロジェクトからシーンをドラッグアンドドロップすればいい。
2011年3月26日土曜日
2011年3月24日木曜日
動画再生(UnityProのみ)
動画ファイルインポートして、ゲームオブジェクト(Planeとか)に追加する。
スクリプトで
MovieTexture mov = (MovieTexture)renderer.materials.mainTexture;
mov.Play();
のように一度テクスチャをキャストしてあげれば無事再生できる。
オーディオクリップが別になってるので、プロジェクトペインから忘れず追加する。
スクリプトで
MovieTexture mov = (MovieTexture)renderer.materials.mainTexture;
mov.Play();
のように一度テクスチャをキャストしてあげれば無事再生できる。
オーディオクリップが別になってるので、プロジェクトペインから忘れず追加する。
2011年3月23日水曜日
右ジョイスティック設定
360の右ジョイスティックの値は、ProjectSettings->Inputインスペクタの
Axes->Sizeを増やして、適当な名前(Horizontal2とかVertical2)つけてあげる。
階層の他の項目はHorizontalを参考にする
Horizontal2->Axisの値を4th axis とVertical2->Axis 5th axisに設定すると
スクリプトからInput.GetAxis("Horizontal2")で値が取得できる。
Axes->Sizeを増やして、適当な名前(Horizontal2とかVertical2)つけてあげる。
階層の他の項目はHorizontalを参考にする
Horizontal2->Axisの値を4th axis とVertical2->Axis 5th axisに設定すると
スクリプトからInput.GetAxis("Horizontal2")で値が取得できる。
2011年3月22日火曜日
コライダに関するメモ2
ChaacterControllerとColliderの衝突判定だと
CharacterController付きゲームオブジェクトのOnControllerColliderHit側だけしか判定できない?
CharacterController付きゲームオブジェクトAとBoxCollider付きゲームオブジェクトBで
BにOnCollisionEnterを書いても反応せず。
リファレンスを読んでみると、CharacterControllerについては記述見当たらない。
http://unity3d.com/support/documentation/ScriptReference/Collider.OnCollisionEnter.html?from=Collision
OnControllerColliderHit(ControllerColliderHit hit)内で
Aと衝突するオブジェクトBをタグ付けて、分岐させたのち
hit.collider.gameObject.GetComponent<T>().Hoge();
でBの衝突メソッドを呼び出して解決してみた。
CharacterController付きゲームオブジェクトのOnControllerColliderHit側だけしか判定できない?
CharacterController付きゲームオブジェクトAとBoxCollider付きゲームオブジェクトBで
BにOnCollisionEnterを書いても反応せず。
リファレンスを読んでみると、CharacterControllerについては記述見当たらない。
http://unity3d.com/support/documentation/ScriptReference/Collider.OnCollisionEnter.html?from=Collision
OnControllerColliderHit(ControllerColliderHit hit)内で
Aと衝突するオブジェクトBをタグ付けて、分岐させたのち
hit.collider.gameObject.GetComponent<T>().Hoge();
でBの衝突メソッドを呼び出して解決してみた。
コリジョンの状態
CharacterController.Moveの返り値CollisionFlagsで
CollidedAbove
CollidedSides
CollidedBelow
CollidedNone
if(collisionFlags & CollisionFlags.CollidedAbove)
if(collisionFlags == CollisionFlags.CollidedAbove)
で上、下、横のどこで衝突しているか判定できる
CollidedAbove
CollidedSides
CollidedBelow
CollidedNone
if(collisionFlags & CollisionFlags.CollidedAbove)
if(collisionFlags == CollisionFlags.CollidedAbove)
で上、下、横のどこで衝突しているか判定できる
2011年3月21日月曜日
インスペクタにメンバのクラスを表示する方法
クラスの属性に
[System.Serializable]
public class XXX{
}
とつけるとインスペクタにクラス内クラスのメンバが表示された。
引用元
http://d.hatena.ne.jp/nyakagawan/20100523/1274626612
[System.Serializable]
public class XXX{
}
とつけるとインスペクタにクラス内クラスのメンバが表示された。
引用元
http://d.hatena.ne.jp/nyakagawan/20100523/1274626612
スクリプトリファレンス
本家スクリプトリファレンス英語
http://unity3d.com/support/documentation/ScriptReference/index.html
崇城大学の和訳。途中まで
http://www.cis.sojo-u.ac.jp/~izumi/Unity_Documentation_jp/Documentation/ScriptReference/index.html
C#の例が見たい場合は本家を見る。
和訳はjsだけっぽい。
http://unity3d.com/support/documentation/ScriptReference/index.html
崇城大学の和訳。途中まで
http://www.cis.sojo-u.ac.jp/~izumi/Unity_Documentation_jp/Documentation/ScriptReference/index.html
C#の例が見たい場合は本家を見る。
和訳はjsだけっぽい。
コライダに関するメモ1
コライダ-衝突判定をやってもらうには、ゲームオブジェクトに
動くオブジェクトAにリジッドボディorキャラクターコントローラとコライダを追加
動かないオブジェクトBにコライダを追加
する。OnCollisionEnter、Stay,Exitのイベントが呼び出される。
挙動はPhysXで動いてくれる。
動くオブジェクトAにリジッドボディorキャラクターコントローラとコライダを追加
動かないオブジェクトBにコライダを追加
する。OnCollisionEnter、Stay,Exitのイベントが呼び出される。
挙動はPhysXで動いてくれる。
登録:
投稿 (Atom)