大作业选题

一、总览

3D游戏的实时交互仿真引擎是一款游戏最基础也是最关键的组件。在课程大作业中,每个小组需根据题目要求,实现一个3D实时虚拟仿真引擎。

二、大作业要求

  1. 基本要求
    • 选择第三章中的一个主题,参照参考要求进行实现。
    • 设计交互元素,至少包含基本的抓取、放置、操作以及主题所需其他交互方式。
    • 开放性的3D沙盒系统。模块需能对不同的输入产生合理的效果,而不是预制动画。
    • 模型、组件等需要能满足基础内容呈现(3D建模、场景设计等美术元素不做评分项,如磁铁、电子模型可使用立方体、圆柱体拼接,模型无需过于细致)。
    • 针对选定模块的特征,设计交互界面和交互 UI,例如选中物体高亮效果、BillBoard 提示板等。
    • 实现高级视觉特效,如自定义的各类 Shader。
    • 对选定的主题模块,提供至少一个应用示例。要求尽可能地突出对应模块的功能特点,充分展示小组研发引擎系统的实力。
    • 明确列出并给出开发使用的第三方资源,含 github 参考的源码和 asset store 资源包。
    • 因疫情原因,今年不对外接式VR设备(如HTC VIVE)开发做特别要求,但鼓励各小组将项目发布在 Cardboard/Web3D 上,以便后续展示和体验。
      • 部分功能可能难以在Web3D或移动端运行,如Compute Shader、Geometry Shader等,请各小组自行判断迁移难度,对实现方式、实现功能、发布方式进行取舍。
  2. 可选项
    • 每个主题下都给出了参考的可选项,也可自行构思并添加功能。
    • 作业会根据最终实现难度和工作量给予加分奖励。
  3. 关键技术
    • 每个主题都给出关键技术说明,请重点实现关键技术相关算法
  4. 其他说明
    • 大作业要求和说明中列出的参考图片、来源仅作参考。小组内可作为参考进行实现,也可在要求内自由发挥。
    • 大作业最终分数会考量工作量和工作难度,选择工作量相对较少的主题模块的小组,请尽量丰富自己的引擎功能,提出挑战难点。
    • 部分模块只要求了提供应用示例,而不要求其包含游戏、教育性质,但鼓励各小组丰富模块应用示例,或者设计若干个应用示例。
  5. 开题答辩要求
    • 各小组应在开题答辩前根据选题进行调研,确定要实现的功能、预期实现效果、可能使用的技术。其中预期实现效果包含本文给出的要求以及小组提出的创新点。
    • 前期调研需要进行组内头脑风暴、文献阅读和相关技术了解,这将影响小组对项目难度、进展的把握,请各小组认真准备。
  6. 参考插件及资源
    • Vuforia / AR kit / AR core: AR 交互组件

三、具体项目介绍

以下项目共13个主题。

1 车辆仿真

img

介绍

车辆仿真,在游戏、人工智能、军工、教育等领域有着重要的应用。车辆本身包含的传动结构、悬挂系统等复杂结构都为仿真带来了难度。请你基于刚体仿真算法搭建一个车辆仿真引擎,实现一个简单的车辆仿真交互系统。

参考要求

关键技术

参考资料

2 液体仿真

img

介绍

液体仿真一直是图形学仿真领域的一个重要研究方向。在视频游戏、教育等行业中,实时的液体动画不仅能够使得画面更加生动真实,增强用户的代入感,也为交互提供了更丰富的探索空间。请你实现一个实时液体仿真算法,实现液体渲染,并搭建交互场景验证可行性。

参考要求

关键技术

参考资料

3 烟雾仿真

img

介绍

在战争类或射击类游戏中,烟雾往往是游戏特效中的重要组成部分,它不仅能增强游戏的真实感,还能成为游戏中重要的机制,如烟雾弹、战争迷雾等。请你实现一个实时烟雾仿真算法,实现基于体积渲染的烟雾渲染,并搭建交互场景验证可行性。

参考要求

关键技术

参考资料

4 破碎效果仿真

img

介绍

当物体受力超过阈值时,物体表面产生裂痕,并根据裂痕被分割成碎片。这些碎片继承了原来物体的质量和动量,并将进一步作为仿真对象进行仿真。这种现象往往应用在建筑爆破、物体中弹等的特效中。请你实现一个实时破碎效果仿真算法,实现一个类似于Unreal Chaos的破碎效果系统,并搭建交互场景验证可行性。

参考要求

关键技术

参考资料

5 COVID-19病毒传播模拟

img img

介绍

COVID-19是近段时间全世界关注的焦点,而通过计算机仿真技术,可以很好的应用于病毒预测及管控、知识科普等领域。请实现一个COVID-19病毒传播模拟软件。

参考要求

关键技术

参考资料

6 细胞的可视化

image-20200525000106059

介绍

细胞及细胞器的构造、功能是高中生物的一个重要知识点,在新冠肺炎疫情下,展示病毒是如何影响细胞也是一个有意义的课题。请搭建一个生物仿真引擎,实现模拟生物各个细胞器的协同工作过程、可视化各个细胞器以及细胞内分子、动态展示细胞内物质合成过程等。

参考要求

关键技术

参考资料

7 凸透镜成像规律

img

介绍

凸透镜成像是中学物理十分重要的一个知识点。请搭建一个光学仿真引擎,实现凸透镜成像的模拟,并形成具有良好交互性及教育意义的教育应用。

参考要求

关键技术

参考资料

8 光电效应

image-20200524161406757

介绍

光电效应是高中物理中的一个实验,请实现一个物理仿真引擎,根据爱因斯坦光电方程对光电效应过程进行模拟,能够提供较好的交互性并且具有一定教育意义。

参考要求

9 一氧化碳还原氧化铁实验

img

介绍

一氧化碳还原氧化铁是中学化学中常见的一个实验。请实现一个化学仿真引擎,对一氧化碳还原氧化铁实验中的交互及现象进行模拟,形成一个具有良好的交互性及教育意义的教育应用。

参考要求

关键技术

参考资料

10 基于物理的概率实验仿真引擎

image-20200523212642162

介绍

硬币、骰子是数学中为数不多的经常使用的理想实验器材,通过简单的投掷,可以设计出许多有趣的概率实验。请你实现一个基于物理的概率模拟器,能够选择不同的抛掷物进行概率实验,并真实地模拟抛掷物的运动。

参考要求

关键技术

参考资料

11 力学引擎

image-20200524231623420

介绍

力学在物理仿真中是非常重要的基础,也是高中物理实验探讨的一个热点。请开发出一个力学引擎,使得用户能够进行力学的仿真实验,并提供一定的交互性与教育性。

参考要求

关键技术

12 机器人搭建仿真环境

image-20200523213409245

image-20200523213419547

介绍

机器人编程是一种寓教于乐的教学方式。请你实现一个机器人搭建仿真环境,并在其中支持机器人的力学仿真和简单编程。

参考要求

关键技术

参考资料

13 生物群落模拟引擎

image-20200523213627279

image-20200523213659862

介绍

生物群落是指一定区域环境内的所有生物种群的集合,如一个鱼缸便包含了一个由微生物、水草、鱼类等组成的小型生物群落。请你实现一个生物群落模拟系统。

参考要求

关键技术

参考资料