UnityAPI.Transform变换(Yanlz+Unity+API+Transform+)

2023-10-29

UnityAPI.Transform变换

版本

作者

参与者

完成日期

备注

UnityAPI_Transform_V01_1.0

严立钻

 

2018.08.21

 

 

 

 

 

 

 

 

 

#《UnityAPI.Transform变换》发布说明:

++++“UnityAPI.Transform变换”是对UnityAPITransform类的剖析和拓展;

 

 

 

#Transform变换

#Transform变换

#Transform变换

++++A、Description描述

++++B、Variables变量

++++C、Public Function共有函数

++++D、Message消息

 

 

 

 

 

#A、Description描述

#A、Description描述

++A、Description描述

++++立钻哥哥:对象的位置、旋转和缩放

++++场景中的每一个对象都有一个Transform

--用于储存并操控物体的位置、旋转和缩放;

--每一个Transform可以有一个父级,允许分层次应用位置、旋转和缩放;

--可以在Hierarchy面板查看层次关系;

--他们也支持计数器(Enumerator),因此可以使用循环遍历子对象;

using UnityEngine;

using System.Collections;

 

public class MyTransformClass : MonoBehaviour{

    void MyExample(){

        foreach(Transform child in transform){

            child.position += Vector3.up * 10.0F;

        }

 

    }

 

}    //立钻哥哥:public class MyTransformClass:MonoBehaviour{}

 

namespace UnityEngine{

    public class Transform : Component, IEnumerable{

        ... ...

    }    //立钻哥哥:public class Transform:Component,IEnumerable{}

 

}    //立钻哥哥:namespace UnityEngine{}

 

 

 

 

 

 

 

 

#B、Variables变量

#B、Variables变量

++B、Variables变量

++++B.1、childCount 该变换的子对象数量

++++B.2、eulerAngles 此旋转作为欧拉角度

++++B.3、forward 向前

++++B.4、hasChanged 是否被改变

++++B.5、localEulerAngles 局部欧拉角

++++B.6、localPosition 相对于父级的变换的位置

++++B.7、localRotation 局部旋转

++++B.8、localScale 相对于父级变换的缩放

++++B.9、localToWorldMatrix 局部转世界矩阵

++++B.10、lossyScale 有损缩放

++++B.11、parent 该变换的父对象

++++B.12、position 在世界空间坐标transform的位置

++++B.13、right 向右

++++B.14、root 返回最高层级的变换

++++B.15、rotation 旋转角度

++++B.16、up 向上

++++B.17、worldToLocalMatrix 世界转局部矩阵

 

 

 

 

##B.1、childCount 该变换的子对象数量

##B.1、childCount 该变换的子对象数量

++B.1、childCount 该变换的子对象数量

++++立钻哥哥:Transform.childCount子对象数

int childCount;

 

++Description描述

++++立钻哥哥:该变换的子对象数量

using UnityEngine;

using System.Collections;

 

public class MyTransformClass : MonoBehaviour{

    void MyExample(){

        print(transform.childCount);

    }

 

}    //立钻哥哥:public class MyTransformClass:MonoBehaviour{}

 

 

 

 

 

##B.2、eulerAngles 此旋转作为欧拉角度

##B.2、eulerAngles 此旋转作为欧拉角度

++B.2、eulerAngles 此旋转作为欧拉角度

++++立钻哥哥:Transform.eulerAngles 欧拉角

Vector3 eulerAngles;

 

++Description描述

++++立钻哥哥:此旋转作为欧拉角度

++++x、y、z角代表z轴旋转z度,绕x轴旋转x度,绕y轴旋转y度(这个顺序);

++++仅使用这个变量读取和设置角度为绝对值;

--不要递增它们,当超过角度360度,它将错误;

--使用Transform.Rotate替代;

using UnityEngine;

using System.Collections;

 

public class MyTransformClass : MonoBehaviour{

