US2S1L15——视锥体的投影方式和相似三角形
US2S1L15——视锥体的投影方式和相似三角形 摄像机视锥体的投影方式 透视投影:视锥体内顶点和原点连接,在近裁剪面的交点为投影点 正交投影:视锥体内顶点向近裁剪面做左右裁剪面平行线,在近裁剪面交点为投影点 不管是透视还是正交投影摄像机,你会发现视锥体中看到的物体,最终都会被投影到近裁剪面上来进行显示 透视投影摄像机(视锥体形似金字塔,一般3D游戏使用) 透视投影摄像机拍摄效果(有近大远小): 透视投影原理以及投影点的获取,类似于相机和眼球: 透视投影视锥体内**顶点和原点连接,在近裁剪面的交点为投影点** 透视投影摄像机(视锥体形似立方体,一般横板2D游戏使用) 透视投影摄像机拍摄效果(无近大远小): 正交投影原理以及投影点的获取: 正交投影视锥体内**顶点向近裁剪面做左右面平行线,在近裁剪面交点为投影点** 相似三角形的重要性质 三角形的三个角分别相等,三边成比例的两个三角形叫做相似三角形(形状一致,大小不一定一致) 重要性质: 相似三角形的对应角相等: ∠A=∠A′∠B=∠B′∠C=∠C′\angle A = \angle...
US2S1L17——透视投影变换
US2S1L17——透视投影变换 透视投影变换 获取透视投影的摄像机重要参数 Near:近裁剪面离摄像机的距离 Far:远裁剪面离摄像机的距离 FOV(Field of View):决定视锥开口角度 Aspect:屏幕宽高比 近裁剪面 近裁剪面高=2×Near×tan(FOV2)近裁剪面高 = 2 \times Near \times \tan(\frac{FOV}{2})近裁剪面高=2×Near×tan(2FOV) 近裁剪面宽=Aspect×近裁剪面高=Aspect×2×Near×tan(FOV2)近裁剪面宽 = Aspect \times 近裁剪面高 = Aspect \times 2 \times Near \times \tan(\frac{FOV}{2})近裁剪面宽=Aspect×近裁剪面高=Aspect×2×Near×tan(2FOV) 远裁剪面 远裁剪面高=2×Far×tan(FOV2)远裁剪面高 = 2 \times Far \times...
US2S1L16——正交投影变换
US2S1L16——正交投影变换 正交投影变换 获取正交投影的摄像机重要参数 SizeSizeSize:视锥体竖直向上高度的一半 NearNearNear:近裁剪面离摄像机的距离 FarFarFar:远裁剪面离摄像机的距离 AspectAspectAspect:屏幕宽高比 远近裁剪面的高 = 2⋅Size2 \cdot Size2⋅Size 远近裁剪面的宽 = 2⋅Aspect⋅Size2 \cdot Aspect \cdot Size2⋅Aspect⋅Size 正交投影变换到裁剪空间的矩阵: 将视锥体中心位移到观察空间原点中心 将长方体视锥体的x,y,zx,y,zx,y,z坐标范围映射到(-1,1)长宽高为2的正方体中 得到了最终的变换矩阵: (1Aspect×Size00001Size0000−2Far−Near−Near+FarFar−Near0001)\begin{pmatrix} \frac{1}{Aspect \times Size} & 0 & 0 & 0 \\ 0 & \frac{1}{Size}...
US2S1L14——齐次裁剪空间和NDC空间
US2S1L14——齐次裁剪空间和NDC空间 视锥体 在渲染管线中,顶点、法线等相关模型数据会经过以下的空间变换(详见:US2S1L10——坐标空间的变换) 模型空间 → 世界空间 → 观察空间 → 裁剪空间 → 屏幕空间 通过之前的学习,我们已经可以将相关数据在 模型空间 → 世界空间 → 观察空间...
US2S1L13——观察空间变换
US2S1L13——观察空间变换 知识回顾 在渲染管线中,顶点、法线等相关模型数据会经过以下的空间变换 模型空间 → 世界空间 → 观察空间 → 裁剪空间 → 屏幕空间 上节课学习的模型空间变换主要指的就是 模型空间 → 世界空间 的变换,我们称之为 模型空间变换 坐标空间变换规则一般有两种 方式一:通用的坐标空间变换规则(存在缩放时,轴向单位向量*缩放因子) 方式二:认为一开始模型坐标空间和世界坐标空间重合,模型发生缩放、旋转、平移变换时,模型空间下的点和向量也应该发生相同的变换 观察空间的意义 观察空间就是摄像机的模型空间,它决定了渲染的视角和视野 观察空间(view space) 也被成为 摄像机空间(camera...
US2S1L12——模型空间变换
US2S1L12——模型空间变换 模型空间变换 模型空间的意义 模型空间的主要意义是方便我们建模,模型的顶点等数据都是基于模型空间表达的。 模型空间变换指什么 将模型空间中的点或向量通过矩阵乘法计算,变换为相对于世界坐标空间下数据 如何进行模型空间变换 方法一: 认为一开始模型坐标空间和世界坐标空间重合,模型发生缩放、旋转、平移变换时 模型空间下的点和向量也应该发生相同的变换 方法二: 用上节课学习的坐标变换规则进行计算,如果存在缩放,直接用轴向单位向量乘以对应轴缩放因子 模型空间的意义 模型空间(model space)也被称为对象空间(object space)或局部空间(local space) 它一般指3D模型的局部坐标系,每个模型都有自己独立的坐标空间, 模型空间的主要意义是方便我们建模,模型的顶点等数据都是基于模型空间表达的。 注意:在Unity中当模型移动或旋转时,模型空间坐标系也会随着变换,因为此时的模型坐标空间是世界坐标空间的子空间 模型空间中的注意事项 在模型空间中,我们一般会有 上、下、左、右、前、后...
U4S4L21——构建布局报告
U4S4L21——构建布局报告 构建布局报告 构建布局报告提供了有关可寻址资源的构建打包的详细信息和统计信息,包括 AB包的描述 每个资源和AB包的大小 解析作为依赖项隐式包含在AB包中的不可寻址资源 AB包的依赖关系 我们可以通过查看报告文件获取这些信息 如何查看构建布局报告 启用调试构建布局功能 Edit > Preferences > Addressables 启用Debug Build Layout 只要我们构建打包可寻址资源后,就可以在Library/com.unity.addressables/文件夹中找到buildlayout.txt文件 构建布局报告的内容 内容中主要包含: Summary:摘要信息(包括AB包数量、大小等等) Group 包名:每组相关信息(哪些资源,几个包,包大小等等) BuiltIn Bundles:依赖相关信息
U4S4L20——分析窗口
U4S4L20——分析窗口 分析窗口 分析窗口是一种收集项目可寻址布局信息的工具,它是一种信息工具,可以让我们对可寻址文件布局做出更明智的决定 分析窗口对于我们来说也很有用,当我们打包后,我们可以通过分析窗口工具 分析AB包中的资源分布是否合理,根据分析结果自己处理一些潜在问题 打开分析窗口 Window > Asset Management > Addressables > Analyze Addressabeles Groups > Window > Analyze 使用分析窗口 上方的三个按钮 Analyze Selected Rules:分析选定的规则,在下方选择一个规则后,点击该选项,分析规则就会出现内容 Clear Selected Rules:清除选定规则 Fix Selected Rules:修复选定规则,对于Fixable Rules:可修复的规则,点击该按钮可以自动修复问题 下方的内容 Analyze Rules:分析规则 Fixable...
U4S4L19——事件查看窗口
U4S4L19——事件查看窗口 事件查看窗口 使用可寻址事件查看窗口可以监视可寻址资源的资源内存管理,该窗口: 显示应用程序何时加载和卸载资源 显示所有可寻址系统操作的引用计数 显示应用程序帧率和分配的内存总量近似图 我们可以通过它来检查可寻址资源对性能的影响,并检查没有释放的资源 事件查看窗口对于我们来说很有用,我们可以通过它来排查内存泄露相关的信息 比如场景中对象都被移除了,但是事件查看窗口中还有AB引用相关的信息,那证明存在内存泄露 可以排查加载和释放是否没有配对使用 打开事件查看窗口 注意:使用事件查看窗口的前提要打开AddressablesAssetSettings配置文件中的事件发送开关 Window > Asset Management > Addressables > Event Viewer Addressabeles Groups > Window > Event...