Я разбираю и загружаю файл 3D-объекта (аналогично работе ColladaLoader). Это содержит несколько объектов, и многие из отдельных объектов имеют несколько материалов на разных гранях. Итак, я использую MeshFaceMaterial. На данный момент проблем нет.Можно ли использовать один MeshFaceMaterial через несколько объектов в Three.JS?
Однако несколько объектов повторно используют материалы по ним. Было бы целесообразно создать единый MeshFaceMaterial и использовать его во всех объектах? В файле содержится около 120 объектов. Меня беспокоит, что если я поделюсь по этому маршруту, это может ухудшить производительность (например, чрезмерные призывы к обращению или, возможно, выделение памяти для каждого материала на объект?), Так как большинство объектов используют свои собственные уникальные материалы. Или, это неоправданное беспокойство, и рендеринг является пригодным для пожилых, чтобы это не было проблемой? В онлайн-документации упоминается общая геометрия, а не целые общие объекты Three.Mesh.
Пока атрибут цвета одинаковый для всех из них, вы должны быть в порядке. – gaitat
Ваш вопрос слишком общий для ответа. Введите 'renderer.info' в консоль и выполните некоторые эксперименты - или будьте более конкретными. Я бы избегал «MeshFaceMaterial» и создавал модели, каждый из которых имеет один материал. Свойство цвета не имеет значения. Уменьшите призывы к обращению, если это возможно. – WestLangley