2025-03-26 00:02:56 +08:00

2.8 KiB
Raw Permalink Blame History

目前LOD分级工作流程复盘

  1. 场景地编优先完成最高级别资源即lv3的场景prefab场景一共预计做lv0,lv1,lv3

  2. 选中该lv3 prefab复制出一份改名lv0

  3. 在空场景中拖入lv0或者进入lv0 prefab编辑模式

  4. 在Project目录中遍历lv3所有关联材质逐个Find refererce in scene找到该材质在预制体里对应的所有RendererGameObject

  5. 选中所有列出的RendererGameObject

  6. 复制该材质重命名为lv0资源指定给所有对应的Renderer。

  7. 遍历完所有材质完成执行lv0材质资源的生成、替换。

  8. 选中所有lv0的材质统一设置成lv0对应的shader贴图关联会发生变化比如lv3有法线图lv0是没有的

  9. 所有lv0材质先执行无用序列化去除然后用Select Dependency找到实际对应的贴图复制出来移动到目录。

  10. 逐个贴图更名为lv0资源指定回对应的lv0材质完成所有贴图的替换。

  11. 至此完成场景lv0 Prefab和所有资源的准备工作。

  12. 美术最后根据实际情况逐个贴图、材质在进行额外的手动操作替换shader、贴图降尺寸操作等。

工具需求(仅根据目前所需)

  1. 选中一个Prefab作为编辑对象。

  2. 可设置输出的目录(目录位置或目录名?)

  3. 可设置需要生成的目标LOD级别。

  4. 生成的各种资源文件,命名能够自动补齐命名。

    1. 完整前缀,&符号前的部分,即"类型+LOD"的部分,例- texlv0&。

    2. 能够补齐或指定lobing的部分例- texlv0&ing。

    3. 原先已有前缀(删掉重新指定?)。

    4. 原先已有lobing删掉重新指定

  5. 界面列出选中Prefab的所有实际关联的材质球最好能逐项做选择或剔除以确定出需要执行LOD调整的材质球列表。

  6. 可设置目标LOD材质球对应的Shader。

  7. 【按钮-生成LOD资源】以选中的材质球列表为基准执行预制体、材质、贴图资源的复制命名调整并重新建立关联。

    1. 预制体复制到目录。

    2. 材质复制到目录改名并关联回原材质对应的renderer在新复制的预制体里

    3. 贴图复制到目录,改名,并关联回原贴图对应的(新复制出来的)材质。

    4. 贴图需要辨别是否已存在lv资源需要详细讨论一下因为有一种情况是共用的贴图怎么办比如一些Cubemap环境球贴图或者是地表类的可能目录已经在外面其它地方