zoukankan      html  css  js  c++  java
  • Unity基础—Transform类

    原文地址:https://blog.csdn.net/weixin_42446849/article/details/81669864

    一、成员变量

    position:在世界空间坐标transform的位置。
    localPosition:相对于父级的变换的位置。如果该变换没有父级,那么等同于Transform.position。
    eulerAngles:世界坐标系中的旋转(欧拉角)。
    localEulerAngles:相对于父级的变换旋转角度。
    right:世界坐标系中的右方向。(世界空间坐标变换的红色轴。也就是x轴。)
    up:世界坐标系中的上方向。(在世界空间坐标变换的绿色轴。也就是y轴。)
    forward:世界坐标系中的前方向。(在世界空间坐标变换的蓝色轴。也就是z轴。)
    rotation:世界坐标系中的旋转(四元数)。
    localRotation:相对于父级的变换旋转角度。
    localScale:相对于父级的缩放比例。
    parent:父对象Transform组件。
    worldToLocalMatrix:矩阵变换的点从世界坐标转为自身坐标(只读)。
    localToWorldMatrix:矩阵变换的点从自身坐标转为世界坐标(只读)。
    root:对象层级关系中的根对象的Transform组件。
    childCount:子对象数量。
    lossyScale:全局缩放比例(只读)。

    二、函数

    1)Translate,用来移动物体的函数,非常常用的一个函数。

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

    把物体向translation方向移动,距离为translation.magnitude。 relativeTo表示这个移动的参考坐标系。

    public void Translate (x : float, y : float, z : float, relativeTo : Space = Space.Self) : void

    同上

    public void Translate (translation : Vector3, relativeTo : Transform) : void

    如果relativeTo 不是null,则以目标物体relativeTo的自身轴向作为参考坐标系。

    public void Translate (x : float, y : float, z : float, relativeTo : Transform) : void

    同上

    脚本:

    var speed=30;

    //将物体以30米每秒的速度向前移动。

    trasform.Translate(Vector3.forward*speed*Time.deltaTime);

    2)Rotate,用来旋转物体的函数,非常常用,在知道需要旋转的角度的情况下。如果要让物体旋转到指定位置,需要搭配Quaternion来使用。

    public void Rotate (eulerAngles : Vector3, relativeTo : Space = Space.Self) : void

    旋转eulerAngles度(3个轴向分别旋转),以relativeTo为参考坐标系

    public void Rotate (xAngle : float, yAngle : float, zAngle : float, relativeTo : Space = Space.Self) : void

    同上

    public void Rotate (axis : Vector3, angle : float, relativeTo : Space = Space.Self) : void

    以axis为轴旋转angle度,以relativeTo为参考坐标系

    3)RotateAround 让物体以某一点为轴心成圆周运动。

    public void RotateAround (point : Vector3, axis : Vector3, angle : float) : void

    让物体以point为中心,绕axis为轴向旋转angle度。保持原来与point的距离。

    4)LookAt 让物体的z轴看向目标物体

    public void LookAt (target : Transform, worldUp : Vector3 = Vector3.up) : void

    让物体的z轴看向target的位置,并以worldUp为y轴指向方向。

    public void LookAt (worldPosition : Vector3, worldUp : Vector3 = Vector3.up) : void

    让物体看向worldPosition

    5)TransformDirection

    public Vector3 TransformDirection (direction : Vector3) : Vector3

    返回以物体自身为坐标轴的向量direction在世界坐标中的朝向向量。

    public Vector3 TransformDirection (x : float, y : float, z : float) : Vector3

    同上

    6)InverseTransformDirection

    public Vector3 InverseTransformDirectionTransformDirection (direction : Vector3) : Vector3

    public Vector3 InverseTransformDirectionTransformDirection (x : float, y : float, z : float) : Vector3

    与TransformDirection相反,从世界坐标转换到自身相对坐标。

    7)TransformPoint

    public Vector3 TransformPoint (position : Vector3) : Vector3

    public Vector3 TransformPoint (x : float, y : float, z : float) : Vector3

    把一个点从自身相对坐标转换到世界坐标

    8)InverseTransformPoint

    public Vector3  InverseTransformPoint (position : Vector3) : Vector3

    public Vector3  InverseTransformPoint (x : float, y : float, z : float) : Vector3

    把一个点从时间坐标转换到自身坐标的位置。

    9)DetachChildren

    public void DetachChildren () : void

    把自身所有的子物体的父物体都设成世界,也就是跟自己的所有子物体接触父子关系。

    10)Find

    public Transform Find (name : string) : Transform

    找到一个名字是name的物体并返回

    如果没有找到则返回null。如果字符串被/隔离,函数则会像文件路径一样逐级下查。

    // The magical rotating finger
    function Update() {
    aFinger = transform.Find("LeftShoulder/Arm/Hand/Finger");
    aFinger.Rotate(Time.deltaTime*20, 0, 0);
    }

    11)IsChildOf

    public bool IsChildOf (parent : Transform) : bool

    如果物体是parent的父子层级关系下的一员,返回true;

  • 相关阅读:
    使用adb命令报错:解决办法
    appium+python+unittest自动化测试
    HTML自动化测试报告
    彻底解决appium 自动化测试时总是自动安装appium android input manager for unicode的问题
    selenium+python获取文本内容
    jenkins+robotframework中的Rebots Results不显示报告内容的问题
    robotframework+appium使用时的思考
    selenium unittest框架的断言知识
    jenkins配置问题三----用例运行pass,但是测试结果显示failure
    小程序中target与currentTarget的取值问题
  • 原文地址:https://www.cnblogs.com/zhao907/p/14040979.html
Copyright © 2011-2022 走看看