Установить цвет объекта (Autodesk Forge) - PullRequest
0 голосов
/ 16 января 2019

Работает на модели без цвета:

 this.viewer.setThemingColor(node, red, this.model);

Но не на модели с объектами, которые имеют цвет.

В документах вы можете прочитать:

Выделите объект темным цветом, который смешан с материал оригинального объекта.

Смешанный? Что это значит? Как установить цвет для объекта, если он уже имеет цвет?

P.S: Определение типа Typescript для Viewer действительно будет полезным.

Обновление

Думаю, это как-то связано с типом объекта.

Я выполнил и isolate и setThemingColor (красный) на одних и тех же предметах.

На скриншоте ниже выделена красная дверь в правом нижнем углу: Red door selected

Имеет "материальный" заголовок.

На этом скриншоте выбрана дверь рядом с ним (бирюзовая). В нем отсутствует заголовок материала.

enter image description here

Нужно ли мне "применять" материал или что-то, чтобы он менял цвет?

1 Ответ

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

Вы указали THREE.Vector4 объект в качестве цвета или второй аргумент? Просто копайтесь в коде, и это не было никакой логикой проверки типа, и это приведет к вашей ошибке, если указан неправильный тип Также убедитесь, что вы указали правильный объект модели в качестве третьего аргумента, иначе рендер не будет знать, к какой модели применить цвета, если у вас несколько моделей.

Вы можете подробно узнать об использовании этого метода ниже: https://forge.autodesk.com/en/docs/viewer/v6/reference/javascript/viewer3d/#setthemingcolor-dbid-color-model

Edit: Если в компоненте отсутствует материал, пожалуйста, посмотрите, как добавить пользовательский: https://forge.autodesk.com/blog/using-dynamic-texture-inside-custom-shaders

PS: Мы работаем над определениями TypeScript для Viewer и Forge SDK, и они могут быть скоро выпущены. Оставайтесь с нами!

...