unity3d 通过向量求目标位置
2013-07-29 12:49
232 查看
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);
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);
相关文章推荐
- unity3d 通过向量求目标位置
- 通过修改注册表来改变桌面的文件所的目标位置
- unity3D MiniMap等比例映射的实现(一) 通过Image做小地图背景,Player实时更新位置在小地图上
- unity3D学习【功能实现】之十二:指定时间移动到目标位置
- unity3D基础学习 通过判断鼠标点击的是否是目标物体,物体旋转,滑动滚轮缩放拉近视角
- 腾讯与新浪的通过IP地址获取当前地理位置(省份)的接口
- Unity3D截取界面任意位置生成图片并保存
- iOS学习之路--通过APP边学编写(一)确定APP的实现目标
- 借助第三方插件(有道)通过ip获取用户所在的地理位置
- unity3d中通过代码实现创建一堵墙的功能
- java事件机制之通过上下左右键来控制小球为位置的移动演示
- Android软键盘遮住界面解决办法:通过软键盘改变视图位置
- 通过GPS数据反向地理信息编码, 得到当前位置信息
- Android 通过network gps获取当前位置的location信息
- 使用 Apache Lucene 和 Solr 进行位置感知搜索——通过合并非结构化文本和空间数据改进搜索应用程序
- 低帧速下判断移动物体到达目标位置
- 通过indexOf()查找某个字符串位置
- Windows Azure真实案例:Glympse 位置分享解决方案提供商通过托管服务获得了生产力和敏捷性
- Unity3D里实现物体移动到目标点,并且摄像机跟着移动的简单方案
- 解决在Unity3D中通过Post向服务器提交请求,表单中带有中文导致的乱码问题!