Unity 游戏对象的组件列表】的更多相关文章

描述: 1 个游戏对象,上面有 4 个组件, 如图: 脚本 Test_01 的内容,如下: using System.Collections; using System.Collections.Generic; using UnityEngine; public class Test_01 : MonoBehaviour { public List<Component> componentsList = new List<Component>(); // Use this for…
如标题所言,本文由3个部分组成,分别讲述游戏对象.组件和Prefabs(预设体). 1. 游戏对象 任何游戏对象都由组件组成,组件是实现一切功能所必需的.我们创建的对象会在Hierarchy视图中显示,在场景中的对象统称为游戏对象.在GameObject这个菜单栏中我们可以选择创建自己需要的对象. 2. 常用的组件介绍 在前一篇我们所用过的组件有:变换组件(Transform).刚体组件(Rigidbody).碰撞体组件(collider).下面介绍其他5个常用的组件. 1. Mesh相关组件:…
gameObject.SetActive(false):是否在场景中停用该物体,停用后Hierarchy窗口呈灰色,用Find函数也找不到.如果该物体有子物体,要用SetActive Recursirely(false)来控制是否停用.停用后,其添空的(为其他游戏体)组件仍能正常工作. gameObject.Destroy():表示移除物体或物体上的组件,代表销毁该物体,实际上该物体并没有立即释放,而是在你的下下个场景中释放内存资源,就是你a场景中Destroy之后在c场景中才真正释放该物体的内…
版权声明:本文为博主原创文章,转载请注明出处. 游戏和电影一样,是通过每一个镜头的串联来实现的,而这样的镜头我们称之为“场景”.一个游戏一般包含一个到多个场景,这些场景里面实现了不同的功能,把它们组合起来就变成一个完整的游戏了.  在电影里面,每个镜头会包含布景,然后还会有演员在表演,摄像机将表演的画面记录下来,然后就变成了电影.同样的,在Unity游戏里面也同样存在相机,它的作用也是将游戏的画面展示在游戏设备的显示屏上面.所不同的是,Unity游戏里面,不论是布景还是人物,所有的东西我们都称之…
C#开发Unity游戏教程之游戏对象的属性变量 Unity游戏对象的属性——变量 通过对上一章的学习,读者应该了解到了,游戏对象上的属性与脚本中的变量,建立联系的方式就是将脚本赋予游戏对象.上一章只是简单的介绍了脚本中的变量,读者一定不过瘾,现在好了,作者将使用一整章的篇幅介绍变量与属性. Unity游戏对象的属性 在Unity中,游戏场景中游戏对象的属性,可以在Inspector视图里查看,想看哪个游戏对象的属性,就使用鼠标选中哪个游戏对象即可.例如,要查看游戏场景中Main Camera对象…
C#开发Unity游戏教程之游戏对象的行为逻辑方法 游戏对象的行为逻辑——方法 方法(method),读者在第1章新建脚本时就见过了,而且在第2章对脚本做整体上的介绍时也介绍过,那么上一章呢,尽管主要内容是变量,但是在章节的最后为了展示游戏效果,也用到了它.现在看来方法真的是无处不在,并且不可或缺.它甚至都可以影响游戏对象的行为逻辑!因此本章终于到了不得不介绍它的时候了. Unity游戏对象的行为逻辑 游戏场景中,有些游戏对象是静止的,例如,树木.山峰.石头等等.而另外一些游戏对象则是运动的,它…
分类:Unity.C#.VS2015 创建日期:2016-04-16 一.简介 在游戏开发过程中,脚本不但需要访问脚本所在的游戏对象的组件,还经常需要访问和控制真他游戏对象.另外,根据项目需求,还可能需要通过脚本创建对象. 本节示例的最终运行效果如下: 二.查找场景中的游戏对象 在Unity脚本中,开发人员可以通过下面量的方式来访问游戏对象. 1.通过名称字符串来查找 使用函数GameObject.Find()查找在参数中指定的游戏对象.如果场景中存在指定名称的游戏对象,则返回该对象的引用,否则…
原文地址:https://unity3d.com/cn/learn/tutorials/topics/performance-optimization/optimizing-scripts-unity-games?playlist=44069 介绍 当我们的游戏运行时,我们设备的中央处理器(CPU)执行指令.游戏的每一帧都需要执行数百万的CPU指令.为了保持平滑的帧率,CPU必须在规定的时间内执行指令.当CPU不能及时执行所有指令时,我们的游戏可能会变慢.卡顿. 许多事情会导致CPU有太多的工作…
C#开发Unity游戏教程之判断语句 游戏执行路径的选择——判断 玩家在游戏时,无时无刻不在通过判断做出选择.例如,正是因为玩家做出的选择不同,才导致游戏朝着不同的剧情发展,因此一个玩家可以对一个游戏百玩不厌!既然提到了这一点,借此机会本章就来说明,在脚本中实现游戏为玩家提供更多选择的方法. Unity游戏的执行路径 游戏如此受玩家欢迎的原因,除了优质的画面效果以外,就是游戏的可交互性.也就是说,游戏是可以与玩家互动的,这也是游戏与视频的不同之处.游戏允许玩家在一定程度上控制游戏的执行路径,虽然…
C#开发Unity游戏教程之Unity中方法的参数 Unity的方法的参数 出现在脚本中的方法,无论是在定义的时候,还是使用的时候,后面都跟着一对括号“( )”,有意义吗?看起来最多也就是起个快速识别方法的作用吧.既然C#的语法规定方法就应该这么写,肯定是有一定道理的.如果是上升到战略意义的道理,连作者也不是很明白,但是作者知道这对括号里可以添加“参数”. Unity中参数的作用 要说明参数的作用,就必须从方法说起.方法可以处理变量中的数据,进而影响游戏对象的行为逻辑,这是本章前面一直在强调的.…
C#开发Unity游戏教程之Scene视图与脚本的使用 Unity中Scene视图的快捷操作 Scene视图是开发者开发游戏时,操作最频繁的视图.因为一旦一个游戏对象被添加到游戏的场景中,就需要首先使用鼠标为这个游戏对象设置出合适的状态.而且开发者还需要多角度的观察游戏场景中的各游戏对象.基于以上的原因,Unity提供了很多快捷操作,支持开发者对Scene视图所做的各种操作,常见的操作方式有: 直接按下键盘上的Q.W.E.R键,即可选中Unity左上角,工具栏上的4个按钮,且按钮与按键一一对应,…
WIP源代码: Github OSC镜像 对象系统以对象为中心,对象系统的最基本设计策略是基于组件的设计.对象系统将尽量避免使用继承方式来拓展游戏对象,恰当的使用Mix-in来来最属性做拓展,单个属性可以适当使用继承.每个游戏对象都是由属性组装起来的. 组件分为两种,c++组件和脚本组件,脚本组件是在脚本中定义的.一般来讲某些脚本组件是 c++组建的封装,这时仅仅是吧 c++组件实例的指针关联到脚本中,所有通信都由此指针链接. 在 c++中当前的主要对象就是 sprite,这个 sprite 在…
我觉得Unity里面的Transform 和 GameObject就像两个双胞胎兄弟一样,这俩哥们很要好,我能直接找到你,你也能直接找到我.我看很多人喜欢在类里面去保存GameObject对象.解决GameObject.Find()无法获取天生activie = false的问题.     private GameObject root ; 我觉得你最好不要保存GameObject ,而是去保存Transform ,因为Transform下的方法要比GameObject多,使用频率也要高很多.…
一.创建游戏对象 游戏对象分三种:(1) 将物体模型等资源由Project工程面板拖拽到Hierarchy层次面板中 (2) 由GameObject菜单创建Unity自带的游戏对象,如Cube.Camera.Light等 (3) 利用脚本动态创建或删除游戏对象 动态创建方式: (1)使用CreatePrimitive方法创建游戏对象 (2)使用Instantiate实例化产生游戏对象 Instantiate(Object, position, rotation) 二.删除游戏对象 Destroy…
分类:Unity.C#.VS2015 创建日期:2016-04-20 一.简介 Unity引擎提供了丰富的组件和类库,为游戏开发提供了非常大的便利,熟练掌握和使用这些API,对于游戏开发的效率提高很重要. 这一节我们主要学习Transform的基本用法.本节例子的运行效果如下: 二.Transform组件 场景中的每一个物体都有一个Transform. Transform组件决定了游戏对象的位置.方向和缩放比例,如果希望在游戏中更新玩家位置.设置相机观察角度,都免不了要和Transform组件打…
Project(工程.项目):工程是把游戏开发当前所需要的资源归类管理用的. Console控制台:日志.报错.调试,右上角,消息过滤 Assets:资源,存储游戏中一切用到的资源 Library:临时库文件 ProjectSettings:项目设置.项目控制 Temp:临时文件夹 UnityPackageManager:资源包 工程迁移: Assets.ProjectSettings.UnityPackageManager,这三个文件夹必须拷贝走 如果报错,先删掉Library和Temp,再重…
原文出处:http://edu.china.unity3d.com/learning_document/getData?file=/Manual/TheGameObject-ComponentRelationship.html 我们在使用Unity的时候,会常常创建一个游戏对象(GameObject).使用快捷键 ctrl + shift + N创建一个空的游戏对象时.你会发现该游戏对象默认加入了一个transforme component( 变换组件).以下来介绍下变换组件. 变换组件 (Tr…
我觉得Unity里面的Transform 和 GameObject就像两个双胞胎兄弟一样,这俩哥们很要好,我能直接找到你,你也能直接找到我.我看很多人喜欢在类里面去保存GameObject对象.解决GameObject.Find()无法获取天生activie = false的问题. private GameObject root ; 我觉得你最好不要保存GameObject ,而是去保存Transform ,因为Transform下的方法要比GameObject多,使用频率也要高很多. priv…
之前两任社长都在一直强调要写博客,一直没有写过,现在我已经踏上了博客的道路! 首先声明:本人才疏学浅,对unity认识不深,有错误的地方欢迎大家指出,在此谢过! 本文所说的选择对象,是指在游戏过程中动态的获取到游戏对象! 可能有人说设置一个transform变量来记录一下自己需要攻击的对象. 这确实是一个简单有效的方法,但是缺少可扩展行,并且对游戏的总体来说也不利于维护,还有可能会改动之后出现空指针的情况!针对这样的情况,我想到了三种解决办法! 其一:对象身上带有碰撞体直接碰撞检测,这种方法简单…
主要用到协程(Coroutines)和游戏对象的生命周期(GameObject Lifecycle)基础知识,巧妙解决了游戏重启的问题. 关于协程,这里有篇文章我觉得写的非常好,理解起来也很容易.推荐先看这篇文章:对Unity中Coroutines的理解>> 协程简单来看分三部分: 1)启动,常用方法:StartCoroutine(IEnumerator routine) | StartCoroutine(string methodName) 2)执行,执行的函数其返回值必须为IEnumera…
在unity中本来想实现在一个背景墙上更换图片的功能 在网上查了一些资料说是用Image,但我是新手小白刚接触Unity不久好多组建还不会用,就想能不能通过改变游戏对象的材质球来更换游戏对象的背景. 查了一些帖子,参看了前辈们的一些做法,实现了这个功能,现在分享给大家.我是小白一个,技术还不成熟,有些术语表达还不够准确,后来者如果看到这篇帖子,叙述不当之处还请多多包涵,这也是我在CSDN上的第一篇文章 实现过程如下: 1. 在场景中新建一个游戏对象 Creat---->3D object----…
可以自己在Unity里面试一下 游戏对象在Hierarchy面板不是激活的,它的脚本没作用,脚本中的函数不会执行; 游戏对象在Hierarchy面板是激活的,脚本没激活,Awake会执行,OnEnable和Start不会执行; 同一脚本执行顺序 :Awake,OnEnable,Start 不同脚本间的执行顺序:Awake和OnEnable先执行,a脚本的Awake可能在b脚本的OnEnable之前,也可能在之后,没有确定顺序,当所有的Awake和OnEnable执行完,所有的Start再执行…
FindObjectOfType<>()   是按类型查找游戏对象.<>里面填写类型,那要是有多个这种类型的呢?来试一下. 1. 新建一个场景,新建一个Test.cs脚本,内容随便,再新建一个Test02.cs脚本,内容如下: using System.Collections; using System.Collections.Generic; using UnityEngine; public class Test02 : MonoBehaviour { public Test…
1. 当一个游戏对象的中心(它的x,y,z的交点)  不在它的正中间时,改变它的Scale时它的中心也会变的. 如图:这是用PlayMkaer做的,胶囊体碰到瓶子瓶子会碎,会在瓶子的中心位置那生成一个金币. 瓶子的中心在瓶底,假如改变了瓶子的Scale,生成金币时金币的位置会有偏差. 2. UI把Scale变大时可能会变得不清晰.…
现在假设游戏中我们需要实现一个这样功能,按下鼠标左键,发射一颗子弹,3秒之后消失.在这个功能中,我们发射了上百上千发子弹,就需要实例化生成上百上千次.这时候,我们就需要使用对象池这个概念,每次实例化生成一个子弹对象后,三秒钟后不销毁(不执行destroy),而是将其将其隐藏(SetActive(false))并且放入对象池中.再次按下鼠标时,如果对象池不为空,就去对象池里将隐藏的对象显示出来.如果对象池里面没有可用对象时,再执行实例化子弹的方法. 首先创建一个对象池脚本,此脚本是一个单例脚本(不…
代码: [MenuItem("Tools/Delete",false,1)]    static void Delete()    {        GameObject[] go = Selection.gameObjects;        foreach (GameObject g in go)        {            //GameObject.DestroyImmediate(g);            Undo.DestroyObjectImmediate(…
C#开发Unity游戏教程循环遍历做出判断及Unity游戏示例 Unity中循环遍历每个数据,并做出判断 很多时候,游戏在玩家做出判断以后,游戏程序会遍历玩家身上大量的所需数据,然后做出判断,即首先判定玩家是否有权限做出这种选择,然后才决定是否为玩家执行此选择.例如,<仙剑奇侠传>这款游戏,进入剧情“荷叶迷宫时”,会要求玩家击碎迷宫里的5尊雕塑,如图5-12所示.但是击碎的前提是,玩家身上必须携带有“锤子”.也就是说系统会遍历玩家身上所有的资源,如果有锤子才能击碎雕塑. 图5-12  <…
C#开发Unity游戏教程循环遍历做出推断及Unity游戏演示样例 Unity中循环遍历每一个数据,并做出推断 非常多时候.游戏在玩家做出推断以后.游戏程序会遍历玩家身上大量的所需数据,然后做出推断.即首先判定玩家是否有权限做出这样的选择.然后才决定是否为玩家运行此选择.比如.<仙剑奇侠传>这款游戏,进入剧情"荷叶迷宫时",会要求玩家击碎迷宫里的5尊雕塑,如图5-12所看到的.可是击碎的前提是,玩家身上必须携带有"锤子". 也就是说系统会遍历玩家身上全部…
如图片.视频或代码格式等显示异常,请查看原文: https://mp.weixin.qq.com/s/Sv0FOxZCAHHUQPjT8rUeNw 很多童鞋没有系统的Unity3D游戏开发基础,也不知道从何开始学.为此我们精选了一套国外优秀的Unity3D游戏开发教程,翻译整理后放送给大家,教您从零开始一步一步掌握Unity3D游戏开发. 本文不是广告,不是推广,是免费的纯干货!本文全名:喵的Unity游戏开发之路 - 移动 - 互动环境 - 有影响的运动 通过加速区创建跳板和悬浮力. 制作一个…
如果丢失格式.图片或视频,请查看原文:https://mp.weixin.qq.com/s/RDVMg6l41uc2IHBsscc0cQ 很多童鞋没有系统的Unity3D游戏开发基础,也不知道从何开始学.为此我们精选了一套国外优秀的Unity3D游戏开发教程,翻译整理后放送给大家,教您从零开始一步一步掌握Unity3D游戏开发. 本文不是广告,不是推广,是免费的纯干货!本文全名:喵的Unity游戏开发之路 - 对象管理 - 多场景:场景加载 在播放模式下创建场景. 在场景之间移动对象. 处理多个…