Unity3D 物体旋转之Quaternion.Slerp
        
     
    
    
    
 	 
    
		clq
		
        浏览(562) - 
        2018-03-10 13:39:42 发表
        
编辑
         
        
        
        
        关键字: u3d
        
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);
        
        
        
		
		        
                
                        
   
     
	
	
     
	
    
    
     
    
    
    
    
 
    NEWBT官方QQ群1: 276678893
    可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
    但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
    验证问题说明申请入群原因即可.