SketchUp -> Canvas
SketchUp -> Canvas
我一直在寻找如何让我们在 SketchUp 中构建的 3d 模型显示在网页上。我找到 three.js 并看到我可以将它导出到 .dae 并使用 ColladaLoader 加载它。不幸的是,我还没有能够在我的黑色 canvas 上显示任何内容。 (使用master分支最新的three.js,最新的Chrome,最新的OS X。)
这是我的代码的要点(灵感来自 http://jsfiddle.net/f17Lz5ux/):
var camera, scene, renderer, my_model;
init();
function init() {
camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 1, 10000);
camera.position.z = 1000;
scene = new THREE.Scene();
var loader = new ColladaLoader2();
//var loader = new THREE.ColladaLoader();
loader.load('3d-model.dae', function(result) {
my_model = result.scene;
scene.add(prequel);
animate();
});
renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
jQuery("#canvas").append(renderer.domElement);
//document.body.appendChild(renderer.domElement);
}
function animate() {
requestAnimationFrame(animate);
my_model.rotation.x += 0.01;
my_model.rotation.y += 0.02;
renderer.render(scene, camera);
}
以下是使用 three.js 存储库中的 ColladaLoader 时控制台中显示的内容:
https://s3.amazonaws.com/screenshots.equityeats.com/rh1zz.png(开发工具冻结所以我不能copy/paste)
我搜索了 three.js 的开放问题并找到了 https://github.com/rmx/threejs-collada,但这也不起作用。以下是使用该 collada 加载器时控制台中显示的内容:
ColladaLoader2 WARNING: Skipped element <asset>/<contributor>. Element is legal, but not handled by this loader.
ColladaLoader.js?body=1:7138 ColladaLoader2 WARNING: Skipped element <asset>/<created>. Element is legal, but not handled by this loader.
ColladaLoader.js?body=1:7138 ColladaLoader2 WARNING: Skipped element <asset>/<modified>. Element is legal, but not handled by this loader.
8ColladaLoader.js?body=1:7138 ColladaLoader2 WARNING: Skipped unknown element <library_visual_scenes>/<visual_scene>/<node>/<node>/<node>/<instance_node>.
76ColladaLoader.js?body=1:7138 ColladaLoader2 WARNING: Skipped unknown element <library_visual_scenes>/<visual_scene>/<node>/<node>/<instance_node>.
1112ColladaLoader.js?body=1:7138 ColladaLoader2 ERROR: Geometry primitive type lines not supported.
ColladaLoader.js?body=1:7138 ColladaLoader2 WARNING: Skipped unknown element <library_nodes>.
ColladaLoader.js?body=1:6103 Uncaught TypeError: undefined is not a function
非常感谢help/direction。
您是否考虑过将您的模型上传到 3D warehouse,然后使用 Embed 功能在您自己的网页上显示它?
它同时提供 缩略图 视图和 3D 查看器,带有缩放、平移和旋转选项。
我同意 3D 模型库解决方案。此外,Sketchfab 非常适合 website/service/tool。您可以将您的 SketchUp 模型上传到他们的网站,甚至可以添加注释,这些注释会变成场景之类的。您还可以将 Sketchfab 3D 模型嵌入到 Facebook post!
我一直在寻找如何让我们在 SketchUp 中构建的 3d 模型显示在网页上。我找到 three.js 并看到我可以将它导出到 .dae 并使用 ColladaLoader 加载它。不幸的是,我还没有能够在我的黑色 canvas 上显示任何内容。 (使用master分支最新的three.js,最新的Chrome,最新的OS X。)
这是我的代码的要点(灵感来自 http://jsfiddle.net/f17Lz5ux/):
var camera, scene, renderer, my_model;
init();
function init() {
camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 1, 10000);
camera.position.z = 1000;
scene = new THREE.Scene();
var loader = new ColladaLoader2();
//var loader = new THREE.ColladaLoader();
loader.load('3d-model.dae', function(result) {
my_model = result.scene;
scene.add(prequel);
animate();
});
renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
jQuery("#canvas").append(renderer.domElement);
//document.body.appendChild(renderer.domElement);
}
function animate() {
requestAnimationFrame(animate);
my_model.rotation.x += 0.01;
my_model.rotation.y += 0.02;
renderer.render(scene, camera);
}
以下是使用 three.js 存储库中的 ColladaLoader 时控制台中显示的内容:
https://s3.amazonaws.com/screenshots.equityeats.com/rh1zz.png(开发工具冻结所以我不能copy/paste)
我搜索了 three.js 的开放问题并找到了 https://github.com/rmx/threejs-collada,但这也不起作用。以下是使用该 collada 加载器时控制台中显示的内容:
ColladaLoader2 WARNING: Skipped element <asset>/<contributor>. Element is legal, but not handled by this loader.
ColladaLoader.js?body=1:7138 ColladaLoader2 WARNING: Skipped element <asset>/<created>. Element is legal, but not handled by this loader.
ColladaLoader.js?body=1:7138 ColladaLoader2 WARNING: Skipped element <asset>/<modified>. Element is legal, but not handled by this loader.
8ColladaLoader.js?body=1:7138 ColladaLoader2 WARNING: Skipped unknown element <library_visual_scenes>/<visual_scene>/<node>/<node>/<node>/<instance_node>.
76ColladaLoader.js?body=1:7138 ColladaLoader2 WARNING: Skipped unknown element <library_visual_scenes>/<visual_scene>/<node>/<node>/<instance_node>.
1112ColladaLoader.js?body=1:7138 ColladaLoader2 ERROR: Geometry primitive type lines not supported.
ColladaLoader.js?body=1:7138 ColladaLoader2 WARNING: Skipped unknown element <library_nodes>.
ColladaLoader.js?body=1:6103 Uncaught TypeError: undefined is not a function
非常感谢help/direction。
您是否考虑过将您的模型上传到 3D warehouse,然后使用 Embed 功能在您自己的网页上显示它?
它同时提供 缩略图 视图和 3D 查看器,带有缩放、平移和旋转选项。
我同意 3D 模型库解决方案。此外,Sketchfab 非常适合 website/service/tool。您可以将您的 SketchUp 模型上传到他们的网站,甚至可以添加注释,这些注释会变成场景之类的。您还可以将 Sketchfab 3D 模型嵌入到 Facebook post!