Collada .dae模型格式简明教程

news2024/12/23 19:07:22

当你从互联网下载 3D 模型时,可能会在格式列表中看到 .dae 格式。 它是什么?
在这里插入图片描述

推荐:用 NSDT编辑器 快速搭建可编程3D场景。

1、Collada DAE概述

COLLADA是COLLAborative Design Activity(中文:协作设计活动)的缩写,是一种用于交互式 3D 应用程序的交换文件格式。 它由非营利性技术联盟 Khronos Group 管理,并已被 ISO 采纳为公开可用的规范 ISO/PAS 17506。

COLLADA 定义了一个开放标准 XML 模式,用于在各种图形软件应用程序之间交换数字资产,否则这些应用程序可能会以不兼容的文件格式存储其资产。 描述数字资产的 COLLADA 文档是 XML 文件,通常使用 .dae文件扩展名进行标识 — DAE 是Digital Asset Exchange(代表数字资产交换)的缩写。

因为Collada DAE是 XML 格式,所以所有元素都是由 XML 标签定义的。你可以使用以这种方式定义的XML标签将3D资产(asset)与3D处理工具连接起来。

3D资产是指一个概念,包括模型、动画、纹理、颜色等。3D处理工具可以是Android应用程序或CAD或Photoshop。

换句话说,将3D资源与3D处理工具连接的意思是,在从互联网以.dae文件格式下载3D模型后,可以在Android应用程序上处理或显示下载的.dae文件,或者将 .dae 文件下载到计算机上并在 Photoshop 中绘制 3D 模型。当然,分析 .dae 文件并将其绘制在屏幕上是一项非常非常困难的任务。

2、Collada DAE文件结构入门

COLLADA XML 模式具有以下结构:

<?xml version=“1.0”?>
<COLLADA
  xmlns=“http://www.collada.org/2005/11/COLLADASchema”
  version=“1.4.1”
>
…
</COLLADA>

COLLADA XML 模式定义了很多标签,但让我简单介绍一下几个。完整的COLLADA规范可以访问这里。

2.1 asset标签

asset标签包含文件的作者和环境设置的信息。

<asset>
  <author>rulia</author>
  <up_axis>Y_UP</up_axis>
</asset>

2.2 geometry标签

geometry标签包含用于指定OpenGL属性的信息。

OpenGL属性表示顶点位置、法线或UV坐标。

UV Mapping:一种三维建模操作,将二维图片变成三维模型的皮肤。

<library_geometries>
  <geometry id=”box-lib” name=”box”>
    <mesh>
      <source id=”box-lib-positions” name=”position”></source>
      <source id=”box-lib-normals” name=”normal”></source>
      …
      <vertices id=”box-lib-vertices”>
        <input semantic=”POSITION” source=”#box-lib-positions”/>
      </vertices>
      <polylist count=”6" material=”BlueSG”>
        <input offset=”0" semantic=”VERTEX” source=”#box-lib-vertices”/>
        <input offset=”1" semantic=”NORMAL” source=”#box-lib-normals”/>
        <vcount>4 4 4 4 4 4 </vcount>
        <p>0 0 2 1 3 2 1 3 0 4 1 5 5 6 4 7 …</p>
      </polylist>
    </mesh>
  </geometry>
</library_geometries>

2.3visual_scene标签

visual_scene标签包含包含内容的节点层次结构的信息。

<library_visual_scenes>
  <visual_scene id=”VisualSceneNode” name=”untitled”>
    <node id=”Camera” name=”Camera”></node>
    …
  </visual_scene>
</library_visual_scenes>

3、Collada DAE文件查看与处理工具

COLLADA 最初旨在作为一种中间格式,用于将数据从一个数字内容创建 (DCC) 工具传输到另一个应用程序。 现在有很多应用程序支持Collada DAE模型的读写与处理,如3dx max、maya、blender、sketchup、solidworks等传统软件,这里不再细说,仅列举两个在线工具,分别用于Collada DAE模型文件的查看和格式转换:

  • BimAnt 3DViewer:BimAnt 3DViewer支持GLTF、GLB、FBX、OBJ、DAE等数十种格式的3D模型的在线查看,直接在浏览器端解码渲染,无需上传服务器,因此模型打开速度非常快。
  • NSDT 3DConvert:NSDT 3DConvert支持GLT、GLB、FBX、OBJ、DAE等数十种格式的3D模型的在线格式转换,支持在线预览。

4、Collada DAE文件读写开发库

