zoukankan      html  css  js  c++  java
  • [Unity3D] 如何实现注视旋转

     1 public class MonsterMove : MonoBehaviour {
     2     private float rotateSpeed = 1.0f;
     3     public Transform t;
     4     private float MoveSpeed = 1.0f;
     5 
     6 
     7 
     8     //当进入触发器时执行
     9     void OnTriggerEnter(Collider c) {
    10 
    11         
    12 
    13     }
    14 
    15     /*当碰撞体与触发器接触时每帧执行
    16     //写在OnTriggerStay是为了持续注视,只要在触发器范围内
    17     //注意t是上边写的公开组件变量,将要旋转的对象物体拖入即可
    18     当然你也可以通过find查找名称获取对象*/
    19     private void OnTriggerStay(Collider c) {
    20 
    21         //1获取注视者到被注视者之间的向量长度
    22         Vector3 v = c.transform.position - t.transform.position;
    23         //2使用四元数的注视旋转方法注视v返回值
    24         Quaternion rotation = Quaternion.LookRotation(v);
    25         //3将目标位置赋值给注视者
    26         t.transform.rotation = rotation;
    27 
    28         //当然也可以简写为
    29         t.transform.rotation =             
    30        Quaternion.LookRotation(c.transform.position - 
    31        t.transform.position);
    32     }
    33 
    34 
    35     //当停止触发时执行
    36     private void OnTriggerExit(Collider c) {
    37           t.transform.rotation =   t.transform.rotation;
    38     }
    39 
    40 
    41 }
     附gif 结果图   

    时间若流水,恍惚间逝去
  • 相关阅读:
    模拟退火
    斜率优化DP
    LuoguP2292 L语言
    百度云真是地址解析,满速下载
    Android开发之Activity横竖屏切换生命周期重建问题
    Android开发之延时执行
    Android开发之import org.apache.http
    Android Studio快捷键
    Android开发之应用程序的安装
    Activity去Title的几种方式
  • 原文地址:https://www.cnblogs.com/alanshreck/p/13546434.html
Copyright © 2011-2022 走看看