虚幻引擎虚拟制片入门教程 之 3D渲染基础知识:模型、材质、贴图、UV等

本文主要用于针对零基础学生的短期3D渲染教程,这里只用最简单的方式解释3D渲染中模型、材质、贴图、UV等基本概念,不涉及制作方法及实现原理

文章目录

  • [1. 概述](#1. 概述)
  • [2. 实例](#2. 实例)
    • [2.1 模型(Model)](#2.1 模型(Model))
    • [2.2 网格体(Mesh)](#2.2 网格体(Mesh))
    • [2.3 材质(Material)和着色器(Shader)](#2.3 材质(Material)和着色器(Shader))
    • [2.4 贴图(Texture)](#2.4 贴图(Texture))
    • [2.5 UV](#2.5 UV)

1. 概述

3D模型(3D model)是通过计算机技术构建的三维数字化表示,用于模拟现实或虚构物体的立体形态‌与外观质感。负责表现形态的数据资源(文件)有时也被称为网格体(Mesh);负责外观质感的数据资源(文件)被称为材质(Material),在计算机中材质中一般以文件的形式存在,它里面一般又包含两个部分:负责反射率、粗糙度、金属度等效果计算的程序或者公式部分被称为着色器(Shader),一个着色器可以被多个网格体共用,而每个网格体可能会有具体的细节变化,那么提供每个网格具体参数的资源(文件),叫做纹理或贴图(Texture)

2. 实例

我们以下面这4个大兵模型为例:

2.1 模型(Model)

这4个大兵模型形态相同但衣服的色彩各异

2.2 网格体(Mesh)

实际上它们的模型网格体(Mesh)是相同的

2.3 材质(Material)和着色器(Shader)

材质在游戏引擎里其实就是一个文件,材质最关键的就是其中的着色器程序(Shader)

上面4个大兵模型的材质中的着色器逻辑都是相同的

2.4 贴图(Texture)

而它们之间唯一的区别就是每个大兵使用的纹理贴图(Texture)不同

2.5 UV

实际上还有一个问题需要补充,那就是2D贴图的每一个像素信息是如何对应到3D模型上的,答案就是通过UV映射。实际上一个网格体中还包含一种数据类型,那就是Uv,也叫做UV Map

3D艺术家构建完网格体以后,要对网格体进行展UV,下面这张图就是上面大兵模型的UV,这张图定义了网格体上每一个位置和一个2D图片的对应关系。

有了UV,Texture上的每一个像素就知道自己对应到网格体的哪个位置了。

对于具有动画的模型,我们一般称之为骨骼网格体(Skeletal Mesh),以及和模型动画相关的基础知识,请参看我的博文:
《关于骨骼(Skeleton)、绑定(Rigging)、蒙皮(Skinning)、刷权重(Weight Painting)那些事儿》

相关推荐
姜太小白5 小时前
【Ollama】Ollama支持的主流模型列表
模型·ollama
AIminminHu14 小时前
OpenGL渲染与几何内核那点事-项目实践理论补充(一-3-(10):从“像素画师”到“硅基神明”:一个CAD开发者穿越GPU着色器管线的十年进化史)
着色器·片段着色器·顶点着色器·opengl 1.0·顶点/片段着色器
ZC跨境爬虫15 小时前
3D地球卫星轨道可视化平台开发 Day15(添加卫星系列模糊搜索功能)
前端·数据库·3d·交互·数据可视化
ycjunhua17 小时前
终极入门:uv —— 超快 Python 包 / 环境管理工具(Windows 完整版)
windows·python·uv
kobesdu17 小时前
开源3D激光SLAM算法的异同点、优劣势与适配场景总结
算法·3d·机器人·ros
ZC跨境爬虫17 小时前
3D 地球卫星轨道可视化平台开发 Day13(卫星可视化交互优化+丝滑悬停聚焦)
前端·算法·3d·json·交互
ZC跨境爬虫18 小时前
3D地球卫星轨道可视化平台开发 Day14(彻底移除多余阴影)
前端·javascript·3d·信息可视化·json
ZC跨境爬虫18 小时前
3D 地球卫星轨道可视化平台开发 Day12(解决初始相位拥挤问题,实现卫星均匀散开渲染)
前端·javascript·算法·3d·json
xiangyong5819 小时前
Python管理UV-命令&实例汇总(一)
开发语言·python·uv
m0_7431064619 小时前
【浙大&南洋理工最新综述】Feed-Forward 3D Scene Modeling(四)
深度学习·算法·计算机视觉·3d·几何学