工作流程

下面记录了Soft8Soft团队和Verge3D用户在内部使用的标准工作流程(示例包括Teapot Heater演示,Industrial Robot演示,电子商务网站模型等)。

工作流程 - 图1

建模和烘焙(Modeling and Backing)

在我们的团队中,我们练习如下建模流程。首先,创建高模。下一步,通过简单地去掉subsurf修改器或拓扑获得低到中模。每个模型建议不超过10万三角面。

然后将低模 展开 UV。最后,将模型三角面化 – 这不是Verge3D的要求,而是推荐用于烘焙贴图。此外,三角面更适合加载到第三方编辑器,如Substance Painter。 如果需要,可以使用叠加的高模和低模来烘焙法线和AO贴图。

工作流程 - 图2

选择材质系统(Choosing Material System)

我们建议3ds Max艺术家使用 standard/Scanline 或 physical/ART (需要2017年或更高版本)材质。blender艺术家应使用Cycles或Eevee(需要2.8版)材质。如果您的资源由于某种原因需要与glTF 2.0标准兼容(例如在Facebook上发布您的模型),您应该使用Verge3D PBR着色器(请参阅3ds MaxBlender的设置)。

图片格式,分辨率和最佳实践(Image Formats, Resolution and Best Practices)

PNG或JPEG

为了获得最佳效率,建议使用网络友好的图片格式:具有最大压缩的无损PNG或有损JPEG(尽管Verge3D也支持GIF,BMP,TIFF)。根据经验,如果您不需要纹理中的Alpha通道,则首选使用JPEG。

法线贴图

即使Alpha通道被浪费,法线贴图也应保存为PNG,因为以JPEG格式加载的法线贴图通常会产生明显的暗纹。然而,PNG格式的图片体积比较大,因此只有在需要时才使用法线贴图。

分辨率

除非你真的需要,否则不要使用太多细节的纹理。大图会对性能产生负面影响,耗尽移动设备上的视频内存(一直到崩溃)并显著延长负载。大多数纹理的分辨率应为1024像素或更低。

小心NPOT

纹理的分辨率应遵循二次幂规则(256,512,1024 px很好而1000 px很差)。无论如何,引擎在加载时重新调整所有非二次幂(NPOT)图像,因此请仔细检查纹理,以便在文件大小和加载时间方面实现最高效率。

比例

贴图可以是正方形或长方形,如 1024×512 px 。

重复利用

始终尝试重复使用材质中的贴图,以及着色器中的纹理贴图/节点,而不是复制。

在RGBA中打包BW

如果您有几张灰度贴图(AO,灯光贴图,透明贴图,遮罩,等等),可以考虑将它们打包进一张RGBA贴图的通道中。

按需加载

如果您正在开发自定义程序或类似的应用程序,您可以考虑在启动时仅加载一组有限的纹理。可以使用 replace texture 拼图在需求的基础上加载其他纹理并将其应用于模型。

不要将大图作为图标重复使用 – 即使要用到更多图片,也应该预先缩放。

PBR贴图(PBR Textures)

Verge3D支持以下PBR材质模型:

  • 物理材质/ART(3ds Max)
  • Principled BSDF Cycles/Eevee 节点(Blender)
  • glTF-兼容PBR (3ds Max, Blender)
    但是,所有这三种情况都遵循在图像中打包PBR组件的相同惯例:

  • ao打包进R通道

  • 粗糙度打包进G通道
  • 金属度打包进B通道
    可以使用任何合适的软件创建该组PBR纹理。在我们的团队中,我们使用Substance Painter为其创建了预设,以确保与Verge3D / glTF的兼容性。可以在以下部分中找到有关这些预设的说明和下载链接:3ds MaxBlender

工作流程 - 图3

模型和烘焙的法线和AO贴图(如果有)可以通过OBJ格式加载到Substance Painter中。最终在该软件中生成3张贴图:颜色/透明度,AO/粗糙度/金属度和法线。使用 Substance Painter 的Verge3D预设导出纹理。

工作流程 - 图4

最后,通过使用本地PBR材质(3ds Max中的 physical / ART,Blender中的Principled BSDF Cycles / Eevee节点)或符合glTF的Verge3D PBR 材质 ,为相关模型设置PBR材质。

环境贴图(Environment Map)

环境贴图是用于提供背景和材质反射的实时场景的关键组件。我们建议3ds Max和Blender艺术家使用HDR或JPEG格式的equirectangular图像(虽然也支持立方体贴图)。环境贴图的大小最好不超过2048×1024像素。

工作流程 - 图5

除此之外,HDR纹理可用于模拟复杂的照明条件 – 例如,如果有太多的光源要表现,或者光源范围较大。

从v.2.10开始,3ds Max和Blender的默认立方体项目都包含名为environment.hdr的HDR纹理,您可以在程序中重复使用该纹理。

