Unity3d Note3

游戏对象的使用

游戏对象是所有其他组件的容器。在游戏中的所有物体都是游戏对象。游戏对象被添加到游戏中时本身并不包含任何特性(特征,属性..)。当然,它们包含有已经被实现的控制组件。例如,一个灯光(Light)就是一个添加到游戏对象的组件。
游戏对象除了被当做各个组件的容器外,它还拥有Tag(标签),Layer(层)和Name(名称)属性。Tag(标签)用途在于使用标签名来快速寻找物体,层可以用于投射射线,渲染或者对特定的一组物体单独应用光照。标签和层可以通过Tag Manager(标签管理器)进行设置,此选项可以通过 Edit->Project Settings->Tags找到。

这里写图片描述

在Unity中,游戏对象有了一个新的选择框”Static”,这个选项的用途在于:

  • 为自动烘焙准备静态的几何体
  • 计算遮挡剔除

许多优化需要知道游戏对象是否能运动,将一个游戏对象设置为静态,可以让编译器预先计算它的位置,因为知道它不会因物体位置的改变而失效。所以不能运动的对象都应该设置为静态。

Empty

Empty 游戏对象不会有任何显示,但却是最常用的游戏对象之一。如果你想使用脚本创建一个组件,你需要创建一个空的游戏对象然后使用gameObject.AddComponent(ClassName)方法(函数)。你不可以创建一个组件然后通过引用赋予物体。

Camera

这里写图片描述

  • Camera 组件(相机基本属性)
  • Flare layer (使用炫光镜头,处理物体炫光和雾化纹理)
  • GUI layer (渲染 遗留的 GUI 界面)
  • Audio Listener (挂载拾音器,接收场景中声音)

camera常用参数

  • Background: 背景颜色,可设为纯色或skybox。
  • Projection 投射,可选透视或者正交。透视的物体大小随距离改变,正交不会。
  • Culling Mask: 剔除遮罩。用于指定摄像机所作用的层(Layer)。
  • Field of View(FOV): 视野范围。只针对透视镜头,用于控制视角宽度与纵向角度。
  • Size: 视口大小。只针对正交镜头,设定为相当于屏幕高度的一半。
  • ClippingPlanes: 表示摄像机的作用范围。只显示距离为[Near, Far]之间的物体。
  • Viewport Rect: 控制摄像机呈现结果对应到屏幕上的位置以及大小。屏幕坐标系:左下角是(0, 0),右上角是(1, 1)。
  • Depth: 当多个摄像机同时存在时,这个参数决定了呈现的先后顺序,值越大越靠后呈现。

Lighting

这里写图片描述

光源是每一个场景的重要组成部分。决定了你的3D环境的颜色和氛围,你可以在每个场景中使用一个以上的光源。总的来说,Unity的光源分为两种,realtime(实时)和precomputed(预先计算的),可以组合使用。

  • Realtime lighting
    默认下, directional, spot 和 point LIghting 都是实时的,它们每帧都被更新。当光源和游戏对象移动时它们会实时改变。实时光源是照亮场景最基本的方法,对于点亮角色和其他几何物体非常有用。但是光线不会反射。
  • Baked lightmaps
    通过这种方式,Unity可以预先计算复杂的静态光源效果并把它们存起来。
  • Precomputed realtime global illumination
    通过这种方式可以让光源随着光照条件发生改变,可以实现光的反射和天气变化等效果。

Materials and Shaders

在Unity中材质与着色器之间有着密切的关系。着色器包含着定义了属性和资源使用种类的代码。材质允许你调整属性和分配资源。
要创建新材质,从主菜单或项目视图的环境菜单中,选择Assets->Create->Material来创建。一旦材质已经创建,你可以将它应用到一个对象并在检视视图中调整其所有属性。要将它应用到一个对象,只需将它从项目视图中拖到场景视图或层次视图的某个对象上。
Unity的每个标准安装包都有一个内置着色器的库。有超过30个内置着色器和六个基本族。

  • Normal
    标准:对于不透明纹理对象
  • Transparent
    透明:对于部分透明的对象。纹理的alpha通道定义透明度
  • TransparentCutOut
    透明剪影:对于拥有完全不透明和完全透明的区域的对象,比如栅栏
  • Self-Illuminated
    自身发光:对于有发光部件的对象
  • Reflective
    反射:对于能反射外界立方体贴图的不透明纹理对象(比如镜子,本身不透明,但其反映的是外界环境的贴图)

Terrain

Unity的地形系统允许我们给游戏添加广阔的表面,在运行时,地形系统为了为了渲染效率高度优化。在编辑器中,有一套工具可以让我们方便快速地创建地形。
这里写图片描述
这里写图片描述

可以通过Asset Store 下载各种游戏资源
这里写图片描述
这里写图片描述

猜你喜欢

转载自blog.csdn.net/happy990/article/details/79847120