更新Collada(.从A-Frame或JS中获取文件代码
Update Collada (.dae ) file code from A-Frame or JS
在A-Frame中加载collada (.dae)文件。装得很好。但现在我必须从用户输入更新文件,如颜色等。如何从html, js或A-Frame中更新。dae文件中的代码
这是加载的A帧代码:
<a-scene>
<a-assets>
<a-asset-item id="box" src="box.dae"></a-asset-item>
</a-assets>
<a-entity id="collada" collada-model="#box"></a-entity>
<a-entity id="cmr" position="0 1 5" rotation="0 0 0">
<a-camera>
<a-cursor color="#2E3A87" >
</a-camera>
</a-entity>
</a-scene>
那么我如何从用户端更新。dae文件内的代码,使用html, js, A-Frame或任何?
这是Collada File: box。dae
a - frame的内置组件只支持非常基本的覆盖(您可能能够使用例如material="color: red"
设置模型的颜色,我不确定)。对于更高级的东西,你需要使用A-Frame本身使用的THREE.js api。我建议你看一下THREE.js文档——有很多关于如何定制材质和几何实例的细节——但这里有一个非常基本的例子:
AFRAME.registerComponent('model-overrider', {
init: function() {
this.el.addEventListener('model-loaded', function(e) {
var model = e.detail.model;
model.traverse(function(o) {
if (o instanceof THREE.Mesh) {
// modify o.material or o.geometry here.
}
});
});
}
});
用法:
<a-entity collada-model="..." model-overrider> </a-entity>
3的文档。材料:材料
对于一个更复杂的例子,变形单个顶点,参见<a-ocean/>
。
当然,如果你想做任何严肃的手工编辑,你会想要使用Blender, Maya或其他3D建模程序代替。:)
相关文章:
- Fin上传器直接上传到Azure Blob存储-在Javascript中获取文件uri
- Node js:如何获取文件签名标头而不是 mime 类型
- 如何在没有JQuery的情况下在Javascript中获取文件的内容
- 获取文件并从rest api下载
- 使用javascript获取文件输入
- JS获取文件内容
- 如何在使用javascript上传文件时获取文件源路径
- javascript如何从服务器获取文件夹中文件的url
- 如何使用javascript获取文件夹中的图像列表
- 应用程序脚本-自动从谷歌驱动器删除超过3天的文件-获取文件列表
- 如何在javascript中从ondrop事件中获取文件URL
- 如何使用javascript获取文件夹中的文件列表
- Javascript获取文件内容循环
- 通过Crypto.js获取文件的md5sum
- Cordova应用程序:如何获取文件的实际路径
- 如何使用PHP从我自己的网站上的Google Drive获取文件和文件夹列表
- 如何在所有父节点上获取文件夹图标,在所有子节点上获取文件夹加图标(左侧的图标)
- 我想要获取文件输入并将其保存到本地路径的Javascript
- 从Google Drive获取文件并隐藏到Blob
- drupal7获取文件路径