Я пытаюсь запустить простой скрипт, чтобы получить объект для продвижения вперед в единстве.
Мой код:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MoveToHold : MonoBehaviour {
private float traveledDistance;
public int moveSpeed = 10;
private bool isMoving;
public GameObject Aircraft;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if (isMoving == true)
{
//Aircraft.transform.position += transform.forward * Time.deltaTime * moveSpeed;
Aircraft.transform.position += transform.forward * moveSpeed * Time.deltaTime;
}
}
public void move ()
{
isMoving = true;
Debug.Log(isMoving);
}
}
Насколько я вижу, преобразование должно работать.
Есть идеи?
Попробуйте изменить:
Aircraft.transform.position += transform.forward * moveSpeed * Time.deltaTime;
к:
Aircraft.transform.position += transform.right * moveSpeed * Time.deltaTime;
Иногда с единством2D передняя ось является Z, поэтому вы нажимаете ее внутри оси Z, которую вы не увидите. Правое перемещает его по оси x.
Я думаю, вам нужно применить свою позицию к объекту RigidBody, а не к самолету. Если я правильно догадался, это должен быть ваш самолет. Пытаться:
Aircraft.parent.transform.position += transform.forward * moveSpeed * Time.deltaTime;