使A物体慢慢地看向一个B物体
来源:互联网 发布:中国移动暂停数据流量 编辑:程序博客网 时间:2024/04/27 02:53
这是些常用的方法,希望没有侵犯他人版权
方法一:使用unity的一个内置函数Transform.LookAt选择;
方法二:用到Vector3.Cross来确定一个垂直于两向量所组成平面的向量;
void CameraRotateToLookAt(Transform target,float rotateSpeed) { //取得目标物体相对于相机的法向量 Vector3 normalize = Vector3.Cross(myCamera.transform.forward,target.transform.position-myCamera.transform.position); float angles = Vector3.Angle(myCamera.transform.position,target.transform.position); //以该法向量为轴进行旋转 //具体参阅[Transform.Rotate](http://game.ceeger.com/Script/Transform/Transform.Rotate.html) myCamera.transform.Rotate(normalize,Time.deltaTime*rotateSpeed,Space.Self); Debug.Log(angles); if(angles == 0) { rotateSpeed = 0; } }
方法三:四元数:
这个原理就是取得两个物体之间的相对法向量,然后相对该法向量进行旋转。不过还有一些其它办法可以实现,例如:
Quaternion rotation = Quaternion.LookRotation(target.position - transform.position);transform.rotation = Quaternion.Slerp(transform.rotation,rotation,damping*Time.deltaTime);
0 0
- 使A物体慢慢地看向一个B物体
- 物体
- 物体
- 怎样通过程序使一个物体运动到目标物体
- geant4的可视化、探测器几何设置易错处、OpenGLSXm配置(new 另外,当你把一个物体A放进物体B时)
- Unity里用最简单的办法实现一个物体一直看另一个物体
- htcvive 手柄抓取物体一个物体
- 为一个物体添加子物体
- 用unity3d做一个物体围绕另外一个物体旋转。
- unity之RotateAround 一个物体围绕另外一个物体旋转
- 如果使一个照相机包围一个被观察物体
- 一个移动物体的脚本
- 一个旋转物体的脚本
- D3D11 物体A绕特定物体旋转及ID3DXMatrixStack配置
- Unity3D 中物体向目标移动
- 物体向鼠标点击处移动
- [unity基础教程] Unity3D 一个物体在两个物体间移动
- 在一个父物体下面创建并及时销毁物体
- 双列集合Map简介
- 企业应用架构学习一
- 【BZOJ 2054】 疯狂的馒头
- poj 3233 矩阵快速幂
- Windows核心编程--线程的切换
- 使A物体慢慢地看向一个B物体
- Facebook数据中心实践分析,OCP主要工作成果介绍
- 欢迎使用CSDN-markdown编辑器
- URAL 1001. Reverse Root
- nyoj.114 某种序列【大数问题】 2015/03/09
- 关于c++中的取模运算
- MFC自绘控件学习总结
- Cocos2dx2.2.1中单选按钮的实现
- hadoop学习笔记--哪些场景不适合 哪些场景适合