This page has been translated automatically.
UNIGINE 基础课程
2. 虚拟世界管理
3. 3D模型准备
4. 材质
5. 摄像机和光照系统
6. 实现应用程序逻辑
7. 制作过场动画与动画序列
8. 准备发布项目
9. 物理系统
10. 优化基础
11. 项目2:第一人称射击游戏
12. PROJECT3: Third-Person Cross-Country Arcade Racing Game
13. PROJECT4: VR Application With Simple Interaction

什么是"引擎"?游戏与3D应用程序如何制作?

3D applications, areas of use, platforms
3D应用程序、应用领域与平台#

When working at the computer, we often interact with three-dimensional graphics without even realizing it. Ideal design elements, animated 3D models — well-known components of advertising and Internet applications, and of course sophisticated computer games that immerse us in their worlds and allow us to do a lot of things that are impossible in real life.使用电脑时,我们常在不经意间与三维图形互动:精美的设计元素、动态3D模型是广告和网络应用的常见组件,当然还有那些让我们沉浸其中、实现现实不可能之事的复杂电脑游戏。

3D visualization is the process of creating a three-dimensional image that can be fictional or as close to reality as possible. An important aspect of this process is the ability to create a virtual environment, which is an entire artificial world modeled with the help of modern technologies and transmitted to a person through their senses — sight, hearing, touch, emotions, or their imitation. This world can recreate different areas of human activity, allowing individuals to perform the same actions as they would in real life, or it can embody an imaginary fantasy world.3D可视化是创建三维图像的过程,这些图像可以是虚构的,也可以无限接近现实。该过程的核心在于构建虚拟环境:一个通过现代技术模拟、通过感官(视觉/听觉/触觉/情感或其模拟)传递的完整人造世界。这个世界既能复现人类活动的不同领域,也能呈现想象中的奇幻宇宙。

3D visualization has become an integral part of modern life, with a wide range of applications such as virtual reality (VR), augmented reality (AR), and mixed reality (MR) systems being used in various fields. These technologies are constantly expanding and have already found their place in:3D可视化已成为现代生活不可或缺的组成部分,其应用范围涵盖虚拟现实(VR)、增强现实(AR)和混合现实(MR)等系统,广泛应用于以下领域:

Simulators and training equipment. 3D images are generated in real-time to provide a comprehensive immersive experience for training and skill testing processes. This approach is particularly useful in industries where mistakes can have serious consequences, such as vehicle driving, team training, tactical operations, health and safety briefings, and maintenance. It allows for safe operator training and enhances the overall learning experience.模拟和训练。实时生成3D图像,为训练和技能测试过程提供全面的沉浸式体验。这种方法在错误可能造成严重后果的行业中特别有用,例如车辆驾驶、团队训练、战术操作、健康安全简报和维护。它允许进行安全的操作员培训,并提升整体学习体验。

Digital twins. 3D visualization that allows for the creation of digital doubles with complex structures. This technology has numerous applications across industries, including improving decision-making, visualizing predictive analytics, and accelerating maintenance processes using virtual reality technologies. Additionally, digital twins can facilitate real-time visualization of data collected from IoT devices at industrial sites and rapid updates from corporate Big Data lakes.数字孪生。这种3D可视化技术能够创建具有复杂结构的数字副本。该技术在各行业拥有广泛应用,包括改进决策制定、可视化预测分析,以及通过虚拟现实技术加速维护流程。此外,数字孪生还能实现工业现场物联网设备采集数据的实时可视化,并快速更新企业大数据湖的信息。

Machine Learning. Training computer vision systems using automated labeling of photorealistic datasets. The ability to modify artificial environments enables variability in machine learning, such as different lighting conditions, surrounding objects, and observer positions. This enhances the efficiency of training and verifying AI systems.机器学习。通过照片级真实数据集的自动标注来训练计算机视觉系统。可调节人工环境的能力为机器学习提供了多样性,例如不同的光照条件、周边物体和观察者位置。这显著提升了AI系统训练和验证的效率。

