Клонирование зрительского материала - PullRequest
0 голосов
/ 23 января 2019

Я хочу переопределить цвет компонента в средстве просмотра, чтобы сохранить тот же эффект рендеринга, что и другие компоненты, я хотел бы клонировать существующий материал и просто изменить цвет клона.

Я могу изменить цвет существующего материала следующим образом:

var renderProxy =
  viewer.impl.getRenderProxy(
    model, fragIds[0])

renderProxy.material.setHex(0xFF0000)

Это влияет на все другие компоненты в модели, которые используют этот материал, что не является желаемым результатом.

Для этогоЦель Я хотел бы клонировать материал, изменить его и повлиять на новый материал для конкретного компонента.Вызов метода material.clone () работает:

var newMat = renderProxy.material.clone()
newMat.setHex(0xFF0000)

Но новый материал потеряет все специфические свойства, из-за которых рендерер будет хорошо выглядеть.

Так что мой вопрос "Есть ли способ - легко - клонировать материал для просмотра без написания кода клонирования для каждого свойства?

1 Ответ

0 голосов
/ 23 января 2019

Вам нужно будет клонировать материал «призмы», а не материал 3js phong.

Начните с этого репо: https://github.com/wallabyway/fusion-chair-configurator

Например, чтобы создать «металлический» материал, используйте эти две строки кода (и скопируйте функцию initPaint ()).

https://github.com/wallabyway/fusion-chair-configurator/blob/c6d5bd575cdf40194c9fbdd1c5f9bb27c70b356e/docs/js/app.js#L107-L108

Строка jz szPrism, содержит множество параметров. Материалы Prism довольно сложны, но вы можете узнать больше о том, что делают эти параметры, ознакомившись с этой статьей для справочной страницы Autodesk Cloud Render ART (средство визуализации в реальном времени, встроенное в Revit2019, Fusion360 и т. Д.) ...

http://help.autodesk.com/view/ARENDERING/ENU/?guid=GUID-49345267-CE6A-4006-BB58-5BEAFD8B0D0E

Попробуйте поэкспериментировать с режимом рендеринга в Fusion360. Начните с открытия «внешнего вида» и создания некоторых нестандартных материалов. Вы можете изменить их параметры в режиме реального времени, чтобы лучше понять, что они делают, и получить эффект, который вы ищете.

Вот учебное видео по пользовательским материалам Fusion360: https://www.youtube.com/watch?v=D9AS5rQhtPo

Дайте мне знать, если это поможет.

enter image description here

...