新手小白,想做一个进入门的触发范围内,门自动往右开的效果,但结果是触发后,门只往右边移动了一点点,请大神看看哪里有问题?
这是触发前门的位置
这是希望触发后门移动的位置
这是触发后实际移动的位置
public class Door : MonoBehaviour
{
private Transform D_transform;
private float speed = 2.0f;
Vector3 target;
void Start()
{
D_transform = gameObject.GetComponent<Transform>();
target = new Vector3(5.0f, transform.position.y, transform.position.z);
}
public void OpenDoor()
{
transform.position = Vector3.MoveTowards(transform.position, target, speed * Time.deltaTime);
}
}
这是Door的代码
public class DoorTrigger : MonoBehaviour
{
private Door D_door;
// Start is called before the first frame update
void Start()
{
D_door = GameObject.Find("menParent").GetComponent<Door>();
}
public void OnTriggerStay(Collider coll)
{
if(coll.gameObject.name== "FPSController")
{
D_door.OpenDoor();
}
}
public void OnTriggerExit(Collider coll)
{
if (coll.gameObject.name == "FPSController")
{
D_door.CloseDoor();
}
}
}
这是DoorTrigger的代码