通讯,动态创建,Prefab,销毁
通过Hierarchy面板下的Create菜单可以手动地创建一个GameObject,它可以是一个相机,一个灯光,或者一个简单的模型,当我们要在程序里面动态地创建一个相机的时候,可以new一个GameObject,然后把Camera组件Add给它就可以了,创建灯光,GUI等也类似,但要创建简单模型的时候,我发现并没有类似Cube,Sphere这样的组件可供添加,后面知道,通过GameObject这个类的一个静态方法可以达到这个目的
static GameObject CreatePrimitive(PrimitiveType type);
可以根据PrimitiveType创建五种类型的基础模型
PrimitiveType.Plane,PrimitiveType.Cube,PrimitiveType.Sphere,PrimitiveType.Capsule,PrimitiveType.Cylinder
Unity3D提供一种被称为Prefab的预置对象,它是以文件的形式保存在硬盘上的一个GameObject,它里面可能包含了各种设置,组件,还有一些脚本。Prefab允许我们在不同的Scene,甚至Project中使用同一个对象,例如我实现了一个子弹,通过打包成Prefab,我可以在另外一个游戏里面直接使用它。
当一个Prefab对象被修改的时候,它的所有实例都会相应地被修改
在代码里面动态地实例化一个Prefab对象
public GameObject obj;
obj = Instantiate( obj  );
要先创建一个公有变量,然后把这个Prefab拖到这个变量上,然后才可以用它来实例化对象(我感到一种蛋蛋的忧伤,能不拖吗)
通过Resources这个类的静态方法可以将Prefab对象动态加载进来,创建GameObject
GameObject之间的通讯,在游戏中,我们往往需要知道其他对象的一些信息,所以我们经常需要动态地查询另外一个GameObject
1. 查找父节点 transform.parent
2. 查找子节点 transform.Find("name");  transform.Find("Arm/Hand/Finger"); 没有找到会返回null,名字如果包含"/"字符将像路径一样穿越层次
3. 查找场景中的其他GameObject 
GameObject.Find 从Scene下开始查找,根据GameObject的名字进行查找,允许使用"/"穿越层次查找,
GameObject.FindWithTag根据Tag查找一个GameObject,
GameObject.FindGameObjectsWithTag 根据Tag批量查找GameObject
GameObject的name和Tag可以直接设置,但Tag需要在标签管理器先定义一个Tag,这个Tag才可用,你不能将一个未定义的Tag赋给GameObject的Tag变量
最后还有一种搓搓的通讯方法,通过Message来调用其他GameObject,默认是垃圾短信群发,也可以将一个Object穿进去,然后调它的方法
methodName为方法名,value为方法的参数,options表示是否必须有对象接收该消息(如果是,且没有对象接受,u3d报错)
//调用本级别所有的GameObject上所有脚本的methodName方法
void SendMessage(string methodName, object value = null, SendMessageOptions options = SendMessageOptions.RequireReceiver);
//朝本级别和上级父节点发送调用命令
void SendMessageUpwards(...)
//目标是本级别和全部子节点...
void BroadcastMessage(...)
调用Object的Destroy方法可以销毁一个GameObject,组件,或者资源。这是一个静态方法,函数的原型为 static void Destroy(Object obj, float t = 0.0F );
可以通过将this传入,销毁自己。
GameObject的成员变量很多

转载于:https://www.cnblogs.com/ybgame/archive/2013/01/21/2869901.html

