Html WebGL模型简化
我目前正在计划一个Web GL游戏,并开始为它制作模型,我需要知道是否有人知道,如果说我的模型是1X比例,我的相机从对象中缩小/平移,我的模型变成0.1X比例,WGL引擎会对视图中的模型进行什么样的简化 也就是说,如果我用一个三角形作为例子,这里是1倍的比例 这是一个三角形,在保持所有复杂性的同时,保持原来大小的10%(抱歉,它太模糊了)Html WebGL模型简化,html,3d,webgl,game-engine,game-physics,Html,3d,Webgl,Game Engine,Game Physics,我目前正在计划一个Web GL游戏,并开始为它制作模型,我需要知道是否有人知道,如果说我的模型是1X比例,我的相机从对象中缩小/平移,我的模型变成0.1X比例,WGL引擎会对视图中的模型进行什么样的简化 也就是说,如果我用一个三角形作为例子,这里是1倍的比例 这是一个三角形,在保持所有复杂性的同时,保持原来大小的10%(抱歉,它太模糊了) 虽然三角形看起来相同,但复杂性并非完全必要,可以简化为4个三角形以提高性能 我知道WebGL是一个状态机,可能什么都不会发生;模型的复杂性保持不变,无论规
虽然三角形看起来相同,但复杂性并非完全必要,可以简化为4个三角形以提高性能 我知道WebGL是一个状态机,可能什么都不会发生;模型的复杂性保持不变,无论规模或状态如何,但如何解决这一问题以获得最佳性能 因为在1X比例下,视图中可能只有一个或很少的模型,但当缩放到0.1X比例时,可能会有数百个。也就是说,如果模型的复杂性太高,那么性能就会受到巨大的影响,游戏就会变得毫无反应/无用 非常感谢所有建议。搜索“镶嵌”。 使用它,您可以从网格中添加或减去三角形 细分与LOD对象(细节级别)密切相关 比例因子就是网格的所有顶点都要乘以的系数,使用“比例”可以简单地沿轴拉伸网格 看看这个Three.js示例:
(WASD/鼠标移动)WebGL不会为您简化。你必须自己做 通常,您会根据不同的手工模型显示的距离来计算距离摄影机的距离。在远处显示低细节模型,在近处显示高细节模型。有很多方法可以做到这一点,你选择哪种方法取决于你自己。比如说
1----2----3----4 1--------------4
| | | | | |
| | | | | |
4----5----6----7 | |
| | | | <-----> | |
| | | | | |
8----9----10---11 | |
| | | | | |
| | | | | |
12---13---14---15 12-------------15
1----2----3----4 1----4
| | | | | |
| | | | | |
4----5----6----7 | |
| | | | | |
| | | | | |
8----9----10---11 | |
| | | | | |
| | | | | |
12---13---14---15 12-------------15
Jak和Daxter以及Crash Team Racing(旧游戏)使用上述结构。
远处仅使用点1、4、12、15。特写全部16点被使用。
点2、3、4、5、6、8、9、10、11、13、14可以放置在任何位置。
在远距离和近距离之间,所有点都会变形,因此16点
网格将成为4点网格。如果你玩Jak和Daxter#1或Ratchet和Clank#1
你可以在游戏中看到这种变形。到了第二个版本
游戏中,艺术家们擅长隐藏变形我相信还有很多其他的。有一些实时细分算法可以从高到低自动生成低多边形,或者以其他形式(b样条曲线、元球、细分曲面)描述模型,然后生成一些多边形。他们是否足够快并且产生足够好的结果取决于你。据我所知,大多数AAA游戏都不使用它们我喜欢建议3,这是一款建模工作最少的游戏;)但我想知道应用的纹理,当然在简化过程中,我必须重新应用纹理,这与在简化级别重新绘制整个模型一样昂贵?我可以看到简化带来的好处,但除了复杂度之外,还有3条渲染路径。1.画低多边形。2.画高多边形。3.在“低”和“高”之间绘制变形。在变形过程中,使用低多边形和高多边形纹理并交叉褪色。老实说,除非你要发布AAA头衔或只是想这么做,否则我建议现在就使用#1,然后继续。