Collada 快速入门.doc

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Collada 快速入门 说明:Collada的文件格式,中文版的很少,在csdn上看到了一个Sleepy的,感觉也不是全面特别是没有图让我很伤感,所以我在这里加上了图,希望对大家有帮助。 一步一步的使用C++和OPENGL实现COLLADA骨骼动画 第一部分 英文原作者:waZim 原文标题:Step by Step Skeletal Animation in C++ and OpenGL, Using COLLADA 原文地址:/Collada_Tutorial_1.htm Sleepy译 译注: 这是一篇详细介绍COLLADA文件(也就是DAE文件,3D模型文件的一种)格式的文章。之所以翻译这篇文章的原因,一是这篇文章的确写得很好很详细,另一方面关于DAE文件格式的中文资料非常的少,每次看E文的也累,所以正好翻译出来一了百了。 我是从看dancingwind(周炜)与AKER翻译的NEHE Opengl教程开始学习Opengl的,对这些将外国的优秀文章和教程汉化的人,我向他们致以由衷的感谢,同时也以此译文向他们致敬。 另外,本人E文水平有限,有些词翻译得不是很准(但我相信应该不会对阅读的人造成误导),如果发现错误和不完善的地方(估计会有很多),大家可以通过邮件与我交流,我会在第一时间更正错误。Sleepy介绍:HI,欢迎来到第一篇骨骼动画的教程。这一系列教程由两部分组成: 1.了解如何读取COLLADA文件(概括的介绍COLLADA文件)。 2. 用C++和OPENGL去真正实现第一部分所讲的内容。 第一部份: 阅读与理解COLLADA文件正如在前面的介绍部分里所说,这篇教程分为两个部份。第一部分的一般性的讲解并不考虑和涉及任何编程语言。但是如果你想直接跳到第二部分去看程序实现的话,你非常可能会感到完全无法理解从而无法继续下去。所以强烈建议对于COLLADA文件一无所知的初学者来说,还是耐心看完第一部分的介绍再去看第二部分的实现。 ?废话不多说,让我们开始吧。 ?COLLADA文件 ?在我们准备开始深入挖掘COLLADA文件的意义之前,我希望你们先下载一个实例文件,这个文件我们将做为此教程从头到尾讨论的对象(所以大家还是下载回来对照参看吧)。大家可以在COLLADA模型中心中找到它。它的名字叫“astroBoy_walk.dae”,如果你到处都找不到这个文件,那么好吧,你可以到这篇教程所在网页的“下载”部分找到它。(我怎么找不到) ?就像我们之前所说的,COLLADA文件以XML的形式存储。现在大家可以打开前面所说的示例文件看看,你可以用你最喜欢的文本编辑器打开这个文件(IE就不错)。你会看到一个根结点名为“COLLADA”,如果你所用的文本编辑器支持展开与折叠XML结点的话(IE就可以),你可以通过点击+-号把各个结点展开收起来成这个样子: 图1:COLLADA文件的概览 在.dae文件或.xml文件的根结点COLLADA下你会找到很多library这样的东西,它们就是用来存储模型中各种不同各类的信息的。比如library_geometries就是用来存储几何数据的(就是三角形啊,还有所谓的mesh啊 – 另外mesh这个词好像大家叫成英文的比较多,下面遇到这个词就不译成中文了);library_lights则是用来存储光照和场景数据的。大家看看图1,并不是什么制造火箭般的高科技是不是,通过这些叫library_xx的东西我们能找到模型实际的各种数据。而像如几何数据的存储区会有geometry名字的结点,而光照数据的存储区会有叫light的结点,这表明这些数据存储区里存储的模型或光照数据常常不止一组。现在,让我们来一个一个地分析每个数据区,按照每个数据区的重要性不同,我会将它们合理的排列在这篇教程的不同位置。 首先,为了让问题变得简单,正如我说的这是篇入门教程,所以我们不会讨论COLLADA文件的每一个方面,为了在教程中除去其中的复杂的部分,我们来设定几个前提条件。 ?前提条件: 1.虽然无论COLLADA文件从Max中导出还是从Maya中导出照理说应该是一样的,但实际上在某些情况下总会有那么一点不同。我们只讨论从Max中导出的COLLADA文件,当然这并不是说用Maya的人就杯具了。因为我仍可以肯定的是,如果COLLADA从Maya中导出时,在弹出的COLLADA导出选项对话框中将“triangulate”这个选项钩上,并且以“背向矩阵”(backed matrices,我没用过Maya,也不知道是什么)方式导出的话,则与Max导出的是一样的。但是因为我有用过Maya,所以不知道我的导出器载入Maya导出的文件时会失败在什么地方。 2. COLLADA文件中必须仅仅只有一个mesh,这意味着任何在max文件中有用

文档评论(0)

kakaxi + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档