    public float yRotation = 5.0F;

 

    void Update(){

        yRotation += Input.GetAxis(Horizontal);

        transform.eulerAngles = new Vector3(10, yRotation, 0);

    }

 

    void MyExample(){

        print(transform.eulerAngles.x);

        print(transform.eulerAngles.y);

        print(transform.eulerAngles.z);

    }

 

}    //立钻哥哥:public class MyTransformClass:MonoBehaviour{}

++++不要分别设置欧拉角其中一个轴(例如:eulerAngles.x=10;),因为这将导致偏移和不希望的旋转;

--当设置它们一个新的值时,要同时设置全部(transform.eulerAngles = new Vector3(10, 5.0f, 0););

--Unity从存储在transform.localRotation的旋转自动转换角度;

 

 

 

 

 

##B.3、forward 向前

##B.3、forward 向前

++B.3、forward 向前

++++立钻哥哥:Transform.forward 向前

Vector3 forward;

 

++Description描述

++++立钻哥哥:在世界空间坐标,变换的蓝色轴(也就是Z轴)

using UnityEngine;

using System.Collections;

 

public class MyTransformClass : MonoBehaviour{

    void MyExample(){

        rigidbody.velocity = transform.forward * 10;

    }

 

}    //立钻哥哥:public class MyTransformClass:MonoBeahaviour{}

 

using UnityEngine;

using System.Collections;

 

public class MyTransformClass : MonoBehaviour{

    public float angleBetween = 0.0F;

    public Transform target;

 

    void Update(){

        Vector3 targetDir = target.position - transform.position;

        angleBetween = Vector3.Angle(transform.forward, targetDir);

    }

 

}    //立钻哥哥:public class MyTransformClass:MonoBehaviour{}

 

 

 

 

 

##B.4、hasChanged 是否被改变

##B.4、hasChanged 是否被改变

++B.4、hasChanged 是否被改变

++++立钻哥哥:Transform.hasChanged 是否被改变

bool hasChanged;

 

++Description描述

++++立钻哥哥:此变换自从上次标识是否被设置为false了

++++对变换的任何改变会导致矩阵的重新计算:任意调节它的位置、旋转或缩放;

--请注意此操作,是否在设置此标识之前新旧的值不同,也将不会实际检查;

--因此,对于实例化,transform.position将总是设置此变换的hasChanged,无论是否有实际的变化;

using UnityEngine;

using System.Collections;

 

public class MyTransformClass : MonoBehaviour{

    void OnUpdate(){

        if(transform.hasChanged){

            print(立钻哥哥:The transform has changed!);

            transform.hasChanged = false;

        }

    }

 

}    //立钻哥哥:public class MyTransformClass:MonoBehaviour{}

 

 

 

 

 

##B.5、localEulerAngles 局部欧拉角

##B.5、localEulerAngles 局部欧拉角

++B.5、localEulerAngles 局部欧拉角

++++立钻哥哥:Transform.localEulerAngles 局部欧拉角

Vector3 localEulerAngles;

 

++Description描述

++++立钻哥哥:旋转作为欧拉角度,相对于父级的变换旋转

++++x、y、z角代表绕z轴旋转z度,绕x轴旋转x度,绕y轴旋转y度(这个顺序);

++++仅使用这个变量读取和设置角度为绝对值;

--不要递增它们,当超过角度360度,它将错误;

--使用Transform.Rotate替代;

using UnityEngine;

using System.Collections;

 

public class MyTransformClass : MonoBeahaviour{

    void MyExample(){

        print(transform.localEulerAngles.x);

        print(transform.localEulerAngles.y);

        print(transform.localEulerAngles.z);

    }

 

}    //立钻哥哥:public class MyTransformClass:MonoBehaviour{}

++++Unity从存储在transform.localrotation的旋转自动转换角度;

 

 

 

 

 

##B.6、localPosition 相对于父级的变换的位置

