unity3d-3

unity3d 游戏场景与游戏对象
游戏实践 动作分离版 牧师与恶魔

构建自己的游戏场景

从Asset Store上可以下载很多的别人做好的素材, 这里我选择了Fantasy Forest Set作为地形的素材, 以及Skybox Series Free作为天空的素材.
用上面这两个资源我们来学习构建一下unity中的游戏场景.
Fantasy Forest Set
Skybox Series Free
(以上资源都是Free的)

构造地形(Terrain)

首先是新建一个terrain
ground
当然现在只有空空的一片地, 不过要构建复杂的地形还需要从简单的做起
unity当然提供了一些方便而简单的工具给我们使用
gj
然后我们可以造一些起伏, 或者是山
根据下载的素材, 可以添加到tree和grass中, 然后在地形中一刷, 就出来了
最终的效果
tree

构造天空(Skybox)

skybox实际上就是给摄像机最后的背景贴图
所以只要将创建好的material装载到camera的skybox组件上就完成了(下文有属性介绍)

一般来说, material需要我们找6张天空的图来创建, 由于下载了对应的素材, 里面已经帮我们预制好了, 我就应用来试试效果
sky

关于unity中各类游戏对象的使用

Empty(空对象)

不显示的游戏对象, 但很实用
通常可以添加一些场景控制器, 动作管理之类的c#脚本在上面
用于加载资源和控制运动, 十分好用

其他的游戏对象也可以由Empty间接生成, 通过添加组件(component)

所以在这里顺便介绍一下所有游戏对象都有的属性
empty

  • 打钩
    • 设置游戏对象是否为active 只有active才会执行update()
  • Empty
    • 游戏对象的名字(name)
  • Tag
    • 标签, 可以用来分类
  • Layer
    • [0..31],分组对象,常用于摄像机渲染

Camera(摄像机)

常用于展示(渲染)游戏场景

  • camera组件
    • background
      • 背景颜色
    • Culling Mask
      • 指定摄像机所作用(渲染)的layer
    • projection
      • 设置透视视图或正交视图
    • Field of View
      • 视野范围(透视视图)、视角大小(正交视图 数字)
    • ClippingPlanes
      • 摄像机的显示(渲染)的近远范围
    • Viewport Rect
      • (x,y)为屏幕坐标, W、H为显示宽和长
    • Depth
      • 决定摄像机成像的先后顺序, 值越大越前
  • Flare layer
    • 使用炫光镜头, 雾化处理等
  • GUI layer
    • 渲染遗留的GUI
  • Audio Listener
    • 挂载拾音器
  • 初级用法:制作小地图
    • 双摄像机
    • 小地图摄像机朝向为垂直向下
    • 设置为正交视图
    • depth设置为 0 (为了呈现在主摄像机前)
    • (x,y,w,h) = (0.9,0,0.1,0.12) (在右下角显示小地图)

c1
c2

  • 中级使用
    • 用不同的摄像机渲染不同的场景和动画效果
    • 没有示例

Skybox(天空盒)

本质上是游戏场景远处的背景贴图

  • 创建一个”天空”
    • Asset->create->Material
    • Inspector->shader->skybox->6 sided(6面体贴图天空)
    • 拖入前后上下左右 6 张图片便制作完成了
  • 使用”天空”
    • camera->add component->rendering->skybox
    • 将上面创建的material拖入即可

Light(光源)

用于照亮游戏场景

  • type
    • Directional 平行光
    • Spot 聚光灯
    • Point 点光源
    • Area 区域光
      (烘焙是个很谜的东西)

3D Object

是一系列由三角网格表现的物体(shade->wirframe 可以看出来)

  • 基本组件
    • mesh 物体形状
    • box collider
    • mesh renderer 表面渲染器, 显示色彩, 设置material等
    • 可添加 rigidbody 设置为刚体, 应用重力等
    • Materials and Shaders(材质与着色器)
      • Texture 纹理
      • Material 材质
      • Shader 着色程序

Terrain(地形)

具体使用可以见上方创建游戏场景的地方

Audio(音频)

可以设置循环播放某个声音素材

游戏资源库

  • import
    • Asset->import packages->characters
    • 各种资源(预设)..

牧师与恶魔

仓库地址