Smart City Systems. Utilizing the building information model (BIM) concept to create a digital twin of the city on a detailed 3D model. Real-time data updates for each layer, such as transportation, power supply, and geo-information layers, can be incorporated into the model.智慧城市系统。运用建筑信息模型(BIM)概念,在精细3D模型上构建城市数字孪生。实时更新的交通、供电和地理信息等各层级数据均可整合至该模型中。

Entertainment Industry. Developing computer games, movies, animation, visual effects (VFX), virtual exhibitions, and museums that recreate long-lost historical and cultural artifacts using advanced technologies.娱乐产业。开发电脑游戏、电影、动画、视觉特效(VFX),以及运用先进技术重现失传历史文物的虚拟展览与博物馆。

Training. Utilizing VR applications in the educational sphere to enhance visibility, engagement, full immersion in the material being studied, and safety of the learning process.教育培训。在教育领域应用VR技术,显著提升教学可视性、参与度、知识沉浸感以及学习过程的安全性。

Medicine. Creating virtual operating rooms, applications for rehabilitation medicine and functional training, as well as psychological help for fighting phobias.医疗领域。创建虚拟手术室、康复医学与功能训练应用,以及用于克服恐惧症的心理辅助治疗。

Architectural visualization. Designing and visualizing buildings, structures, and interiors before they are constructed or renovated.建筑可视化。在施工或改造前完成建筑、结构与室内设计的可视化呈现。

Computer-aided design systems (CAD). Visualizing CAD data in VR, analyzing ergonomics, optimizing the design, and providing opportunities for collaborative development in a remote format.计算机辅助设计系统(CAD)。通过VR实现CAD数据可视化,进行人体工学分析,优化设计方案,并提供远程协作开发支持。

Product marketing. Creating realistic 3D visualizations of any product, including high-quality presentations, optimizing product displays, creating virtual product configurators, and facilitating virtual test drives.产品营销。为各类产品创建逼真的3D可视化方案,包括:高品质产品演示、展示效果优化、虚拟产品配置器开发以及虚拟试驾体验构建。

Considering the wide range of 3D applications available, it is clear that they operate on various hardware and platforms, including specialized workstations, desktop computers, game consoles, tablets, smartphones, and more. These systems run on different operating systems such as Windows, Linux, Android, iOS, and others.考虑到现有3D应用的广泛性,它们显然能在各类硬件平台上运行,包括专业工作站、台式电脑、游戏主机、平板电脑、智能手机等设备。这些系统支持Windows、Linux、Android、iOS等多种操作系统。跨平台特性指的是软件在不同硬件和软件系统上的兼容能力。UNIGINE目前支持Windows和Linux操作系统,以及PlayStation5和Xbox Series X游戏主机。

Definition of Engine
引擎定义#

The term game engine implies a whole complex of application software modules that provide graphic visualization, sound, movement of objects and characters, their actions in accordance with scripts, as well as network interaction, compliance with physical effects and laws, and much more. Simply put, these modules bring three-dimensional worlds to life.术语"游戏引擎"本质上是英文"Game Engine"的直译。这个简单的词组背后隐藏着一整套应用软件模块组成的完整体系,这些模块提供图形渲染、音效、物体与角色运动(依据脚本执行动作)、网络交互、物理特效模拟等功能。简而言之,正是这些模块让三维世界变得栩栩如生。

The term first appeared in the mid-nineties of the last century. It was associated with games in the first-person shooter genre, and more specifically with Doom, the most popular one at that time. The source code of Doom was well-thought-out, with clearly marked out main components: 3D graphics system, sounds, collision calculations, scripts, etc. Thus, instead of writing their own code, other programmers re-used the Doom creators work: they made some changes in the code, changed graphics and appearance of weapons, designed new levels, adjusted the rules and released new games with the same code from Doom as the basis.该术语最早出现于上世纪90年代中期,与当时最流行的第一人称射击游戏《毁灭战士》(Doom)密切相关。Doom的源代码经过精心设计,明确划分了核心组件:3D图形系统、音效、碰撞计算、脚本等。因此,其他程序员无需从头编写代码,只需复用Doom的核心架构:修改部分代码、更换武器模型与贴图、设计新关卡、调整规则后,就能基于同一套代码发布全新游戏。