有几个开发库可用于读写 COLLADA DAE文件:

  • COLLADA DOM (C++) - COLLADA DOM 是在编译时从 COLLADA 模式生成的。 它提供了一个低级接口,无需手写解析例程,但仅限于读取和写入 COLLADA 的一个版本,因此很难在新版本发布时进行升级。
  • FCollada (C++) - Feeling Software 提供的实用程序库。 与 COLLADA DOM 相比,Feeling Software 的 FCollada 提供了更高级别的接口。 FCollada 用于 ColladaMaya、ColladaMax 和多种商业游戏引擎。 Feeling Software 于 2008 年停止了开源部分的开发。该公司继续通过其软件的改进版本来支持其付费客户和许可证。
  • OpenCOLLADA (C++) - OpenCOLLADA 项目提供 3ds Max 和 Maya 的插件以及为插件开发的实用程序库的源。
  • pycollada 存档于 2013-01-27 在 Wayback Machine (Python) - 用于创建、编辑和加载 COLLADA 的 Python 模块。 该库允许应用程序加载 COLLADA 文件并作为 Python 对象与其进行交互。 此外,它还支持从头开始创建 COLLADA Python 对象,以及就地编辑。
  • Scene Kit (Objective-C) - OS X 10.8 Mountain Lion 中引入的 Objective-C 框架,允许读取、高级操作和显示 COLLADA 场景。
  • GLGE (JavaScript) - 一个 JavaScript 库,使用 WebGL 在 Web 浏览器中呈现 COLLADA 文件。
  • Three.js (JavaScript) - 一个 3D Javascript 库,能够在 Web 浏览器中加载 COLLADA 文件。
  • StormEngineC (JavaScript) - Javascript 3D 图形库,具有加载 COLLADA 文件的选项。

原文链接:Collada DAE格式简明教程 — BimAnt

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/880704.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

实现自己的“妙鸭相机“,十分钟学会roop插件

9.9买不了吃亏,9.9买不了上当&#xff0c;只要9.9就可以拥有属于自己的艺术写真 但是不知道你是否注意到用户协议中 有这一条 "我方在全世界&#xff08;包括元宇宙等虚拟空间&#xff09;范围内享有永久的、不可撤销的、可转让的、可授权的、免费的和非独家的许可&#x…

Tomcat的部署及优化(多实例和动静分离)

目录 绪论 1、tomact 1.1 核心组件 1.2 什么是 servlet 1.3 什么是 JSP? 1.4 Tomcat 功能组件结构 1.5 Tomcat 请求过程 2、Tomcat 服务部署 2.1 tomcat自身优化&#xff1a; 2.2 内核优化 2.3 jvm 2.3.1 jvm配置 2.3.2 Tomcat配置JVM参数 2.3.3 jvm优化 3、tom…

Vue-4.编译器VsCode

准备 Vue-1.零基础学习Vue Vue-2.nodejs的介绍和安装 Vue-3.vue简介 为什么用VsCode VsCode 是Vue官网首推的编译器它是完全免费的 下载安装VsCode 下载地址 安装的时候不停地下一步直到完成即可 安装插件 安装汉化插件 要将 Visual Studio Code&#xff08;VSCode&am…

抖音小程序开发,收银台支付回调通知

大家好&#xff0c;我是小悟 关于抖音小程序收银台支付&#xff0c;可阅读【抖音小程序开发&#xff0c;唤起收银台&#xff0c;包括抖音支付、支付宝支付、微信支付】。 做支付功能最重要的一步就是异步回调通知&#xff0c;所谓回调通知就是唤起收银台支付&#xff0c;支付…

item_sku-获取sku详细信息

一、接口参数说明&#xff1a; item_sku-获取sku详细信息&#xff0c;点击更多API调试&#xff0c;请移步注册API账号点击获取测试key和secret 公共参数 请求地址: https://api-gw.onebound.cn/taobao/item_sku 名称类型必须描述keyString是调用key&#xff08;点击获取测试…

Python-OpenCV中的图像处理-图像直方图

Python-OpenCV中的图像处理-图像直方图 图像直方图统计直方图绘制直方图Matplotlib绘制灰度直方图Matplotlib绘制RGB直方图 使用掩膜统计直方图直方图均衡化Numpy图像直方图均衡化OpenCV中的直方图均衡化CLAHE 有限对比适应性直方图均衡化 2D直方图OpenCV中的2D直方图Numpy中2D…

计算机组成原理之地址映射

例1&#xff1a;某计算机主存容量256MB&#xff0c;按字编址&#xff0c;字长1B&#xff0c;块大小32B&#xff0c;Cache容量512KB。对如下的直接映射方式、4-路组相联映射方式、全相联映射方式的内存地址格式&#xff0c;求&#xff1a; &#xff08;1&#xff09;计算A、B、C…

什么是层叠上下文(stacking context)?它是如何形成的?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 层叠上下文&#xff08;Stacking Context&#xff09;是什么&#xff1f;⭐ 层叠上下文的形成⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎…

