蓝色的艹|黑色的T
欢迎来到我的博客,这里有你更精彩。
Unity GameObject
Unity里关于GameObject组件的介绍,不足或错误请联系博主及时更改,谢谢。
GameObject 游戏对象
GameObject是unity所有实体的基类 gameObject 获取当前脚本所挂载的游戏对象 一般来说,在属性视图中能看到或修改的属性,我们同样可以在脚本中获取并修改 gameObject属性如: name tag gameObject.activeSelf 获取当前游戏对象的激活状态 bool类型 gameObject.SetActive 设置游戏对象的激活状态 GameObject.SetActive(true); 激活/停用此游戏对象(如下图所示打钩(true)的时候该游戏对象就属于激活状态,去掉打钩(false)就属于停用状态即游戏对象也就不会显示在你的视野内)
常用的函数
GameObject.GetComponent |
获取组件: 如果这个游戏对象附件了一个type名称类型的组件, 则返回该组件,否则为空。 |
获取游戏对象身上的组件: hinge=gameObject.GetComponent("HingeJoint")asHingeJoint; hinge.useSpring=false |
给游戏对象添加指定类型的组件: |
Light l = game.AddComponent<Light>(); |
通过tag值查找游戏对象: |
GameObject.FindWithTag(“_cube"); 和Find函数相似,不同之处在于该方法是通过标签(tag)值查找 |
GameObject g = GameObject.FindGameObjectWithTag(“TagName”); GameObject gg = GameObject.FindWithTag(“TagName”); |
通过游戏对象名查找游戏对象: |
GameObject.Find(“Cube”); 可以查找并获取一个指定的name为Cube的对象。然后进行其他操作。 |
GameObject g = GameObject.Find(“Object Name”): g.name = “改名”; |
通过Tag值查找多个游戏对象: |
GameObject [] gs = GameObject.FindGameObjectWithTag(“Object Name”); |
销毁游戏对象 可加参数2:延迟时间(s)后销毁: |
GameObject.Destroy(gameObject,2f); |
transform 组件
每个对象都用的组件,用于储存并操控物体的位置、旋转和缩放。 (每一个Transform可以有一个父级,允许你分层次应用位置、旋转和缩放。可以在Hierarchy面板查看层次关系。他们也支持计数器(enumerator),因此你可以使用循环遍历子对象。)
Transform.Find |
是通过名字查找到子对象并返回他。 |
Transform.Translate |
平移,向莫一个方向进行移动多少的距离;移动变换由x沿着x轴,y沿着y轴,z沿着z轴 transform.Translate(0,0, Time.deltaTime); transform.Translate(0, Time.deltaTime,0, Space.World); |
Transform.parent |
通过该方法可以找到父对象,然后可以进行对父对象操作(如改变父对象名字) _child.gameObject.transform.parent.gameObject.name = "ParentBox"; |
Transform.root |
返回最根部父类进行操作 string name=_child.gameObject.transform.root.gameObject.name; Debug.Log(name); |
Transform.position |
在世界坐标系中transform的·位置 |
Transform.rotation |
Unity以四元数储存旋转角度。要旋转一个对象使用Transform.Rotate,使用Transform.eulerAngles以欧拉角设置旋转角度。 |
Transform.localScale |
相对于父级对象进行缩放(局部缩放) transform.localScale = new Vector3(0.5f,0.5f, 0.5f); |