【Unity入门】场景、游戏物体和组件的概念

版权声明:本文为博主原创文章,转载请注明出处。

  游戏和电影一样,是通过每一个镜头的串联来实现的,而这样的镜头我们称之为“场景”。一个游戏一般包含一个到多个场景,这些场景里面实现了不同的功能,把它们组合起来就变成一个完整的游戏了。 
  在电影里面,每个镜头会包含布景,然后还会有演员在表演,摄像机将表演的画面记录下来,然后就变成了电影。同样的,在Unity游戏里面也同样存在相机,它的作用也是将游戏的画面展示在游戏设备的显示屏上面。所不同的是,Unity游戏里面,不论是布景还是人物,所有的东西我们都称之为“GameObject”游戏对象(2D游戏一般称之为“精灵”)。所以游戏场景是由游戏对象组成的,一个场景就相当于是一个独立的世界,我们可以简单的把游戏场景理解成是游戏对象的一个容器。

  Unity的Hierarchy面板上显示的就是场景当前拥有的游戏对象,当游戏处于运行状态,Hierarchy面板上面的对象也会跟着游戏在实时地刷新。一个新建的游戏场景里面会默认添加一个Main Camera(主相机)对象和一个Directional Light(方向光源)对象。主相机负责将游戏场景投影到屏幕,方向光源负责照亮整个场景。当我们将方向光源从场景里面删除后,由于场景里面没有光源,游戏运行后屏幕上只能看到一个很暗的画面。而如果我们将主相机对象从场景里面移除的话,游戏运行时我们将无法看到任何游戏画面。 
  在电影里面,角色会有各种信息,比如角色的身份标签、性格,甚至他的职能。同样的,我们的游戏对象也同样可以拥有各种信息,而这些信息都是以“组件”(Component)的方式存在的。游戏对象是由一个到多个组件组成的,我们可以将组件看成是组成一台机器的零部件。Unity游戏是通过组件的方式进行开发的,所以想要操作游戏对象也都是通过操作对应的组件对象。

  在Hierarchy面板上面或者Scene视图中随便选择一个游戏对象,然后我们就可以在Inspector面板上面看到对应的组件信息。一般,游戏物体都至少会拥有一个名为“Transform”的组件。它是游戏物体的基本组件,里面包含游戏物体在场景中的基本属性信息。 
  Transform有三个重要的属性组成,分别是:“position”、“rotation”和“scale”。 
  position包含的是游戏对象在场景中的位置信息,其数据类型是“Vector3”(三维向量),由x、y和z三个坐标分量组成。 
  rotation表示的是游戏物体在场景中的旋转角度信息,其数据类型是“Quaternion”(四元数),Quaternion.Euler(x, y, z)方法可以将x、y和z三个轴上面的旋转角度分量转换成一个欧拉角(Euler),并返回一个Quaternion对象。所以我们可以看到Transform的Rotation属性同样包含x、y和z三个值。 
  scale表示的是游戏物体在场景里面的缩放比例,默认为1。同样,它也分x、y和z三个分量,所以它的值同样是使用Vector3类型来表示。

  当我们需要给游戏物体添加新的组件的时候,我们可以简单的点击Inspector面板最后一个组件下方的“Add Component”按钮来添加。在按钮下面会出现一个组件选择面板,该面板顶部会有一个搜索框,可以直接输入组件名称进行检索。下面的备选列表里面列举了Unity内置的组件,我们也可以通过它们的分类来查找想要的组件。 
  以下是组件的分类: 
  (1)、Mesh:网格组件。 
  (2)、Effects:效果组件。 
  (3)、Physics:物理组件。 
  (4)、Physics 2D:2D物理组件。 
  (5)、Navigation:导航组件。 
  (6)、Audio:音频组件。 
  (7)、Rendering:渲染组件。 
  (8)、Layout:布局组件。 
  (9)、Miscellaneous:其它组件。 
  (10)、Event:事件组件。 
  (11)、UI:UI元素组件。 
  (12)、Scripts:已创建的脚本组件。 
  (13)、New Script:新建一个脚本组件。 
  每个分类下面基本都包含了多个组件。

时间: 2024-10-18 11:48:24

【Unity入门】场景、游戏物体和组件的概念的相关文章

【Unity入门】碰撞检测与触发检测

版权声明:本文为博主原创文章,转载请注明出处. 在Unity里面,游戏物体的碰撞我们可以通过刚体组件(Rigidbody)和碰撞器组件(Collider)来进行检测.首先在场景里面添加一个Plane面板作为地面,然后在Plane面板的上方一定高度处放一个Cube立方体. 然后给Cube立方体添加一个刚体组件(Rigidbody).运行游戏,这时候我们可以看到立方体掉在了面板上面. 立方体和面板产生了碰撞,并且禁止在面板上,这时候我们可以可以通过脚本来进行检测,比如立方体掉在面板上的时候我们可以将

