通讯,动态创建,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的成员变量很多

Unity3D中GameObject 详细介绍相关推荐

  1. HTML中Css详细介绍

    HTML中Css详细介绍 一.样式表的作用 1.Css样式表,层叠样式表 2.类似于人类的衣服,网页的衣服 3.作用:美化网页 4.优势: 1.内容与表现分离,便于维护 2.样式丰富,页面布局灵活 3 ...

  2. java中Cookie详细介绍

    Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是 ...

  3. TexturePacker图集打包工具在Unity3D中的使用介绍

    在游戏开发过程中,图片的使用是必不可少的,尤其是在UI部分,往往会使用大量的图片.如果每一张图片都是单独使用的话,实际上会对性能造成很大的损耗的. 这时候我们往往是把需要的图片资源进行分类,然后按照需 ...

  4. Unity3d 引擎原理详细介绍、Unity3D引擎架构设计

    体系结构 为了更好地理解游戏的软件架构和对象模型,它获得更好的外观仅有一名Unity3D的游戏引擎和编辑器是非常有用的,它的主要原则. Unity3D 引擎 Unity3D的是一个屡获殊荣的工具,用于 ...

  5. Unity3d 引擎原理详细介绍、Unity3D引擎架构设计 - zhibolife

    时间 2014-03-24 11:18:00  博客园-所有随笔区原文  http://www.cnblogs.com/zhibolife/p/3620440.html 体系结构 为了更好地理解游戏的 ...

  6. Unity3d 引擎原理详细介绍、Unity3D引擎架构设计- zhibolife(转载分享)

    体系结构 为了更好地理解游戏的软件架构和对象模型,它获得更好的外观仅有一名Unity3D的游戏引擎和编辑器是非常有用的,它的主要原则. Unity3D 引擎 Unity3D的是一个屡获殊荣的工具,用于 ...

  7. python如何使用多线程_python多线程应用中的详细介绍

    python多线程在应用的时候有不少的事情需要重点的注意.其实只要掌握这些相关的技术段就能保证这个应用的完整.下面我们来看看具体是需要如何进行操作. 今天看了近一天关于多线程的应用中,如何安全调用py ...

  8. Unity3d 引擎原理详细介绍

    体系结构 为了更好地理解游戏的软件架构和对象模型,它获得更好的外观仅有一名Unity3D的游戏引擎和编辑器是非常有用的,它的主要原则. Unity3D 引擎 Unity3D的是一个屡获殊荣的工具,用于 ...

  9. MapReduce中wordcount详细介绍

    1.MapReduce编程模型 MapReduce采用分而治之的思想,把对大规模数据集的操作,分发给一个主节点管理下的各个分节点共同完成,然后通过整合各个节点的中间结果,得到最终结果.简单来说,Map ...

  10. css中margin详细介绍

    深入理解css中的margin属性 转载自  http://www.cnblogs.com/zhuzhenwei918/p/6124263.html 深入理解css中的margin属性 之前我一直认为 ...

最新文章

  1. Ubuntu 常用操作
  2. Stack(栈)和Heap(堆)的区别
  3. 深入学习http协议(转)
  4. 开发工具总结(2)之全面总结Android Studio2.X的填坑指南
  5. 筋斗云newcloud错误码列表
  6. 如果你也在学python,准备要学习python,希望这篇文章对你有用。
  7. IDC:物联网计划对IT基础设施影响重大
  8. P2805 [NOI2009]植物大战僵尸
  9. 计算机相关专业的学生如何规划自己的职业?
  10. java数组三种排序方式
  11. matlab高斯滤波器
  12. java 51_学习java第51天
  13. iMAC——全新重装Mac系统
  14. 1. 树莓派点灯学习(UI界面控制)
  15. 解释一下什么是鲁棒性
  16. 洛谷 P1885 Moo
  17. java的微信公众号开发零(授权登陆,版本一)
  18. 草图大师SketchUp 2021 mac版 兼容macos11系统正式上线!
  19. 修改手机服务器密码是不是获取不了通讯录,手机运营商服务密码改了,别人还会读取到通讯录吗...
  20. 秒杀系统如何防止超卖?

热门文章

  1. 手把手教你玩物联网(二)---onenet云平台产品创建
  2. Python的一点人生经验
  3. 楚氏春秋(新版)第一部 风起平原
  4. 实战|教你爬取全国火锅店数量,并利用地图可视化展示
  5. C++ get()和put()读写文件详解
  6. 博弈论:帕累托最优与纳什均衡的联系和区别
  7. 大一计算机时间差怎么求,总结:如何使用Excel计算时差和日期差,只需阅读本文!...
  8. TCP协议之《MTU探测功能》
  9. 新买的电脑是win11系统,找不到DirectX工具?教你如何操作打开
  10. 倾斜摄影测量数据的一些简析