zoukankan      html  css  js  c++  java
  • Unity中的物体移动

    (1)

            直接改变物体的位置。

            例子:transform. position=transform. position+某一三维向量(Vector3)

    (2)

           public void Translate(Vector3 translation); 

           物体在对应的坐标系中,向参数的方向移动,每一帧移动参数大小 

           参数:translation类型为三维向量,指定物体移动的方向和移动的距离,等同物体每一帧移动到物体当前位置+参数

           public void Translate(Vector3 translation, Space relativeTo = Space.Self);

           参数: relativeTo类型为Space,Space. World使用世界坐标系,Space. Self使用本地坐标系。

           public void Translate(Vector3 translation, Transform relativeTo);

           相对于某一物体移动,也就说以某一物体的本地坐标系移动

           参数:relativeTo类型为Transform

    (3)

            public static Vector3 MoveTowards(Vector3 current, Vector3 target, float maxDistanceDelta);

            当前点移动到目标点,方向为目标点减去当前点,每一次物体移动maxDistanceDelta。

            参数:current当前值 target目标值

    maxDistanceDelta 每次移动的最大距离 

    (4)

            public static Vector3 Lerp(Vector3 a, Vector3 b, float t);

           参数为坐标点,没有方向。

           将物体位置作为参a,目标点作为参数b,返回值给物体的位置。每一帧物体的位置改变,直到接近目标点

           返回的值等于a+(b-a)* t。 当t = 0时返回a。 当t = 1时返回b。 当t = 0.5时,返回a和b之间的中间点。t在0到1。

    (5)

            public void MovePosition(Vector3 position);

           刚体移动到参数位置。如果刚体的isKinematic设置为false,则其作用类似于transform.position = newPosition(而不是执行平滑过渡)。

  • 相关阅读:
    c++ STL中的vector与list为什么没有提供find操作?
    转发:CAOZ星球提问。 遇到很大瓶颈,想离职又不敢离职怎么办
    转发 :caoz:数据分析这点事
    那些绕不开的Linux
    记录 《 Bootstrap 基础教程》 学习笔记 第一天
    迈出你的第一步——天助自助者
    this指向问题
    小结
    前端小白的福利
    真实案例分享
  • 原文地址:https://www.cnblogs.com/unitywyb/p/12763012.html
Copyright © 2011-2022 走看看