Unity中人物靠近门时自动开门

您所在的位置:网站首页 颐和园导游词讲解日文版 Unity中人物靠近门时自动开门

Unity中人物靠近门时自动开门

2023-12-28 22:40| 来源: 网络整理| 查看: 265

感应门是很常见的一个功能,那么他是怎么实现的呢? 百度一下还是蛮多的,阿然这里还是记录一下加深一下记忆 建一个cube,命名为Door 随便拖拽一下就成门的形状了,我这里加了一个材质 但是大家都知道物体都是通过中心点进行旋转的,达不到我们所需的开门效果,那我们就建一个空物体DoorShaft 门轴 然后将Door拖进来作为他的子物体,选中两个物体DoorShaft 和Door然后设置为轴心

这个时候你旋转一下DoorShaft 就可以看到他已经是开关门的效果了,那人物靠近时自动开门是怎么实现的呢 再建立一个空物体DoorTrigger添加碰撞器 建两个脚本Door 和DoorTrigger分别挂载到DoorShaft 和 DoorTrigger上 脚本如下:

public class Door : MonoBehaviour { private Transform transform; // Start is called before the first frame update void Start() { transform = gameObject.GetComponent(); } public void OpenDoor() { transform.Rotate(Vector3.up, 90); } public void CloseDoor() { transform.Rotate(Vector3.up, -90); } } public class DoorTrigger : MonoBehaviour { private Door door; Connections conn = new Connections(); // Start is called before the first frame update void Start() { door = GameObject.Find("DoorShaft").GetComponent(); } // Update is called once per frame void Update() { } void OnTriggerEnter(Collider other) { door.OpenDoor(); } void OnTriggerExit(Collider other) { door.CloseDoor();[]() } }

然后给人物添加一个碰撞体和刚体 运行我们就可以看到当人物靠近门时门会自动打开,人物离开后门自动关闭的效果了



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3