`
wjlgryx
  • 浏览: 307212 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

o3d 复制一个Transform的模型

阅读更多
在三维布局中,我们经常需要把一个模型摆放多次,o3d模型加载函数(当然也可以用loader)为

o3djs.scene.loadScene (

clien,

pack,

parent,

url,

void callback)

其中 parent 为一个transform

如果 浏览器启用了cookie,可以在本地加载已下载过的模型(aaa.o3dtgz),但是,如果关闭了cookie,就需要每次都从服务器下载了,将极大地降低加载速度,同时渲染速度也会受到影响(因为没有重用shape)

现在我们来解决transform复制问题

假设 第一个transform 的名称为 tran1,它用来装载下载的模型aaa.o3dtgz

由于transform采用树型结构保存,主要采用递归方式实现

function copyTran(src,des,pack){

    if(!src || !des) return;

    var chs = src.children;

    var len = chs.length;

    for (var i = 0; i < len; i++) {

       var t = pack.createObject('Transform');

       t.parent = des;

       copyTran(chs[i], t, pack);

    }

    des.copyParams(src);

    var shapes = src.shapes;

    var l = shapes.length;

    for(var j=0;j<l;j++)

       des.addShape(shapes[j]);

}

这样tran2和tran1具有一样的模型了,如果需要看出效果,需要把两个模型进行移动,不然是重叠的
分享到:
评论

相关推荐

    O3D 物体 编辑器

    综上所述,"O3D 物体编辑器"是一个基于O3D库的3D模型编辑工具,它在Firefox浏览器中实现了3D物体的拖动和旋转操作,为Web上的3D创作和交互提供了强大支持。开发者和设计师可以利用这个工具,轻松地在Web页面上创建和...

    O3D学习笔记[一]素材准备*.3ds转成*.o3dtgz

    O3D使用O3DTGZ作为其内部资源包格式,它是一个经过压缩的文件,包含了模型、纹理、脚本和其他资源,可以作为一个整体在程序中加载,减少了内存占用和加载时间。 转换3DS到O3DTGZ的过程通常涉及以下步骤: 1. **...

    O3D 实例 研究中

    O3D 是一个开源的 JavaScript 库,它允许开发者在 Web 浏览器中创建高性能的三维图形应用。这个实例可能是为了展示 O3D 的基本用法和功能,帮助用户快速入门。下面我们将深入探讨 O3D 的核心概念、主要特性以及 `...

    谷歌O3D的javascript源码

    6. **纹理和光照**:为了使3D模型看起来更真实,O3D支持纹理贴图和光照模型。理解如何应用纹理和设置光照参数对于创建逼真的3D场景至关重要。 7. **性能优化**:由于O3D依赖于硬件加速,因此了解如何有效地利用GPU...

    O3D文档说明(主要关键字的说明及翻译)

    5. **Pack 包**:在O3D中,包是一个管理数据的对象,它存储对其他数据的引用,如纹理、状态、缓冲区、形状和变换。包的主要作用是控制这些数据的生命周期,例如,当一个包被销毁时,与其关联的所有资源也会被释放。 ...

    google o3d例子3

    o3d是Google开发的基于web的3d编程API,因文件太大分三次上传

    google o3d 编程例子1

    google开发的web3d编程APT o3d.提供的各种3d效果例子,因文件太大,分三个包传上

    3D-o3d.zip

    在3D-o3d.zip这个压缩包中,我们看到的是Objective-3D视频游戏引擎的相关资料,这是一个专门用于3D游戏开发的工具。 Objective-3D游戏引擎,以其强大的功能和灵活性,为开发者提供了构建逼真3D游戏环境的可能性。它...

    o3d lib1 graph javascript ajax

    o3d lib1 graph javascript ajax

    o3d goolge javascript

    o3d goolge javascript texture graph

    o3dv_0.8.3.zip

    "o3dv_0.8.3.zip" 是一个压缩包文件,包含了 Online3DViewer 的 0.8.3 版本。Online3DViewer 是一个基于 Web 的三维模型查看器,它允许用户在浏览器中查看和交互三维模型,无需安装任何额外的软件。这个工具主要利用...

    CaO-Al2O3和CaO-SiO2-Al2O3渣系中组元活度的计算 (2013年)

    根据分子和离子共存理论,建立了CaO-Al2O3 和CaO-SiO2-Al2O3 渣系的活度计算模型,并利用模型对渣中各组元的活度进行了计算,分析了 w (CaO )对渣中组元活度的影响.结果表明,在 CaO-Al2O3 渣系中,当w(CaO)小于45%时,...

    #python+open3d 3D模型的读取与应用.pdf

    Open3D 是一个开源的三维点云处理库,提供了高效、可扩展的处理和可视化三维点云数据的功能。下面是使用 Python 和 Open3D 读取和应用 3D 模型的详细知识点: 安装 Open3D 使用 pip 安装 Open3D,可以使用以下命令...

    google o3d 编程例子2

    o3d是Google开发的基于web的3d编程API,因文件太大分三次上传

    野村综研O3W架构资料(内部)

    - **O3W的目标**:O3W旨在提供一个更加灵活、可扩展且易于管理的核心系统架构。通过采用分布式对象技术,O3W能够更好地支持跨平台和跨网络环境下的系统集成。 - **O3W的特点**: - **统一的数据访问**:通过标准的...

    6S模型简介,6s查找表

    6S模型,全称为"Second Simulation of the Satellite Signal in the Solar Spectrum",是遥感领域一个重要的辐射传输模型,主要用于模拟卫星和航空遥感中,太阳辐射在地表和大气层之间的传播过程。该模型是在5S模型...

    o3d:从 code.google.compo3d 导入

    O3D的目标是提供一个高性能、易用的接口,使得Web开发者能够轻松地集成3D图形到他们的网页应用中。 **WebGL基础** WebGL是一种JavaScript API,用于在浏览器中渲染交互式的2D和3D图形,无需任何插件。它是基于...

Global site tag (gtag.js) - Google Analytics