C# を使用して Unity3d でゲームを開発するのを手伝っています。私たちは iPad 向けに開発しており、Unity の Apple プラグインを使用しています。私たちのゲームは、デバイス (iPad) の回転を使用するゲームプレイを特徴とする 2-D プラットフォーム ゲームです。キャラクターの動きには物理演算を使用しています。
ゲームは主にLandscape Rightでプレイされます。Screen.orientation = ScreenOrientation.LandscapeRight
などを使用して、デバイスの向きを簡単にLandscapeLeft
変更LandscapeRight
できPortrait
ますPortraitUpsideDown
。
Unity3d 内でシーンを実行しているときに、ランドスケープからポートレートに回転すると、キャラクターは世界 (彼女が立っているもの) を回転させるため落下しますが、彼女は同じ向き (物理学は同じまま) のままであり、落下の原因となります。これは、私たちが望む望ましい動作です。ただし、Xcode にビルドして iPad シミュレーター (バージョン 5.1) でゲームを実行し、世界が回転するようにデバイスを回転させると、ゲームが同じ向き (横向き) のままでデバイスが回転するだけです。iPad は縦向きですが、ゲームは横向きのままです。ScreenOrientation 以外にデバイス内で設定する必要がある変数はありますか? ゲームの状態をデバイスの向きと一致させるにはどうすればよいでしょうか?
簡単にまとめると、ゲームのデフォルトをランドスケープにしたいと考えています。縦向きに回転するとき、カメラとプレイヤーが一定のままで世界が回転するようにします。物理学はキャラクターの意味と結びついており、世界が回転すると、彼女は地面に立っていないため落下します. 現在、iPad を回転させると、デバイスの向きは変わりますが、ゲームの向きは変わりません。世界をローテーションでシフトさせたいのですが、キャラクターは一定のままです。Unity3d では動作しますが、Xcode iPad シミュレーターを使用すると正しく動作しません。どうやってこれを行うのですか?
ありがとうございました!
ケネス