登录 用户中心() [退出] 后台管理 注册
   
您的位置: 首页 >> SoftHub关联区 >> 主题: Unity3D 物体旋转之Quaternion.Slerp     [回主站]     [分站链接]
Unity3D 物体旋转之Quaternion.Slerp
clq
浏览(231) - 2018-03-10 13:39:42 发表 编辑

关键字: u3d

Unity3D 物体旋转之Quaternion.Slerp

Quaternion.Slerp 函数中要注意的是,第一个参数应该写要移动的物体的角度4元数,如果第1,2两个参数的位置对调的话是看不到动态平滑效果的。

    void Control_t5()
    {
        //Quaternion TargetRotation = Quaternion.LookRotation(target.transform.position - ship1.position, Vector3.up);
        //ship1.rotation = Quaternion.Slerp(ship1.rotation, TargetRotation, Time.deltaTime * 2.5f);

        //return;

        //TargetRotation = Quaternion.LookRotation(target.transform.position - transform.position, Vector3.up);
        //transform.rotation = Quaternion.Slerp(transform.rotation, TargetRotation, Time.deltaTime * 2.5f);

        //return;

        ship1.transform.rotation = Quaternion.Slerp(
            //Quaternion.LookRotation(Camera.main.transform.position - m_Name.transform.position),
            //Quaternion.LookRotation(Camera.main.transform.position - m_Name.transform.position, new Vector3(0, 0, 1)),
            //rotation,
            //m_Name.transform.rotation,
            //Quaternion.LookRotation(target.transform.position - ship1.transform.position),
            ship1.transform.rotation,
            Quaternion.LookRotation(target.transform.position - ship1.transform.position), //两个位置在前后是不一样的,原物体位置在前是最好的
             
            //还可以这样在最后的结果上再做调整,两个角度相乘就是角度叠加了
            //Quaternion.LookRotation(target.transform.position - ship1.transform.position) * Quaternion.Euler(new Vector3(90, 0, 0)), //欧拉角度转 Quaternion, //两个位置在前后是不一样的,原物体位置在前是最好的
            //10 * Time.deltaTime);
            2.5f * Time.deltaTime);//速度

        //transform.Rotate(0, 0, 90);//ok//不行,很抖动
    }

--------------------------------------------------
参考
http://blog.csdn.net/huang9012/article/details/25845249

Unity3D 物体旋转之Quaternion.Slerp
转载 2014年05月15日 01:11:22

实现的功能:1个物体以一定的速度转向目标物体

Quaternion TargetRotation = Quaternion.LookRotation(m_Target.transform.position - transform.position, Vector3.up);
 transform.rotation = Quaternion.Slerp(transform.rotation, TargetRotation, Time.deltaTime * 2.5f);



总数:0 页次:1/0 首页 尾页  
总数:0 页次:1/0 首页 尾页  


所在合集/目录



发表评论:
文本/html模式切换 插入图片 文本/html模式切换


附件:



NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.

Copyright © 2005-2020 clq, All Rights Reserved
版权所有
桂ICP备15002303号-1