👨💻个人主页:@元宇宙-秩沅
👨💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!
👨💻 本文由 秩沅 原创
👨💻 收录于专栏:unity每日一记
⭐🅰️推荐文章⭐
⭐【Unityc#专题篇】之c#系统化大礼包】
⭐【unity数据持久化】数据管理类_PlayerPrfs
⭐【unity本站最全系列】unity常用API大全一篇文章足以
⭐精华Transform类⭐
👨💻👍1.transform的位置信息
transform.position ----游戏物体trans组件的世界位置信息
transform.Rotation----游戏物体的四元旋转信息
transform.enlerAugle- —游戏物体的欧拉角的信息(也就是Inspactor面板中的Rotation信息)
transform.localposition/localRotion/localenleAugle--------表自身的自身信息
- 当前游戏物体的世界四元旋转值为——transform.rotation
- 当前游戏物体的自身大小为——transform.localScale
- 当前游戏物体的自身位置为——transform.localPosition
- 当前游戏物体的自身四元旋转位置——transform.localRotation
- 当前游戏物体的世界欧拉角为——transform.eulerAngles
- 当前游戏物体的自身欧拉角为——transform.localEulerAngles
👨💻👍2.游戏物体的自身方向和世界轴方向
针对自身:
==transform.forword ==----向前Z轴方向
transform.up------向上y轴方向
transform.right----向右x轴方向
针对世界:
vector.XX…
针对看向:
transform.LookAt(某个方向)——一直看向某个方向
transform.LookAt(某个物体)——一直看向某个物体
针对缩放
#region 知识点一 缩放
//相对世界坐标系
print(this.transform.lossyScale);
//相对本地坐标系(父对象)
print(this.transform.localScale);
距离运动相关
- 当前的位置 + 我要动多长距离 == 得出最终所在的位置
this.transform.position = this.transform.position + this.transform.up * 1 * Time.deltaTime;
- 始终会朝向相对于自己的面朝向去动
this.transform.position += this.transform.forward * 1 * Time.deltaTime;
- 相对于世界坐标系的 Z轴 动 始终是朝 世界坐标系 的 Z轴正方向移动
this.transform.Translate(Vector3.forward * 1 * Time.deltaTime, Space.World);
- 相对于世界坐标的 自己的面朝向去动 始终朝自己的面朝向移动
this.transform.Translate(this.transform.forward * 1 * Time.deltaTime, Space.World);
- 相对于自己的坐标系 下的 Z轴正方向移动 始终朝自己的面朝向移动
this.transform.Translate(Vector3.forward * 1 * Time.deltaTime, Space.Self);
👨💻👍 3.用transform组件来进行查找(包含索引查找)
-
被创造的游戏物体的世界坐标位置是——xx.transform.position
-
当前transform组件挂载的游戏物体对象的名字是——transform.name
-
当前transform组件挂载的游戏对象的子对象的数量——transform.childCount
-
查找当前游戏物体的子对象的trans组件名称为——transform.Find(“zz”)
-
查找当前游戏物体的第一个子对象——transform.GetChild(0));
-
查找该游戏物体在父类中子对象的索引位置"——transform.GetSiblingIndex()
获取对象位置信息
- 1.位置:this.transform.position
- 2.角度:this.transform.eulerAngles
- 3,缩放大小:this.transform.lossyScale
1.子对象的获取
- 1.transform.Getchild(序列号);
- 2.transform.GetsiblingIndex() -----获取同级索引(查找自已是父亲的第几个儿子)
- 3.transform.GetComponentInChildren< Transform>(序列号);
2.父对象的获取
- 1.transform.parent();
3.Project的资源获取–资源加载
- Resources.Load< GameObject>(“资源路径”)
👨💻👍1.常用使物体移动的方法
-
1,movetowords 和线性差值进行两点间的移动
-
2,transform.position (利用监听键盘进行实时的位置变化移动)
-
3,通过刚体进行单向移动(xx.MovePosition)
-
4,通过刚体的力进行牵引移动 xx.addForce( vector2.方向)
有两个参数的情况
xx.addForce( vector2.方向,ForceMode2D.force 或者 Impuse)
impuse是爆发的瞬时的,应用于爆炸情景
Force则是连续的,,相当于没有第二个参数
- 5,通过刚体速度进行移动 因为刚体速度是有大小和方向的
- 6,Transform.Translate(方向)/Transform.Translate(方向,世界轴/自身轴)
(物体朝某一个方向移动的方法)
方法 | 描述 |
---|---|
Transform.Translate(Vector2.left) | 世界坐标方向 |
Transform.Translate(transform.left) | 自身坐标方向 |
Transform.Translate(Vector2.left,Space.World) | 世界坐标方向 |
Transform.Translate(Vector2.left, Space.Self) | 自身坐标方向 |
Transform.Translate(transform.left ,Space.Self/World) | 自身坐标方向 |
transform组件让物体绕轴旋转(3D立体用好点)
- transform.rotate( new vector3( 0 , Y ,0) ); 按Y轴旋转
- transform.rotate( vector2.forword ,Space.Self/World) ; 按z轴旋转
相对于自己的坐标系旋转
-
this.transform.Rotate(new Vector3(0, 10, 0) * Time.deltaTime);
第一个参数 相当于 是旋转的角度 每一帧 第二个参数 默认不填 就是相对于自己坐标系 进行的旋转
-
this.transform.Rotate(new Vector3(0, 10, 0) * Time.deltaTime, Space.World);
相对于某个轴 转多少度
-
this.transform.Rotate(Vector3.right, 10 * Time.deltaTime);
-
this.transform.Rotate(Vector3.right, 10 * Time.deltaTime, Space.World);
参数一:是相对哪个轴进行转动 参数二:是转动的 角度 是多少 参数三:默认不填 就是相对于自己的坐标系 进行旋转
如果填 可以填写相对于 世界坐标系进行旋转
相对于某一个点转
-
this.transform.RotateAround(Vector3.zero, Vector3.right, 10 * Time.deltaTime);
参数一:相当于哪一个点 转圈圈 参数二:相对于那一个点的 哪一个轴转圈圈 参数三:转的度数 旋转速度 * 时间
⭐🅰️系统路线学习点击跳转⭐
⭐【Unityc#专题篇】之c#进阶篇】
⭐【Unityc#专题篇】之c#核心篇】
⭐【Unityc#专题篇】之c#基础篇】
⭐【Unity-c#专题篇】之c#入门篇】
⭐【Unityc#专题篇】—进阶章题单实践练习
⭐【Unityc#专题篇】—基础章题单实践练习
⭐【Unityc#专题篇】—核心章题单实践练习
你们的点赞👍 收藏⭐ 留言📝 关注✅是我持续创作,输出优质内容的最大动力!、文章来源:https://www.toymoban.com/news/detail-515263.html
文章来源地址https://www.toymoban.com/news/detail-515263.html
到了这里,关于【unity每日一记】transform类精华之珠的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!