Я загружаю файлы STL на веб-сайт Thingiverse.com, затем автоматически создает предварительный просмотр файлов 3D-дизайна. Мне интересно узнать, какие библиотеки используют веб-сайт. Например, для этой страницы: https://www.thingiverse.com/thing:2405615 Когда я нажимаю на Thingview, а затем смотрю на исходный код страницы, я вижу, что он использует:
<script src="/thingiview/js/three.min.js?v=2"></script>
<script src="/thingiview/js/Thingiview.js?v=2"></script>
<script src="/thingiview/js/NormalControls.js?v=2"></script>
<script src="/thingiview/js/Detector.js?v=2"></script>
<script>
var target_dom_element = $('.thingiview').get(0);
// parse opts
var argv = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
argv[key] = value;
});
var thingiview = new Thingiview( target_dom_element, 628, 472 );
if ( parseInt(argv['width']) && parseInt(argv['height']) )
thingiview.resize( parseInt(argv['width']), parseInt(argv['height']) );
var animate = function() {
requestAnimationFrame( animate );
thingiview.render();
}
animate();
// handle resizes
window.addEventListener('resize', function() {
if ( thingiview.fullscreen )
thingiview.resize(window.innerWidth, 608);
});
</script>
Однако, когда я нажимаю на кнопку Thingview, меняется угол зрения изображения, а также исчезают тени и подсветка на изображении. Мне особенно интересно найти скрипт, который создает эти тени и подсветки в файле STL. Есть ли способ найти, как Thingiverse создает предварительные просмотры файлов дизайна? Мне нужно сделать снимок файлов проекта с одинаковыми углами и с такими же эффектами
Я думаю, что он загружает файлы STL в облако и только там он создает предварительные просмотры. Я не уверен, видите ли вы, что там происходит. Как вы думаете, @pailhead?
three.js
позволяет отображать 3D-объекты в браузерах. Похоже, что файлы STL могут быть непосредственно загружены в него. У них есть пример в своем реестре github. Я бы поставил изображение, когда вы загружаете файл, который передается в three.js
а затем отображается. Все тени и визуальные эффекты должны обрабатываться библиотекой.