0

現時点では、キューブをヒットするとプレイヤーに追従するスクリプトがありますが、静止するとプレイヤーに重なります。私が望むのは、キューブの位置を常にプレーヤーの 5 ステップ後ろに設定できるようにすることです...どうすればよいでしょうか?

GameObject.Find("Cube2").transform.position = Vector3(0.5, 0.5, 0.5);

それは私がこれまでに試したことですが、キューブが消えるだけですか?

スクリプト全体:

       static var target : Transform; //the enemy's target
    var moveSpeed = 3; //move speed
    var rotationSpeed = 3; //speed of turning    
    var Player = GameObject.Find("Player").transform.position;
    var Cube2 = GameObject.Find("Cube2").transform.position;

    var myTransform : Transform; //current transform data of this enemy

    function Awake()
    {
    //myTransform = transform; //cache transform data for easy access/preformance
    }

    function Start()
    {
    //target = GameObject.FindWithTag("Player1").transform; //target the player

    }    
    //var distance = Vector3.Distance(Player.transform.position, Cube2.transform.position);
    //Debug.Log(distance);

    function Update () {



    Debug.Log(Player);

    //var distance = Vector3.Distance(Player.transform.position, Cube2.transform.position);
    //var distance = Vector3.Distance(player_distance, cube_distance);

//    if (distance > 5)
   // {

    if (target == GameObject.FindWithTag("Player").transform)
    {
    //rotate to look at the player
    GameObject.Find("Cube2").transform.position = Vector3(0.5, 0.5, 0.5);
    myTransform.rotation = Quaternion.Slerp(myTransform.rotation,
    Quaternion.LookRotation(target.position - myTransform.position), rotationSpeed*Time.deltaTime);

    //move towards the player
    myTransform.position += myTransform.forward * moveSpeed * Time.deltaTime;


    }
    //}


    }
4

1 に答える 1