照相机根据触摸围绕目标旋转
2017-04-11 12:26
211 查看
Transform m_Rounder = Camera.main.transform; Transform m_Center = m_TargetXingqiu.transform; //当前触摸的坐标与上一个触摸坐标的偏移量 Vector2 offsetPos = m_TouchCurPos - m_TouchPrePos; //围绕半径 float radius = (m_Rounder.position - m_Center.position).magnitude; //相机到目标的向量 Vector3 camRelativeToTarget = Vector3.Normalize(m_Rounder.position - m_Center.position); //触摸为照相机坐标,将此坐标转为世界坐标 Vector3 touchCurWorldPos = m_Rounder.localToWorldMatrix.MultiplyPoint(new Vector3(m_TouchCurPos.x, m_TouchCurPos.y, 0f)); Vector3 touchPreWorldPos = m_Rounder.localToWorldMatrix.MultiplyPoint(new Vector3(m_TouchPrePos.x, m_TouchPrePos.y, 0f)); //触摸方向向量转世界向量 Vector3 touchVec = touchCurWorldPos - touchPreWorldPos; //围绕的旋转轴 Vector3 roundAxis = Vector3.Cross(touchVec, camRelativeToTarget); m_Rounder.RotateAround (m_Center.position, Vector3.Normalize(roundAxis), roundAxis.magnitude*0.1f);
相关文章推荐
- 相机围绕目标旋转
- Unity之一天一个技术点(十三)---以指定对象为中心,根据鼠标位置旋转照相机
- 控制摄像机围绕目标旋转观察
- 根据触摸点将精灵旋转一定角度
- unity ugui实现根据滑动目标旋转SpinWithDrag
- css3围绕圆形旋转思路
- 一些有关Android图片的操作,判断方向,旋转,根据uri获取绝对路径,缩放与移动
- data augmentation for object detecting目标检测xml文件扩增(旋转实现)
- 摄像机围绕0.0.0点旋转并显示FPS值
- 根据旋转前后的向量值求旋转矩阵
- 高德地图中根据两点实现旋转图片的方法
- 文字围绕鼠标旋转并移动(滚轮控制半径)--鼠标事件
- 小圆围绕大圆360度旋转的2种方法
- 动画效果,几张图片围绕一点旋转
- Android 根据角度旋转图片
- Unity实现缓慢的LookAt (缓慢旋转对着目标)
- 怎么根据经维度计算两点之间的距离,怎么根据经纬度与距离计算目标地点的经纬度
- 基于RecyclerView实现的仿微信聊天界面,item长按根据触摸位置弹出对话框
- 在Unity中通过触摸屏幕实现模型的旋转和缩放
- (转)android 围绕中心旋转动画