2017-07-01 4 views
0

私はメインカメラのyポジション値を1つに増やしたいと思うシナリオがありますが、メインカメラに接続されたスクリプトのようにyポジション値を増やすようなものではありませんメインカメラを別のゲームオブジェクトから添付されたスクリプトで表示することができます。unity3dのmaincameraのYposition値を増やす方法

メインカメラオブジェクトに添付されたスクリプトによる増分Y位置の値については、次のようなコードを書くと思います。 Debug.Log(transform.position.y); transform.Translate(Vector3.up * 4、Space.World);

しかし、別のゲームオブジェクトから添付されたスクリプトによってメインカメラのy位置の値を増やすことになっています。

+0

にカメラのゲームオブジェクトをドロップあなたはカメラにアクセスすることができ、メインカメラでタグ付け'Camera.main.transform.position'を使って、' Camera.main.transform.Translate(Vector3.up * 4、Space.World); 'のようなものを書くでしょう。 – Maakep

答えて

0

は、スクリプトやドラッグ&を添付したゲームオブジェクトを選択し、その後、所望のゲームオブジェクトに次のスクリプトを添付Targetフィールド

using UnityEngine; 

public class MoveTarget : MonoBehaviour 
{ 
    // Drag & Drop the camera you want to move 
    public Transform Target ; 

    // Specify the movement you want to apply 
    public Vector3 movement = new Vector3(0, 4, 0) ; 

    private void Start() 
    { 
     // Automatically retrieve the Camera tagged "MainCamera" if no target specified 
     if(Target == null) 
      Target = Camera.main.GetComponent<Transform>(); 
    } 

    private void Update() 
    { 

     if(Target == null) 
      Debug.LogError("No target specified !"); 
     else 
      Target.Translate(movement * Time.deltaTime, Space.World) ; 
    }  
} 
関連する問題