unity基础(GameObject transform)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity基础(GameObject transform)相关的知识,希望对你有一定的参考价值。
参考技术A GameObject是unity所有实体的基类常用的函数
1.GameObject.Find(“Cube”);
可以查找并获取一个指定的name为Cube的对象。然后进行其他操作。
2.GameObject.FindWithTag(“_cube");
和Find函数相似,不同之处在于该方法是通过标签(tag)值查找
3.GameObject.SetActive(true);
激活/停用此游戏对象(如下图1.1所示打钩(true)的时候该游戏对象就属于激活状态,去掉打钩(false)就属于停用状态即游戏对象也就不会显示在你的视野内)
4.GameObject.GetComponent
获取组件:如果这个游戏对象附件了一个type名称类型的组件,则返回该组件,否则为空。
hinge=gameObject.GetComponent("HingeJoint")asHingeJoint;
hinge.useSpring=false;
是一个每个对象都用的组件,用于储存并操控物体的位置、旋转和缩放。(每一个Transform可以有一个父级,允许你分层次应用位置、旋转和缩放。可以在Hierarchy面板查看层次关系。他们也支持计数器(enumerator),因此你可以使用循环遍历子对象。)
1.transform.Find
是通过名字查找到子对象并返回他。
2.Transform.Translate 平移
向莫一个方向进行移动多少的距离
移动变换由x沿着x轴,y沿着y轴,z沿着z轴
transform.Translate(0,0, Time.deltaTime);
transform.Translate(0, Time.deltaTime,0, Space.World);
3.Transform.parent
通过该方法可以找到父对象,然后可以进行对父对象操作(如改变父对象名字)
_child.gameObject.transform.parent.gameObject.name = "ParentBox";
4.Transform.root
返回最根部父类进行操作
string name=_child.gameObject.transform.root.gameObject.name;
Debug.Log(name);
5.Transform.position
在世界坐标系中transform的·位置
6.Transform.rotation
Unity以四元数储存旋转角度。要旋转一个对象使用Transform.Rotate,使用Transform.eulerAngles以欧拉角设置旋转角度。
7.Transform.localScale
相对于父级对象进行缩放(局部缩放)
transform.localScale = new Vector3(0.5f,0.5f, 0.5f);
(为=时是对该物体进行缩小到后面参数的大小,+=时是对该物体进行放大)
8.Transform.forward
向前在世界空间坐标,变换的蓝色轴。也就是z轴。
在世界空间坐标,变换的蓝色轴。也就是z轴。
unity获取游戏物体
今天试着总结一下获取游戏物体的方法,但是使用transform.find时报错说没有实例对象
NullReferenceException: Object reference not set to an instance of an object
NewBehaviourScript.Start () (at Assets/prefabs/NewBehaviourScript.cs:14)
脚本如下:
GameObject a = GameObject.Find("my");
GameObject b = a.transform.Find("cube1").gameObject; (这行报错)
Destroy(b);
层级如下:
my
cube1
请问这个是什么原因?我觉得不应该有问题才对
或者GameObject b = a.transform.FindChild("cube1");
如有疑问继续追问。本回答被提问者和网友采纳
以上是关于unity基础(GameObject transform)的主要内容,如果未能解决你的问题,请参考以下文章