3D游戏实战开发|青训营

96 阅读2分钟

这是我来参加[第五届青训营]笔记创作活动的第十七天。

今天跟着黄高乐老师学习了关于3D游戏开发的基础知识以及了解游戏机制。

3D实体搭建

3D实体:3D游戏是由一个个具有形状的实体组成的。每个实体在空间中存在于特定的位置,有特定的姿态(旋转角度)。 image.png 3D实体的创建:通过加载3D模型创建,如fbx、gltf、obj;通过组合参数化的基本几何体创建。

预制体:将游戏对象保存在工程中,在需要的时候创建出来,这就是预制体;预制体存储着一个游戏对象,包括游戏对象的所有组件以及其下的所有子游戏对象。

相机

  • Clear Flag
  • 背景颜色
  • Culling Mask
  • 投影(透视、正交) image.png

光照

  • 类型:点光源、平行光、聚光灯、面积光
  • 颜色
  • 强度
  • 阴影类型

天空盒

  • 相机的清楚标志设为“天空盒”
  • 窗口-渲染-照明设置
  • 环境-天空盒材质

为主角飞船添加控制逻辑

1、添加刚体组件

-Add Component > Physics > Rigidbody Use Gravity 设置为false,忽略重力的影响 isKinematic设置为true,飞船通过脚本而非力影响运动属性 设置Constraints,冻结Z轴位移以及X、Y、Z轴旋转

2、添加自定义脚本

  • Add Component > New Script

添加敌机

1、为每一架敌机预制体添加一个刚体

  • 选择敌机预制体,在菜单栏执行Component > Physics > Rigidbody
  • 在新添加的刚体组件中,将Use Gravity设置为false
  • 将isKinematic设置为true
  • 打开Constrains旁边的三角形展开按钮,冻结Z轴的坐标和XYZ轴的旋转

2、建立敌机的的脚本Enemey.cs

image.png

3、为每架敌机预制体均添加脚本Enemy.cs

总结:今天学到了3D游戏开发的概念,了解到如何初步的去开发一款游戏,受益匪浅。