UNITYでsphereに天球動画を貼り付けジャイロでぐりぐりしています。
sphereオブジェクトをプレハブにしてInstantiateすると
端末を胸と平行に持って(横持ち)横を向くと正面になります。
たまに後ろを向くと正面になることがあります。
プレハブ自体は vector3(0,0,0)になっているのですが、
なぜこのような状況になるのかわかりません。
_sphere = Instantiate (_spherePref,this.transform.position, _spherePref.transform.rotation) as GameObject; _sphere.name = _spherePref.name;
追記事項
メインカメラに下記のスクリプトをアタッチしています。
using
1using System.Collections; 2 3public class gyro : MonoBehaviour { 4 5 // 自信のTransform, 毎フレーム参照すると無駄なので保持する 6 Transform m_transform; 7 8 // 調整値 9 readonly Quaternion _BASE_ROTATION = Quaternion.Euler(90, 0, 0); 10 11 void Start() 12 { 13 // サポートするかの確認 14 if (!SystemInfo.supportsGyroscope || UnityEngine.VR.VRSettings.enabled) 15 { 16 Debug.Log ("未サポート"); 17 Destroy( this ); 18 return; 19 } 20 21 Input.gyro.enabled = true; 22 if (Input.gyro.enabled) 23 { 24 Quaternion gyro = Input.gyro.attitude; 25 this.transform.localRotation = Quaternion.Euler(0, 0, 0) * (new Quaternion(-gyro.x,-gyro.y, gyro.z, gyro.w)); 26 } 27 28 m_transform = transform; 29 30 } 31 32 void Update() 33 { 34 Quaternion gyro = Input.gyro.attitude; 35 m_transform.localRotation = _BASE_ROTATION * (new Quaternion(-gyro.x, -gyro.y, gyro.z, gyro.w)); 36 } 37 38} 39
その辺りに大きな問題は無いと思われます。
問題はジャイロを制御してカメラを回転させている部分ですので、そのあたりのコードを付けていただけると皆さん回答しやすくなると思います。

回答1件
あなたの回答
tips
プレビュー