##B.6、localPosition 相对于父级的变换的位置

++B.6、localPosition 相对于父级的变换的位置

++++立钻哥哥:Transform.localPosition 局部位置

Vector3 localPosition;

 

++Description描述

++++立钻哥哥:现对于父级的变换的位置

++++如果该变换没有父级,那么等同于Transform.position;

using UnityEngine;

using System.Collections;

 

public class MyTransformClass : MonoBehaviour{

    void MyExample(){

        transform.localPosition = new Vector3(0, 0, 0);

        print(transform.localPosition.y);

    }

 

}    //立钻哥哥:public class MyTransformClass:MonoBehaviour{}

++++注意当计算世界的位置时,父级变换的世界旋转和缩放被应用到自身的位置;

--意思是说:Transform.position的1个单位是1个单位,Transform.localPositon的1个单位将由所有父级的缩放获得缩放,简单来说自身位置的1单位将受所有上级的缩放影响

 

 

 

 

 

##B.7、localRotation 局部旋转

##B.7、localRotation 局部旋转

++B.7、localRotation 局部旋转

++++立钻哥哥:Transform.localPosition 局部旋转

Quaternion localRotation;

 

++Description描述

++++立钻哥哥:该变换的旋转角度相当于父级变换的旋转角度

++++Unity作为四元数存旋转角度;

--要旋转一个物体,使用Transform.Rotate,使用Transform.localEulerAngles为设置作为欧拉角的旋转角度;

using UnityEngine;

using System.Collections;

 

public class MyTransformClass : MonoBehaviour{

    void MyExample(){

        transform.localRotation = Quaternion.identity;

    }

 

}    //立钻哥哥:public class MyTransformClass:MonoBehaviour{}

 

 

 

 

 

##B.8、localScale 相对于父级变换的缩放

##B.8、localScale 相对于父级变换的缩放

++B.8、localScale 相对于父级变换的缩放

++++立钻哥哥:Transform.localScale 局部缩放

Vector3 localScale;

 

++Description描述

++++立钻哥哥:相对于父级变换的缩放

using UnityEngine;

using System.Collections;

 

public class MyTransformClass : MonoBehaviour{

    void MyExample(){

        transform.localScale += new Vector3(0.1F, 0, 0);

    }

 

}    //立钻哥哥:public class MyTransformClass:MonoBehaviour{}

 

 

 

 

 

##B.9、localToWorldMatrix 局部转世界矩阵

##B.9、localToWorldMatrix 局部转世界矩阵

++B.9、localToWorldMatrix 局部转世界矩阵

++++立钻哥哥:Transform.localToWorldMatrix 局部转世界矩阵

Matrix4x4 localToWorldMatrix;

 

++Description描述

++++立钻哥哥:变换点的矩阵从局部坐标到世界坐标(只读)

++++如果不熟悉使用矩阵为坐标转换,使用Transform.TransformPoint代替;

++++重要:如果设置shader参数,必须使用Renderer.localToWorldMaxtrix替代;

 

 

 

 

 

##B.10、lossyScale 有损缩放

##B.10、lossyScale 有损缩放

++B.10、lossyScale 有损缩放

++++立钻哥哥:Transform.lossyScale 有损缩放

Vector3 lossyScale;

 

++Description描述

++++立钻哥哥:该对象的整体缩放(只读)

++++请注意:如果有一个带有缩放的父变换和有任意旋转的子变换,此缩放将有偏差;

--因此缩放不能正确的表示在3组件的向量,而是一个3x3矩阵;

--这样表示工作十分不方便,lossyScale是个和方便的属性,它尽量匹配实际世界缩放,如果物体不是有偏差的,这个值将是完全正确的,如果物体包含偏差,这个值也不会有很大的不同;

using UnityEngine;

using System.Collections;

 

public class MyTransformClass : MonoBehaviour{

