Unity(TransForm)

#一、描述 此课程讲解TransForm的定义以及使用方法

#二、简介说明

TransForm是对游戏对象的移动,旋转,缩放做操作的,并且如果一个游戏对象他没有父布局的话,他的作用的坐标是世界坐标,如果他有父布局的话,他的坐标是相对于父布局的.

//获取游戏对象的世界坐标

Vector3 vector3 = transform.position;
复制代码

//获取游戏对象的相对坐标

Vector3 vector3 = transform.localPosition;
复制代码

都是对应着物体的朝向,前面,右边,上边,是用于判断当前的朝向,返回对应的数值

transform.forward
transform.right
transform.up
复制代码

//设置游戏对象的世界坐标

transform.position = Vector3.zero;
transform.position = new Vector3 (0f,0,0);
复制代码

//设置游戏对象的相对坐标

transform.localPosition = Vector3.zero;
复制代码

Note:所以总的来说,如果游戏对象有父容器,则应该设置相对坐标localPosition,没有的话,就直接用世界坐标position即可。

//获取游戏对象的缩放

Vector3 vector3 = transform.localScale;
复制代码

//设置游戏对象的缩放

transform.localScale = new Vector3 (2,2,2); 
复制代码

//设置游戏对象的移动,以自身的position为基础,进行增加减少

//Translate方法是在自身的坐标基础上移动,比如现在的坐标是1,0,0 ,你设置他移动-1,0,0则他会在之前的坐标基础上进行增加或者减少
transform.Translate(new Vector3(-1,0,0));
复制代码

//设置游戏对象的旋转,第一个参数为以什么方向作为轴进行旋转,第二个参数为旋转的角度,设置up或者down是左右进行旋转,left或者right是上下进行旋转,至于区别就是顺时针或者逆时针的区别了。

transform.Rotate (Vector3.right, 10f);
复制代码

//此方法也是设置旋转(欧拉角),不过只会执行一遍不会在原来的基础上进行变化

transform.eulerAngles = new Vector3(45,0,0);
复制代码

//获取父对象Transform属性以及获取root根对象的Transform属性

Transform transform = transform.parent; //此获取的Transform可以set/get
Transform transforms = transform.root; //获取的跟对象的Transform只能get
复制代码

//获取子对象的名称,find获取一个子对象的名称的transform,而FindChild的时候,如果有多个同名的子对象,则只取第一个,find可以查找到没有开启的子物体

transform.Find("自对象名称");
transform.FindChild("子对象名称");
复制代码

//此方法是根据子对象的索引来查找所有子对象中的某一个

transform.GetChild (i)
复制代码

设置这个物体在根目录下子物体集合中的第几个索引

transform .SetSiblingIndex
复制代码

设置物体成为另一个物体的子物体

GameObject game = GameObject.Find ("Sphere");
game.transform.parent = gameObject.transform;
复制代码

消除自身是根物体的方法,本来下面有多个子物体,调用此方法后,就解散了所有的子物体

transform.DetachChildren ();
复制代码

看向一个Transform的位置

public Transform target;
void Update() {
    	// Rotate the camera every frame so it keeps looking at the target 
        transform.LookAt(target);
}
复制代码

转载于:https://juejin.im/post/5b3ac949f265da62d8178a7d

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值