Unity3D脚印4——GameObject相关推荐

  1. Unity3d脚本改变GameObject的Material(一)

    Unity3d Change Material by Script Test(1) 主要用于修改使用Unity3d内部的材质球 Default-Particle,打包时会冗余多分Default-Par ...

  2. Unity3d脚本改变GameObject的Material(二)

    对所有 perfab进行扫描,并替换 Particle中的默认材质为自定义材质(主要用来依赖打包做准备) using System; using System.Collections.Generic; ...

  3. unity3d python脚本_Unity3D 给对象(gameObject)添加脚本代码

    Unity3D支持三种脚本,javascript.C# Script.Boo Script(类Python).我这个人比较二......最初公司这边叫我学C#,我之前不会,所以现学.到了之后才发现,我 ...

  4. Havok物理引擎与Unity3D的结合

    背景 在重度手游的研发过程当中,游戏中的车辆模拟,场景互动,特效展示等功能很多时候需要物理引擎的介入,以提供丰富的交互体验.目前3D手游的开发主要工具是使用Unity3D引擎,于是,如何在Unity3 ...

  5. Havok物理引擎与Unity3D游戏的结合

    背景 在重度手游的研发过程当中,游戏中的车辆模拟,场景互动,特效展示等功能很多时候需要物理引擎的介入,以提供丰富的交互体验.目前3D手游的开发主要工具是使用Unity3D引擎,于是,如何在Unity3 ...

  6. unity3D的面试题

    第一部分 1.请简述值类型与引用类型的区别 2.C#中所有引用类型的基类是什么 3.请简述ArrayList和List<Int>的主要区别 4.请简述GC(垃圾回收)产生的原因,并描述如何 ...

  7. UE4入门学习3:GamePlay框架

    - - 文章 UE4入门学习3:GamePlay框架 作者 游蓝海( http://blog.csdn.net/you_lan_hai ) UE4为游戏开发提供了一套基础的框架,在这套框架的基础上,我 ...

  8. 关于六边形地图的生成算法

    需要能动态改变地图的层数,当输入的layer不同生成的地图层数也就不同,所以我使用算法动态生成棋盘格地图. 通过定义好的tileWeight和tileHeight,i从下到上,j从左到右确定每个格子的 ...

  9. Unity3D入门基础之游戏对象 (GameObject) 和组件 (Component) 的关系

    原文出处:http://edu.china.unity3d.com/learning_document/getData?file=/Manual/TheGameObject-ComponentRela ...

最新文章

  1. 得了诺奖的彩色照相术失传100多年,现在终于被找回来了
  2. 《Adobe Illustrator CC 2014中文版经典教程(彩色版)》—第1课0.15节创建剪切蒙版...
  3. java B2B2C源码电子商务平台-基于Consul的分布式锁实现
  4. 判断二叉树是否是平衡二叉树(dp tree)
  5. Fragment 退出动画导致fragment退出失败问题(罕见问题)
  6. 第二天,终于搞定 —— 2014.10.28
  7. 二十年来一直没搞清楚的一个问题
  8. android lrc 歌词显示,Android歌词 AndroidLrc歌词
  9. 我滴个乖乖,我复现了Spring的漏洞,害怕!
  10. table标签+css代码实现选项卡效果(用)
  11. 小米12系列或首发骁龙898旗舰芯:三星4nm工艺
  12. 七夕单日票房破5亿!创复工后单日票房新高
  13. Oracle v$session/v$sql 表
  14. 【算术、关系、逻辑、位、复合赋值、带副作用的、自增、自减、其它】运算符(学习笔记4--C语言运算符)
  15. 工控补丁星期二:西门子、施耐德电气修复40个漏洞
  16. [转载] python实现三角形面积计算
  17. 20172328《程序设计与数据结构》第三周学习总结
  18. 经典商业融资计划书PPT模板
  19. 创建shap文件的属性字段类型区别_shapefile数据文件组成
  20. python从键盘输入一个数、计算出大于n的最小素数_请问,可以帮忙做下这个题吗?--从键盘输入一个数,求大于该数的最小素数....

热门文章

  1. 古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子
  2. win11成功安装fbprophet模块
  3. flutter面试,20道Android工程师面试必问题,移动架构师成长路线
  4. ESD防静电监控系统在工厂车间的应用
  5. (XK01/XK02/XK03/MK01/MK02/MK03)供应商主数据增强
  6. 1. Perface
  7. 全球及中国PVD镀膜机行业发展现状与未来投资战略分析报告2022-2028年
  8. 树莓派开发实战项目 智能家居--简单工厂模式(简单工厂模式介绍)
  9. VisionMobile:“只为粉丝”或者小米并非你所想的那样
  10. 挨踢项目求生法则(3)——需求篇