    void MyExample(){

        print(transform.lossyScale);

    }

 

}    //立钻哥哥:public class MyTransformClass:MonoBehaviour{}

 

 

 

 

 

##B.11、parent 该变换的父对象

##B.11、parent 该变换的父对象

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

++立钻哥哥推荐的拓展学习链接(Link_Url)

++++立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz/

++++Unity5.x用户手册https://blog.csdn.net/VRunSoftYanlz/article/details/81712741

++++Unity面试题ABChttps://blog.csdn.net/vrunsoftyanlz/article/details/78630687

++++Unity面试题Dhttps://blog.csdn.net/VRunSoftYanlz/article/details/78630838

++++Unity面试题Ehttps://blog.csdn.net/vrunsoftyanlz/article/details/78630913

++++Unity面试题Fhttps://blog.csdn.net/VRunSoftYanlz/article/details/78630945

++++Unity知识点0001https://blog.csdn.net/vrunsoftyanlz/article/details/80302012

++++Unity知识点0008https://blog.csdn.net/VRunSoftYanlz/article/details/81153606

++++Unity引擎基础https://blog.csdn.net/vrunsoftyanlz/article/details/78881685

++++Unity面向组件开发https://blog.csdn.net/vrunsoftyanlz/article/details/78881752

++++Unity物理系统https://blog.csdn.net/vrunsoftyanlz/article/details/78881879

++++Unity2D平台开发https://blog.csdn.net/vrunsoftyanlz/article/details/78882034

++++UGUI基础https://blog.csdn.net/vrunsoftyanlz/article/details/78884693

++++UGUI进阶https://blog.csdn.net/vrunsoftyanlz/article/details/78884882

++++UGUI综合https://blog.csdn.net/vrunsoftyanlz/article/details/78885013

++++Unity动画系统基础https://blog.csdn.net/vrunsoftyanlz/article/details/78886068

++++Unity动画系统进阶https://blog.csdn.net/vrunsoftyanlz/article/details/78886198

++++Navigation导航系统https://blog.csdn.net/vrunsoftyanlz/article/details/78886281

++++Unity特效渲染https://blog.csdn.net/vrunsoftyanlz/article/details/78886403

++++Unity数据存储https://blog.csdn.net/vrunsoftyanlz/article/details/79251273

++++Unity中Sqlite数据库https://blog.csdn.net/vrunsoftyanlz/article/details/79254162

++++WWW类和协程https://blog.csdn.net/vrunsoftyanlz/article/details/79254559

++++Unity网络https://blog.csdn.net/vrunsoftyanlz/article/details/79254902

++++C#事件https://blog.csdn.net/vrunsoftyanlz/article/details/78631267

++++C#委托https://blog.csdn.net/vrunsoftyanlz/article/details/78631183

++++C#集合https://blog.csdn.net/vrunsoftyanlz/article/details/78631175

++++C#泛型https://blog.csdn.net/vrunsoftyanlz/article/details/78631141

++++C#接口https://blog.csdn.net/vrunsoftyanlz/article/details/78631122

++++C#静态类https://blog.csdn.net/vrunsoftyanlz/article/details/78630979

++++C#中System.String类https://blog.csdn.net/vrunsoftyanlz/article/details/78630945

++++C#数据类型https://blog.csdn.net/vrunsoftyanlz/article/details/78630913

++++Unity3D默认的快捷键https://blog.csdn.net/vrunsoftyanlz/article/details/78630838

++++游戏相关缩写https://blog.csdn.net/vrunsoftyanlz/article/details/78630687

++++设计模式简单整理https://blog.csdn.net/vrunsoftyanlz/article/details/79839641

++++专题:设计模式(精华篇)https://blog.csdn.net/VRunSoftYanlz/article/details/81322678

++++U3D小项目参考https://blog.csdn.net/vrunsoftyanlz/article/details/80141811

++++UML类图https://blog.csdn.net/vrunsoftyanlz/article/details/80289461

