Unity中GameObject组件介绍

蓝色的艹|黑色的T

欢迎来到我的博客,这里有你更精彩。

Unity GameObject
UnityUnity里关于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);
Unity中,GameObject是所有实体对象的基类。它是Unity引擎中最重要的概念之一,所有的场景对象(如角色、道具、环境元素等)都是GameObject的实例。GameObject可以包含多个组件(Component),这些组件定义了GameObject的行为、外观和交互方式。 以下是GameObject的一些关键特点: 1. **层次结构**:GameObject可以组成一个层次结构,形成父子关系。子对象会继承父对象的变换(如位置、旋转和缩放)。 2. **组件系统**:每个GameObject可以附加多个组件,这些组件决定了GameObject的功能。例如,Transform组件定义了GameObject的位置、旋转和缩放;Renderer组件决定了GameObject的渲染方式;Collider组件用于物理碰撞检测。 3. **动态创建和销毁**:在运行时,可以通过脚本动态创建和销毁GameObject。这使得游戏世界可以根据玩家的操作或其他条件动态变化。 4. **标签和层**:GameObject可以有标签(Tag)和层(Layer),用于分类和分组,方便管理和查找。 5. **预制体(Prefab)**:预制体是预先配置好的GameObject,可以在多个场景中重复使用。修改预制体后,所有引用该预制体的实例都会自动更新。 示例代码:动态创建一个简单的GameObject并添加一个组件 ```csharp using UnityEngine; public class ExampleScript : MonoBehaviour { void Start() { // 创建一个新的GameObject GameObject newObject = new GameObject("New GameObject"); // 添加一个组件,例如Rigidbody Rigidbody rb = newObject.AddComponent<Rigidbody>(); // 设置刚体的质量 rb.mass = 10.0f; } } ```
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值