DNS主域名服务器搭建之深入了解

一些DNS的配置文件以及重要信息&#xff1a; 主配置文件&#xff1a;/etc/named.conf 次要配置文件&#xff1a; /etc/named.rfc1912.zones 主进程名字&#xff1a;named named.ca 记录13台根域名服务器地址的文件 监听的端口&#xff1a;53 tcp/udp 1、修改次要配置文件…

【HarmonyOS】API9沉浸式状态栏

对于沉浸式状态栏&#xff0c;在之前API8 FA模型开发中可以通过在config.json配置主题的方式实现应用的沉浸式体验&#xff0c;在最新的API9 Stage模型中系统提供了沉浸式窗口的示例&#xff08;管理应用窗口&#xff08;Stage模型&#xff09;-窗口管理-开发-HarmonyOS应用开发…

【Spring Cloud Alibaba】RocketMQ的基础使用,如何发送消息和消费消息

在现代分布式架构的开发中&#xff0c;消息队列扮演着至关重要的角色&#xff0c;用于解耦系统组件、保障可靠性以及实现异步通信。RocketMQ作为一款开源的分布式消息中间件&#xff0c;凭借其高性能、高可用性和良好的扩展性&#xff0c;成为了众多企业在构建高可靠性、高吞吐…

关于统一事件管理,一定有你想知道的(一)

本文部分内容来源于布博士----擎创科技资深产品专家 IT技术已经无处不在&#xff0c;各行各业都离不开它。无论是银行、券商、家庭、学校还是个人&#xff0c;都离不开IT技术。例如&#xff1a; 我们⼈与⼈之间社交的软件&#xff0c;如微信、QQ、陌陌、Facebook等。 银⾏通过…

火山引擎DataLeap的Data Catalog系统公有云实践

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 Data Catalog是一种元数据管理的服务&#xff0c;会收集技术元数据&#xff0c;并在其基础上提供更丰富的业务上下文与语义&#xff0c;通常支持元数据编目、查找、…

常见分辨率时序信息

分辨率列表 分辨率一:640x480(逐行) 分辨率二:800x600(逐行) 分辨率三:1024x768(逐行) 分辨率四:大名鼎鼎720P(逐行) 注:选择720P@30帧的,需拉长HOR TOTAL TIME 分辨率五:1280x800(逐行) 分辨率六:1280x960(逐行

MySQL和Redis如何保证数据一致性

MySQL与Redis都是常用的数据存储和缓存系统。为了提高应用程序的性能和可伸缩性&#xff0c;很多应用程序将MySQL和Redis一起使用&#xff0c;其中MySQL作为主要的持久存储&#xff0c;而Redis作为主要的缓存。在这种情况下&#xff0c;应用程序需要确保MySQL和Redis中的数据是…

Bootstrap-fileinput 插件的使用

1.bootstrap-fileinput 下载地址 https://github.com/kartik-v/bootstrap-fileinput.git 2.bootstrap-fileinput 使用 input 标签 multiple"multiple" 表示可以多选文件 <div class"container-fluid"><div class"card border-0 shadow-sm…

深度学习在MRI运动校正中的应用综述

运动是MRI中的主要挑战之一。由于MR信号是在频率空间中获取的&#xff0c;因此除了其他MR成像伪影之外&#xff0c;成像对象的任何运动都会导致重建图像中产生伪影。深度学习被提出用于重建过程的几个阶段的运动校正。广泛的MR采集序列、感兴趣的解剖结构和病理学以及运动模式&…

这四种订货系统不能选(四):不能源码交付

订货系统在现代企业管理中具备着重要的地位和作用。通过订货系统&#xff0c;企业能够更好地掌握市场需求&#xff0c;提高订单的准确性和及时性&#xff0c;优化企业的供应链管理&#xff0c;并加强与供应商之间的合作与沟通。今天我们分享最后一个不能选的、也是最重要的一点…

ArcGIS Pro发布地图服务(影像、矢量)

本文示例使用&#xff08;因为portal的授权的版本只有10.5的&#xff0c;故使用10.5进行示例&#xff09;&#xff1a; 软件:ArcGIS Pro3.0.1&#xff08;破解版&#xff09;&#xff0c; ArcGIS Portal10.5 当ArcGIS Pro和Portal不在一个机器或者版本不一样的时候&#xff0…

日常问题——git推送代码被拒绝

&#x1f61c;作 者&#xff1a;是江迪呀✒️本文关键词&#xff1a;日常BUG、BUG、问题分析☀️每日 一言 &#xff1a;存在错误说明你在进步&#xff01; 一、问题描述 Push to origin/master was rejected 提交代码时提示&#xff0c;被拒绝。 二、问题原因 …