++++U3D_Shader编程(第一篇:快速入门篇)https://blog.csdn.net/vrunsoftyanlz/article/details/80372071

++++U3D_Shader编程(第二篇:基础夯实篇)https://blog.csdn.net/vrunsoftyanlz/article/details/80372628

++++框架知识点https://blog.csdn.net/VRunSoftYanlz/article/details/80862879

++++游戏框架(UI框架夯实篇)https://blog.csdn.net/vrunsoftyanlz/article/details/80781140

++++游戏框架(初探篇)https://blog.csdn.net/VRunSoftYanlz/article/details/80630325

++++Lua快速入门篇(基础概述)https://blog.csdn.net/VRunSoftYanlz/article/details/81041359

++++Lua快速入门篇(XLua教程):https://blog.csdn.net/VRunSoftYanlz/article/details/81141502

++++Lua快速入门篇(Xlua拓展):https://blog.csdn.net/VRunSoftYanlz/article/details/81173818

++++UnityAPI.Rigidbody刚体https://blog.csdn.net/VRunSoftYanlz/article/details/81784053

++++UnityAPI.Material材质https://blog.csdn.net/VRunSoftYanlz/article/details/81814303

++++UnityAPI.Android安卓https://blog.csdn.net/VRunSoftYanlz/article/details/81843193

++++UnityAPI.AndroidJNI安卓JNIhttps://blog.csdn.net/VRunSoftYanlz/article/details/81879345

++++UnityAPI.Transform变换https://blog.csdn.net/VRunSoftYanlz/article/details/81916293

++++立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz/

 

--_--VRunSoft:lovezuanzuan--_--

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UnityAPI.Transform变换(Yanlz+Unity+API+Transform+) 的相关文章

