Вы предоставили объект 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, и вскоре они могут быть выпущены. Оставайтесь с нами!
Можно использовать finfo_file
<?php
echo finfo_file(finfo_open(FILEINFO_MIME), "foo.png");
?>
я думаю, что Вы означаете finfo_file () обнаруживать mimetype
от примера php.net:
<?php
$finfo = finfo_open(FILEINFO_MIME); // return mime type ala mimetype extension
foreach (glob("*") as $filename) {
echo finfo_file($finfo, $filename) . "\n";
}
finfo_close($finfo);
?>
Взгляд на "магические числа". Первые несколько байтов файлов обычно определяют, какой файл это. Например, первые несколько байтов GIF или 47 49 46 38 37 61 или 47 49 46 38 39 61, ASCII для GIF89a или GIF87a. Существует много других "магических чисел". См., что http://en.wikipedia.org/wiki/Magic_number_ (программирует) #Magic_numbers_in_files
Править: Я полагаю, что это более надежно, чем функции MIME на PHP.
Вы не можете доверять Типу контента, возвращенному Браузером. Это основано на расширении файла и может быть легко обмануто.
Поскольку stalepretzel упомянул это, лучший способ предположить, что тип контента файла использует магические числа. Если Ваш сервер работает *, отклоняют машину, можно использовать эту функцию:
<?php
function get_file_type($file) {
if(function_exists('shell_exec') === TRUE) {
$dump = shell_exec(sprintf('file -bi %s', $file));
$info = explode(';', $dump);
return $info[0];
}
return FALSE;
}
?>
Usage: $file_type = get_file_type('my_file_name.ext');
PD: проверьте/usr/share/magic.mime к большей информации.