您的位置:首页 > 移动开发 > Unity3D

unity3d 通过向量求目标位置

2013-11-08 05:05 323 查看
1.坐标点转为屏幕中的点

var scp:Vector3=Camera.main.WordToScreenPoint(transform.position);

2.屏幕中的点转为世界坐标点

var lastKnowPosition = camera.mian.ScreenToWorldPoint(new Vector3(Input.mousePosition.x,Input.mousePosition.y,scp.z));

3.向量坐标相减 得到鼠标点中的屏幕到物体的方向向量

var direction:Vector3=transform.position-lastKnowPosition;

4.点中位置到物体的距离*单位化方向向量值 +物体原有的位置 =物体现有位置

direction.Normalize();

var magnitude:float=Mathf.Min(Vector3.Distance(transform.position,lastKnowPosition),2.5f);

transform.position=transform.position+(-direction*magnitude);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