-
Notifications
You must be signed in to change notification settings - Fork 0
Caching
Languages: English · Русский · 中文
🇬🇧 English
Caching parameters. They work together and give the maximum effect when the scene has many repeating objects: identical bushes, trees of the same type, cloned leaves. This is perhaps the most important and the most complex category. This is the part I worked on the most, but the results are worth it. Converting a model into a nanite one is a fairly complex procedure and can take a very long time if the model is complex. Yet most of the time objects use repeating geometry. This optimization approach finds such fragments and reuses the nanite geometry that was already produced once, without going through the whole path again. It also guarantees that all fragments come out identical and no artifacts appear in some of them. This is exactly the approach that let me cut the processing time of a target complex tree model from two hours down to four minutes. These parameters are enabled automatically and work for all models selected for processing. So processing a batch of similar models at once will be faster than processing each one separately. If you are processing models that definitely have no repeating geometry, disabling the parameters in this category will speed things up a little, since it won't do the checks that are unnecessary in that case.
What it does. Enables a cache for repeating UV layouts. If the addon has already processed a contour for some UV layout and encounters an object with exactly the same layout — it won't recompute the contours but will take the ready result from the cache. All that remains is to transfer it onto the new 3D shape.
How it affects things.
- Enabled — greatly speeds up work on large scenes with repeating objects. The first instance of each unique type is processed in full, all subsequent ones are much faster, since the contour generation stage is skipped for them.
- Disabled — every object is processed in full. Slower, but predictable.
When to disable it. If all objects in your scene are unique (different bushes, different textures) — the cache won't fire anyway, and memory will be spent storing it. In that case you can disable it.
Important. The cache works within a single run. If you closed Blender and opened it again — the cache is empty, the first object of each type will be processed in full.
What it does. An even deeper level of caching. If the UV layout matched, the addon can not just take the contours from the cache but reuse the entire finished nanite geometry from the previous object. All that remains is to adjust it to the new shape. This is the biggest speed-up in processing. Every subsequent similar fragment is processed almost instantly.
How it affects things.
- Enabled — maximum savings on repeating objects. But it only works when the source meshes are truly identical in topology (for example, the same bush duplicated by copying).
- Disabled — only the UV cache is used.
nan_05.webm
Works only together with Evolutionary Optimization. If you disable Evolutionary Optimization, this parameter stops having any effect.
When to disable it. If the source objects are similar in UV but differ in topology or shape, reusing the finished geometry may give an inaccurate result. In such cases disable this parameter but leave Evolutionary Optimization on.
🇷🇺 Русский
Параметры кэширования. Работают вместе и дают максимальный эффект, когда в сцене много повторяющихся объектов: одинаковые кусты, деревья одного типа, клонированные листья. Это, пожалуй, самая важная и сложная категория. Именно над этой частью я работал больше всего, но результаты того стоят. Превращение модели в нанитную — довольно сложная процедура и может происходить очень долго, если модель сложная. Вот только чаще всего объекты используют повторяющуюся геометрию. Данный подход оптимизации находит такие фрагменты и повторно использует уже единожды полученную нанитную геометрию, не проходя весь путь заново. Также это гарантирует, что все фрагменты получатся одинаковыми и где-то не появятся артефакты. Именно этот подход позволил мне сократить время обработки целевой сложной модели дерева с двух часов до четырёх минут. Данные параметры включены автоматически и работают для всех выделенных для обработки моделей. Так что обрабатывать сразу пак подобных моделей будет быстрее, чем каждую по отдельности. Если вы обрабатываете модели, в которых точно нет повторяющейся геометрии, то отключение параметров этой категории немного ускорит обработку таких моделей, так как не будет делать ненужные для этого случая проверки.
Что делает. Включает кэш для повторяющихся UV-развёрток. Если плагин уже обработал контур для какой-то UV-развёртки и встретит объект с точно такой же развёрткой — он не будет пересчитывать контуры, а возьмёт готовый результат из кэша. Останется только перенести его на новую 3D-форму.
Как влияет.
- Включено — значительно ускоряет работу на больших сценах с повторяющимися объектами. Первый экземпляр каждого уникального типа обрабатывается полностью, все последующие — значительно быстрее, так как для них пропускается этап генерации контуров.
- Выключено — каждый объект обрабатывается полностью. Медленнее, но предсказуемо.
Когда отключать. Если у вас в сцене все объекты уникальны (разные кусты, разные текстуры) — кэш всё равно не сработает, а память на его хранение будет тратиться. В этом случае можно отключить.
Важно. Кэш работает в пределах одного запуска. Если вы закрыли Blender и открыли снова — кэш пуст, первый объект каждого типа будет обработан полностью.
Что делает. Ещё более глубокий уровень кэширования. Если UV-развёртка совпала, плагин может не просто взять контуры из кэша, а переиспользовать вообще всю готовую нанитную геометрию от предыдущего объекта. Останется только подправить её под новую форму. Самое серьёзное ускорение обработки. Каждый последующий подобный фрагмент обрабатывается практически мгновенно.
Как влияет.
- Включено — максимальная экономия на повторяющихся объектах. Но работает только для случаев, когда исходные меши действительно идентичны по топологии (например, один и тот же куст, размноженный копированием).
- Выключено — используется только UV-кэш.
nan_05.webm
Работает только вместе с Evolutionary Optimization. Если выключить Evolutionary Optimization, этот параметр перестанет действовать.
Когда отключать. Если исходные объекты похожи по UV, но отличаются по топологии или форме, переиспользование готовой геометрии может дать неточный результат. В таких случаях отключите этот параметр, но оставьте Evolutionary Optimization.
🇨🇳 中文
缓存参数。它们协同工作,在场景中有大量重复物体时效果最大:相同的灌木、同类型的树、克隆的叶片。这也许是插件中最重要也最复杂的一类参数。这正是我下功夫最多的部分,但结果值得。把模型转换成 Nanite 模型是相当复杂的过程,如果模型复杂,可能会花很长时间。然而大多数情况下,物体使用的都是重复的几何体。这种优化方法会找到这样的片段,重复使用已经生成过一次的 Nanite 几何体,而不必重新走一遍完整流程。它还能保证所有片段结果一致,不会在某些地方出现伪影。正是这种方法让我把一棵目标复杂树模型的处理时间从两小时缩短到了四分钟。这些参数默认启用,对所有选中用于处理的模型生效。所以一次性处理一批相似的模型会比逐个处理更快。如果你处理的模型确实没有重复几何体,那么关闭这一类参数会略微加快这些模型的处理,因为不会做那种情况下不必要的检查。
作用。 为重复的 UV 展开启用缓存。如果插件已经为某个 UV 展开处理过轮廓,并且遇到一个展开完全相同的物体——它不会重新计算轮廓,而是直接使用缓存中的现成结果。剩下的只是把它传递到新的 3D 形状上。
影响。
- 启用——在有重复物体的大场景中大幅提速。每个唯一类型的第一个实例会被完整处理,之后所有的实例都快得多,因为它们跳过了轮廓生成阶段。
- 关闭——每个物体都被完整处理。更慢,但可预测。
何时关闭。 如果你场景中的所有物体都是唯一的(不同的灌木、不同的纹理)——缓存反正也不会命中,而用于存储它的内存却会被消耗。这种情况可以关闭。
重要。 缓存只在一次运行内有效。如果你关闭 Blender 再重新打开——缓存是空的,每个类型的第一个物体都会被完整处理。
作用。 更深一层的缓存。如果 UV 展开匹配,插件不仅可以从缓存中取出轮廓,还可以直接复用上一个物体生成的整个 Nanite 几何体。剩下的只是把它调整到新的形状上。这是处理速度的最大提升。之后每一个相似的片段几乎都能瞬间完成处理。
影响。
- 启用——在重复物体上获得最大的节省。但只在源网格拓扑确实完全相同的情况下有效(例如同一个灌木通过复制得到多份)。
- 关闭——只使用 UV 缓存。
nan_05.webm
只在 Evolutionary Optimization 启用时工作。 如果你关闭 Evolutionary Optimization,这个参数就停止生效。
何时关闭。 如果源物体 UV 相似但拓扑或形状不同,复用生成的几何体可能会得到不准确的结果。这种情况下关闭这个参数,但保留 Evolutionary Optimization。