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 结果图   

    时间若流水,恍惚间逝去
  • 相关阅读:
    js中new的本质
    js中真伪数组转换
    2 DC电参数测试 (1)
    1 开短路测试
    2月书单 《编码隐匿在计算机软硬件背后的语言》 21-25章
    2月书单 《编码隐匿在计算机软硬件背后的语言》 17-20章
    时间的掌控
    数码管的秘密
    会眨眼的小灯
    点亮一盏灯
  • 原文地址:https://www.cnblogs.com/alanshreck/p/13546434.html
Copyright © 2011-2022 走看看