Unity 3D 中新建游戏物体过程中 Intantiate Transform 空物体和本体之间的关系

我们通过Unity构建场景的过程中,经常发现一个现象,就是物体在拖进场景中后,我们会发现物体是反的,通过改变物体的rotation属性后,得到了正确的方向,可物体的坐标系又变得和默认坐标系(右上角系统自带的坐标系)不一样了,这样就给后续的脚本工作(通常是控制(Transform)脚本和生成(Intantiate)脚本)带来了困扰,因为脚本写作的过程中是按照正常的坐标系来的,物体的脚本和默认的不一样了就会出现诸如按下键物体向上的现象. 其实,在游戏场景的创建过程中,不仅仅是物体的方向,一个游戏物体

Unity基础 C# 游戏间物体间的访问

脚本语言:C# 1.在Unity工程中新建两个物体:Cube和Sphere 2.分别为Cube和Sphere添加脚本CubeScript和SphereScript: 在SphereScript这两个定义一个函数DoSomething(),脚本具体代码如下: using UnityEngine; using System.Collections; public class SphereScript : MonoBehaviour { public int radius = 5; // Use th

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

Unity入门

Unity入门 用unity做一个最简单的交互.(相当于Hello World)仅仅要最后能执行就算入门了. 第一步,要先用三维制作软件制作出我们须要的场景. 这儿使用的是Max2012(软件大小3.09G). 首先设置一下在max使用的长度单位,选择使用米为单位. 设置步骤是Customize---->Units Setup---->System Unit Setup---->下拉选择Meters 先用max里的平面几何体制作一片地面,操作很easy,过程例如以下: 点击平面butto

Unity入门知识

参考书:<Unity3D 游戏开发> scene图中按F键:放大,居中当前选中的物体 坐标轴:红-x轴,绿-y轴,蓝-z轴 逐帧运行程序: OnGUI:可以用来画界面 高级控件 or 低级控件? Label控件也可以贴图 只有脚本的公有变量才可以在编辑器中直接赋值.Texture.String等 游戏界面可以由若干个窗口组成,而每个窗口又由若干个视图组成.创建窗口时需要设定他的显示区域,在窗口中可以添加任意组件,前提是组件的显示区域必须在窗口当中,否则无法显示.另外,窗口中的所有控件都采用相对

Unity中制作游戏的快照游戏支持玩家拍快照

Unity中制作游戏的快照游戏支持玩家拍快照 有些游戏支持玩家"拍快照",也就是将游戏的精彩瞬间以图片的形式记录下来的功能.这个功能比较有趣,而且以后的用途也会很广,为此本节打算介绍:截取矩形区域内游戏视图,并将其显示在视图其它区域的方法.具体的操作步骤如下本文选自Unity游戏开发技巧集锦: (1)在Project视图里,创建一个C#脚本文件,并命名为ScreenTexture.在此脚本中编写如下的代码: 01     using UnityEngine; 02     using

Unity 4.x游戏开发技巧集锦第2章摄像机的应用

Unity 4.x游戏开发技巧集锦第2章摄像机的应用 作为游戏开发者,千万不要忽略了摄像机(Camera)的重要性.毕竟玩家是通过摄像机,才看到了游戏的视图.本章将介绍一些摄像机的常见应用.本文选自<Unity 4.x游戏开发技巧集锦> Unity 4.x游戏开发技巧集锦2.1  设置双游戏视图 很多游戏里,一个游戏的视图中,经常会包含另一个游戏视图.而两个视图所呈现的,是由两个摄像机在场景的不同位置所拍摄的画面.例如,<QQ飞车>中,除了第三人称视图以外,游戏视图的右侧还有一个跑

关于Unity中场景的导入与导出

场景虽然是由场景美术做好的,但是我们经常需要自己去导导出以及从别的项目导入,所以我们需要对场景的导入和导出有一个详细的了解 Unity场景 1: 场景是由美术人员搭建完成后提交给程序;2: 场景一般包括了地形, 创建物体, 光源, 天空盒,与雾等;3: 场景不包含任何逻辑4: 程序员要能熟练的导入与导出其他项目的场景; 场景导出思路 把Unity4.X的场景文件导入到Unity5.X的场景中 1: 准备好Unity 4.7游戏项目的要导出的场景;2: 将属于场景的物体,导出成预制体;3: 将预制