随机推荐

  • linux下Zlib的安装与使用

    1 zlib简介 zlib 适用于数据压缩的函式库 由Jean loup Gailly 负责compression 和 Mark Adler 负责decompression 开发 zlib被设计成一个免费的 通用的 法律上不受阻碍 即没有被
  • ARM编译Qt程序报错pinyin.cpp:1: error: stray ‘\357‘ in program

    ARM编译Qt程序报错pinyin cpp 1 error stray 357 in program 问题 Qt程序用gcc编译可以通过 用arm linux gcc编译文件的时候出现异常错误 pinyin cpp 1 error stra
  • 西瓜书学习笔记day2

    模型评估与选择 一 经验误差与过拟合 错误率 分类错误的样本数占样本总数的比例 在m个样本中共有a个样本分类错误 则错误率E a m 精度 1 a m 误差 学习器实际预测输入与样本的真实输出之间的差异定义为误差 在训练集中的误差被称为训练
  • 简单写一个随机在一个三维区域生成球的matlab函数

    1条消息 使用MATLAB在给定矩形区域随机绘制任意个不相交的圆 风一样的航哥的博客 CSDN博客 以上博客自从发表以来好几个同学都问我 三维的怎么实现 今天下班之后 就写一个 不知道是不是其他同学需要的 先上代码 function plo
  • Qt学习: QCloseEvent关闭事件的使用及代码示例

    QCloseEvent事件是指 当你鼠标点击窗口右上角的关闭按钮时 所触发的函数 如果你没有重写virtual closeEvent QCloseEvent event 这个虚函数的话 系统是默认接受关闭事件的 所以就会关闭窗体 但有的时候
  • ImportError: libcudart.so.10.0:cannot open shared object file: No such file or direct【mmdetection错误】

    问题 在使用mmdetection做训练的时候 出现错误 gt gt gt from mmdet apis import init detector Traceback most recent call last return bootst
  • 【IDEA】idea设置默认maven配置, 避免每次设置maven

    环境 IDEA 2018 2021 场景 每次导入新项目是 经常需要重新设置maven 非常麻烦 方案 idea设置默认maven配置 避免每次设置maven 方法 Step 1 打开Settings File gt Other Setti
  • cartographer 参数理解

    参考文章 cartographer参数调整 xjEzekiel 博客园 cartographer探秘第一章之安装编译与参数配置 李太白lx的博客 CSDN博客 cartographer 涉及到的参数需要增加删除或者修改尽量在velodyne
  • mysql connector net 5.0_mysql 数据库和net 的版本动态库搭配问题

    Connector NET 1 0 includes support for MySQL Server 4 0 4 1 and 5 0 features and full compatibility with the ADO NET dri
  • python实现弹球小游戏

    跟着趣味开发python一起实现的弹球小游戏 游戏运行效果 实现流程 1 创建游戏画布 创建ball类 2 增加几个动作 让小球移动 让小球来回反弹 改变小球的起始方向 3 加上球拍 使球拍左右移动 循环移动 4 增加输赢因素 对小球位置进
  • 运动补偿 & 运动估计

    运动补偿是一种描述相邻帧 相邻在这里表示在编码关系上相邻 在播放顺序上两帧未必相邻 差别的方法 具体来说是描述前面一帧 相邻在这里表示在编码关系上的前面 在播放顺序上未必在当前帧前面 的每个小块怎样移动到当前帧中的某个位置去 这种方法经常被
  • Effective Modern C++ Item 20 对于类似std::shared_ptr但有可能悬空的指针,使用std::weak_ptr

    如果需要某种智能指针能够像std shared ptr一样方便 但又无需参与管理所指涉到的对象的共享所有权的话 就很好适合用std weak ptr 但这样的功能同样会带来一个问题 这种指针需要处理一个对std shared ptr而言不是
  • softmax分类器_Softmax 理解

    Softmax深入理解 译 AIUAI www aiuai cn Pytorch的交叉熵nn CrossEntropyLoss在训练阶段 里面是内置了softmax操作的 因此只需要喂入原始的数据结果即可 不需要在之前再添加softmax层
  • OpenWrt-SDK-编译生成ipk软件包

    版本 Barrier Breaker 类型 brcm2708 下载SDK http downloads openwrt org barrier breaker 14 07 brcm2708 generic OpenWrt SDK brcm2
  • linux部署vue项目

    命令行进入配置文件 vi usr local nginx conf nginx conf 输入i进行修改端口号和文件路径 按ESC保存后输入 wq退出 进入sbin启动nginx cd usr local nginx sbin nginx
  • FMC164-基于JESD204B的4路1Gsps AD 4路1.25Gsps DA FMC子卡

    板卡介绍 FMC164子卡集成4通道1Gsps采样率 16位AD 4通道1 25Gsps 16位DA 板载时钟芯片HMC7044 可以提供JESD204B所需要的各种时钟 具有同步 触发功能 模拟信号采用SSMC射频连接器输入和输出 板卡可
  • es 修改mappings字段结构

    es不支持直接修改mappings字段结构 可以通过 reindex 重建索引 方式修改 POST reindex source index old index dest index new index op type create Ela
  • 记录:Qt Creator 10配置安卓开发环境

    Qt Creator 现在的安卓开发环境配置相比老版本方便了不少 本文以目前在线安装版的 Qt Creator 10 0 2 Qt 5 15 Qt 6 5 为例做演示 有些文件可能会因为网络问题需要科学上网才能下载 1 下载 JDK htt
  • 【css】css动画实现的3种方式

    css实现动画主要有3种方式 transition实现过渡动画 transform转变动画 animation实现自定义动画 一 transition过渡动画 1 语法 transition property duration timing
  • UnityAPI.Transform变换(Yanlz+Unity+API+Transform+)

    UnityAPI Transform变换 版本 作者 参与者 完成日期 备注 UnityAPI Transform V01 1 0 严立钻 2018 08 21 UnityAPI Transform变换 发布说明 UnityAPI Tran