Unity3D里实现物体移动到目标点,并且摄像机跟着移动的简单方案
2013-04-23 16:43
591 查看
初学Unity3D,老大给出个这样的题:当鼠标点击某个位置时,物体将会平滑的移动到此点,并且摄像机会跟随物体运动,自己的实现:。C#代码如下:
其中public Camera cam指定为Main Camera
其中public Camera cam指定为Main Camera
float speed = 1.0f; RaycastHit hit = new RaycastHit(); Vector3 velocity; Vector3 startPos; bool canMove = false; public Camera cam; // Use this for initialization void Start () { } // Update is called once per frame void Update () { if(Input.GetMouseButtonUp(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); if(Physics.Raycast(ray,out hit,100)) { if(null != hit.transform) { print("can move"); canMove = true; startPos = transform.position; velocity = hit.point - startPos; } } } if(canMove && null != hit.transform) { print("ready for move"); print(transform.position.ToString() + hit.point.ToString()); if((transform.position.x - hit.point.x >0.01 || (transform.position.x - hit.point.x < -0.01)) || (transform.position.y - hit.point.y > 0.01 || (transform.position.y - hit.point.y < -0.01))) { print("moving"); transform.Translate(velocity/velocity.magnitude * speed * Time.deltaTime); cam.transform.Translate(velocity/velocity.magnitude * speed * Time.deltaTime); cam.transform.LookAt(transform.position); }else { print("can not move"); canMove = false; } } }
相关文章推荐
- Unity3D里实现物体移动到目标点,并且摄像机跟着移动的简单方案
- Unity3D里实现物体移动到目标点,并且摄像机跟着移动的简单方案
- Unity3d 简单实现物体旋转缩放移动
- Unity3d实现Android滑动屏幕移动3D物体
- Unity3D 初涉门径之物体移动(W,A,S,D)实现
- Unity3d学习记录(一)摄像机跟随人物移动,并且注视人物
- 【Unity3D游戏开发学习笔记】(七)上帝之眼—第三人称摄像机的简单实现(跟随视角,自由视角)
- unity3D 实现NGUI物体朝鼠标点击位置移动
- unity3D学习【功能实现】之十二:指定时间移动到目标位置
- Unity3D中受键盘控制的物体的简单移动
- [Unity3D]简单的UGUI滑条控制物体移动
- 在Unity3D中实现点击地面物体移动到指定地点
- 007-实现Unity3d中触摸屏幕控制物体的移动 代码实现
- Unity简单利用屏幕坐标转换实现鼠标控制物体移动
- Unity3d StrangeIoC实现简单左右移动[EventDipatcher方式]
- 使用OpenCV实现简单的移动物体检测和追踪
- Unity3d 简单的按照路径移动物体!
- unity3d游戏物体跟着鼠标方向移动
- unity3d游戏物体跟着鼠标方向移动
- unity3d游戏物体跟着鼠标方向移动