The engine of a game is its core, the basic software on which all other components of the game are built. It's software code that can be used to create variations of the game, add-ons to it, or even other games with their own worlds.游戏引擎作为核心基础软件,承载着游戏的所有组件。这段可复用的软件代码不仅能创建游戏的不同版本或扩展内容,甚至能开发出拥有全新世界观的其他游戏。

In the 1990s, more game engines with free access began to appear. These engines allowed both third-party developers and common users to try writing their own games. As time passed, engines became more and more advanced and voluminous in terms of program code.1990年代起,越来越多开源游戏引擎涌现,让第三方开发者和普通用户都能尝试编写自己的游戏。随着时间的推移,引擎的代码结构日趋复杂和完善。

Using a ready-made game engine saves developers time by providing typical code elements that can be used to build a base for the game. This allows developers to focus on implementing ideas, developing graphics and sound, refining mechanics, and adding new features.使用现成游戏引擎能为开发者节省时间,提供可快速构建游戏基础的标准化代码模块。这让开发者能专注于创意实现、图形音效开发、机制打磨和功能创新。

Thus, from a developer's point of view, an engine is a software platform on which applications can be developed, not just games. Engines are actively used in the development of applications with virtual and augmented reality, including guides, reference books, encyclopedias, and more.因此从开发者视角来看,引擎不仅是游戏开发平台,更是各类应用的开发基础。引擎技术已广泛应用于虚拟现实和增强现实程序的开发,包括电子导览、参考工具、百科全书等应用领域。

The image below is the simplified structure of the UNIGINE engine to demonstrate the relationships between internal components and external objects:下图展示了UNIGINE引擎的简化结构,呈现其内部组件与外部对象的关联关系:

Typical project structure
典型项目结构#

When you start developing a 3D application, you create a project. A project contains content (models, textures, scenes, settings, sounds, etc.), program code or logic (what breathes life into the content and makes it perform the task at hand), and metadata about the application (target platform, architecture, programming language used, and other additional information).当你开始开发3D应用程序时,你需要创建一个项目。一个项目包含内容(模型、纹理、场景、设置、声音等)、程序代码或逻辑(为内容注入生命并使其执行手头任务的部分),以及关于应用程序的元数据(目标平台、架构、使用的编程语言和其他附加信息)。

A project may include one or more multi-component 3D scenes called worlds.一个项目可能包含一个或多个被称为"世界"(world)的多组件3D场景。

Projects are created and managed through the SDK Browser.项目通过SDK浏览器创建和管理。

Main stages of project development
项目开发的主要阶段#

The general workflow for developing 3D applications such as computer games, simulators, trainers, and other virtual environments is as follows:开发3D应用程序(如电脑游戏、模拟器、训练程序和其他虚拟环境)的一般工作流程如下:

  1. Collecting and analyzing data about the objects and processes of the system and requirements.收集和分析系统对象、流程及需求的相关数据。
  2. Creating a technical assignment or design document based on the collected data. This document provides a detailed description of the application to be used in the development process (concept, scheme, interface, graphics, virtual environment, and other relevant details).基于收集的数据创建技术任务书或设计文档。该文件提供了开发过程中将使用的应用程序的详细描述(概念、方案、界面、图形、虚拟环境和其他相关细节)。

The iterative cycle, with stages 3-4 executed in parallel:迭代循环(第3-4阶段并行执行):

  1. Creating content (3D models, textures, animations, assembling and customizing 3D scenes, materials, lighting, physics).创建内容(3D模型、纹理、动画、组装和定制3D场景、材质、光照、物理效果)。
  2. Implementing the application logic (writing and debugging code).实现应用程序逻辑(编写和调试代码)。
  3. At the final development stages, testing of the project is performed along with improvements and performance optimization.在最终开发阶段,进行项目测试以及改进和性能优化。
  4. Final build and release.最终构建和发布。

During this course, we will discuss the main stages of 3D application development in more detail as we work on our own projects.在本课程中,我们将在实际项目开发过程中更详细地讨论3D应用程序开发的主要阶段。

本页面上的信息适用于 UNIGINE 2.20 SDK.

最新更新: 2025-06-09
Build: ()