• Unity3D脚印3——Transform 深圳


    Transform组件用于控制物体的位置,旋转和缩放,这里面涉及两个重点,一个是坐标系,这个包括局部坐标系和世界坐标系的关系,另外一个是父子节点,GameObject的父子节点关系是通过Transform组件来维护的。
     
    位置相关的:
     
    5个和位置相关的Vector3类型变量
    up 表示世界坐标的Y轴方向
    right 表示世界坐标的X轴方向
    forward 表示世界坐标的Z轴方向
    position 表示对象在世界坐标系中的位置
    localPosition 表示对象相对父节点变换的坐标位置
     
    void Translate(Vector3 translation, Space relativeTo = Space.Self);
    在relativeTo坐标系上,平移translation距离,Space有两个坐标系,Self表示本地坐标系,World表示世界坐标系
     
    PS.如果使用Vector3的up, right, forward,就是基于局部坐标系的移动
     
    旋转相关的:
     
    2个Vector3类型的变量
    eulerAngles 在世界坐标旋转作为欧拉角度
    localEulerAngles 相对父节点的欧拉角旋转
     
    2个Quaternion类型的变量
    rotation 在世界坐标系中的旋转角度,是一个Quaternion对象(四元数)
    localRotation 相对于父节点的旋转角度
     
    void Rotate(Vector3 eulerAngles, Space relativeTo = Space.Self) 应用一个欧拉角绕x,y,z轴旋转(根据x,y,z的顺序)
     
    void RotateAround(Vector3 point, Vector3 axis, float angle) 按照angle°在世界坐标的point上旋转物体
     
    void LookAt(Transform target, Vector3 worldUp = Vector3.up) 旋转物体使forward向量指向target的位置
     
    缩放相关的:
     
    1个Vector3类型的变量
    localScale 相对于父节点的缩放
     
    父子节点相关的:
     
    parent 变量表示Transform的父节点
     
    root 表示它的根节点,如果没有父节点,它会返回自己
     
    Transform Find(string name) 根据名字查找子节点
     
    bool IsChildOf(Transform node) 判断该Transform是否某Transform的子节点
     
    void DetachChildren() 解除所有子节点的父子关系
     
    坐标系的转换:
     
    TransformDirection 将一个方向从局部坐标系转换到世界坐标系
    InverseTransformDirection 将一个方向从世界坐标系转换到局部坐标系
     
    TransformPoint 将一个点从局部坐标系转换到世界坐标系
    InverseTransformPoint 将一个点从世界坐标系转换到局部坐标系
     
    先记录到这里吧,感觉应该还有点什么的...
     
  • 相关阅读:
    如何改计算机用户名
    解决windows弹出'你可能是盗版软件的受害者...'及去除自动更新图标
    关于复制文件出现“Thumbs:访问被拒绝......”的解决办法和相关知识
    <百度分享平台>透明FLASH模块的方法
    绝对性解决打开我的电脑打开文件夹在新窗口中打开问题
    Git忽略规则(.gitignore配置)不生效原因和解决
    汇编学习笔记18
    汇编学习笔记21
    汇编学习笔记16
    汇编学习笔记22
  • 原文地址:https://www.cnblogs.com/ybgame/p/2822416.html
Copyright © 2020-2023  润新知