Свифт 3 версии ответа @Alexey Globchastyy:
class func getGenres(completionHandler: @escaping (genres: NSArray) -> ()) {
...
let task = session.dataTask(with:url) {
data, response, error in
...
resultsArray = results
completionHandler(genres: resultsArray)
}
...
task.resume()
}
Вы предоставили объект THREE.Vector4
в качестве цвета или второй аргумент? Просто копайтесь в коде, и это не было никакой логикой проверки типа, и это приведет к вашей ошибке, если указан неправильный тип. Также убедитесь, что вы указали правильный объект модели в качестве третьего аргумента, иначе рендер не будет знать, к какой модели применить цвета, когда у вас есть несколько моделей.
Подробнее об использовании этого метода можно узнать ниже: https://forge.autodesk.com/ru/docs/viewer/v6/reference/javascript/viewer3d/#setthemingcolor-dbid-color-model [ 111]
Редактировать: если в компоненте отсутствует материал, пожалуйста, посмотрите, как добавить собственный: https://forge.autodesk.com/blog/using-dynamic-texture-inside -custom-shaders
PS: Мы работаем над определениями TypeScript для Viewer и Forge SDK, и вскоре они могут быть выпущены. Оставайтесь с нами!