3D实战开发学习|青训营笔记

132 阅读3分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第17天

一、本堂课重点内容:

1471f8cfd845811c21b5a442d9ba4e4.jpg

二、详细知识点介绍:

  • 学习目的

在没有美术的前提下, 利用Unity快速搭建电子游戏原型,制作游戏Demo

  • 3D实体

    • 3D实体的位姿态

      1)位置

      2)旋转

      3)缩放

      其中使用欧拉角进行调整物体的旋转角度

      旋转角度有:

      1)偏角

      2)偏航

      3)侧滚

      其中实体坐标系类型有:

      1)右手坐标系

      2)左手坐标系

      在Unity中先缩放后旋转最后平移

    • 3D实体的创建

      1)通过加载3D模型创建,如fbx、gltf、obj

      2)通过组合参数化的基本几何体创建

    • 3D实体的绘制

      1)材质

      2)颜色

      3)纹理

    • 3D实体创建之模型制作

      • 3D实体开发与面向对象开发区别

        与面向对象的开发形式对比,3D最大的区别是以组合的形式,基于对象的形式开发

        具体区别有:

        面向对象通常以封装、继承、多态等形式从父类继承
        
        游戏中多以EC(实体)结构形式开发,添加组件进行修改,用组合的方式将插件挂载到不同实体上
        

        故诞生预置体的概念

      • 预置体

        将游戏对象保存在工程中,在需要的时候创建出来,这就是预置体

        预置体存储着一个游戏对象,包括游戏对象的所有组件以及其下的所有子游戏对象。

        在游戏场景中任意预置体与任意实例可以随意转换

  • 渲染游戏氛围,游戏场景环境

    • 相机

      三维到二维的降维操作

      1)Clear Flag

      2)背景颜色

      3)Culling Mask

      4)投影(透视、正交)

      • 投影类型

        透视:平时看到的场景,近大远小(通常采用)

        正交:近远无差(一般二、渲染游戏氛围,游戏场景环境

    • 光照

      1)类型:点光源、平行光(前两者常用)、聚光灯、面积光(后两者运行效率不高)

      2)颜色

      3)强度

      4)阴影类型(投影边缘硬或软)

    • 天空盒

      无论什么角度都可以观察到环境纹理,是一种图片素材

      1)相机的清除标志设为“天空盒”
      
      2)窗口-渲染照明设置
      
      3)环境天空盒材质
      
  • 对静态实体如何控制与碰撞

    • 实时游戏的时序

      每秒进行更新,逻辑判断以及监听
      image.png

    • 添加控制逻辑

    1)添加刚体组件

    2)添加自定义脚本

    3)设置标签、图层和物理规则

    游戏中存在不同类型的游戏对象,它们需要放置在不同的图层中,并与其他游戏对象发生不同的交互

    4)添加碰撞代码

三、引用参考:

  • 文章 实时游戏的时序 图片参考引用于「3D 游戏实战开发」第五届字节跳动青训营 - 前端专场 课程