您还可以查看以下视频,了解如何为基于物理的流程设置HDR环境:3ds MaxBlender

HDR渲染(HDR Rendering)

可以使用Verge3D导出设置窗口(3ds Max)中的相应复选框或“渲染”选项卡(Blender)下的Verge3D设置面板启用HDR(高动态范围)渲染流程。在此模式中,引擎使用半浮动纹理以获得更好的精度和强度范围,这对于正确渲染辉光后期效果( bloom post-process effect )非常重要。

工作流程 - 图6

动画(Animation)

像往常一样为相关模型部件创建动画片段。可以使用蒙皮,整个对象,变形目标和材质动画来产生各种动画效果。

工作流程 - 图7

您可能希望为动画对象提供有意义的名称,以便可以在拼图编辑器中轻松找到它们。

工作流程 - 图8

您还可以查看以下视频,了解如何创建动画:3ds MaxBlender

项目(Project)

在设置场景(在此期间您可以使用Sneak Peek按钮在浏览器中进行检查)之后,您可以使用App Manager创建一个长期的Verge3D项目。配置设置通常可以采用默认值。

工作流程 - 图9

您可以通过自己的.max或.blend文件覆盖位于应用程序文件夹(位于verge3d / applications中)的默认盒子.max或.blend文件。务必将所有相关的贴图也移动到此文件夹中。之后,从新位置打开.max或.blend文件,并以glTF格式导出,从而覆盖默认的.glTF文件。

工作流程 - 图10

或者,您可以考虑首先创建一个项目,并使用应用程序文件夹中的默认.max或.blend文件,就像在初学者指南中推荐的那样。

您还可以查看以下视频,了解如何使用App Manager创建新的Verge3D项目:3ds MaxBlender

拼图(Puzzles)

使用拼图创建交互式场景,用于在点击时触发动画,在悬停时显示物体轮廓,定位模型部件,逻辑检查等。

工作流程 - 图11

请参阅本手册“拼图”部分中的更多信息。

布局和UI(Layout and UI)

在这个无代码工作流程中,基于HTML的界面是使用外部Web设计软件构建的。能够导出HTML / CSS / JS文件的任何可视化编辑器都可以工作 – 例如,Webflow(付费,基于云),Google Web Designer(免费,跨平台),Pinegrow(付费,跨平台)和Adobe Muze(支付,停产)都可以做到这一点。当然,您可以使用代码或使用其他专用软件手动构建HTML界面。

工作流程 - 图12

界面元素(菜单,按钮,信息框……)是作为单个网页的一部分创建的。与3D对象一样,您可能希望提供有意义的标识符(由id属性表示)来控制元素,以便可以在拼图编辑器中轻松地对它们进行寻址。

关键是要在嵌入应用程序的3D部分所需的布局中添加iframe元素。 iframe的src属性应指向App Manager生成的.html文件:

<iframe width=“100%” height=“100%” frameborder=“0” allowfullscreen=“”src=“teapot_heater.html”></iframe>

例如,Webflow提供了适合此目的的所谓“嵌入”元素。

工作流程 - 图13

您只需将上面引用的HTML代码行复制并粘贴到此元素内容中,iframe就会出现在导出的.html文件中。

另一个工具Google Web Designer提供专门用于此类任务的“自定义”组件。

工作流程 - 图14

或者,您可以使用文本编辑器将iframe代码行添加到导出的.html文件中,以使其看起来像这样:

集成(Assembling)

生成的HTML / CSS / JS文件集保存在应用程序文件夹的根目录下。新的.html文件(通常称为index.html)负责启动已集成的应用程序。您可以通过单击应用程序管理器中应显示的其他蓝色图标来运行该应用程序。

工作流程 - 图15

然后,2D和3D部分在逻辑上与HTML拼图互连,以处理用户事件。

工作流程 - 图16

请参阅本手册“拼图”部分中的更多信息。

后期效果(Post-processing)

使用后期效果拼图可以启用以下效果:辉光(在启用HDR时效果最佳),亮度-对比度,灰度,景深和AO。这些效果的参数可以在运行时更改,也可以通过内部缓存以高性能设置动画。还有一个拼图,可以从场景中删除所有后期效果。

工作流程 - 图17

声音(Audio)

可以使用由用户触发的拼图添加背景音乐和/或事件声音。请参阅本手册“拼图”部分中的更多信息。

工作流程 - 图18

资产压缩(Asset compression)

完成应用程序后,您可以按照本手册相应章节中的说明优化其场景文件的加载。

您还可以查看以下视频,了解如何为您的应用启用资源压缩:3ds MaxBlender

发布(Publishing)

你可以使用在新手向导的发布章节提到的任何一种方法发布你的项目。