前端之家收集整理的这篇文章主要介绍了
Cocos2d-x 3D功能学习笔记,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
3D游戏中也有Sprite对象。理所当然地,任何游戏的核心基本对象都是Sprite对象。3D精灵不仅有x、y轴,还有z轴。与常见的Sprite一样,Sprite3D有多种方式。 使用Sprite3D 给Sprite3D对象
添加3D模型 上文中提到3D模型是网格的集合。所以你可以将一个3D模型
添加到其他的3D模型上,从而创建出丰富的
效果。我们来举一个给对象
添加武器的例子。首先需要找到武器要
添加到的附着点,这个可以使用getAttachNode(attachment_point_name)
函数来实现。然后需要使用addChild()
函数将这个新模型作为一个子节点
添加到附着点上。你可以把以上过程理解为将多个简单的3D模型组合起来创建更复杂的模型。 更换3D模型 当进行3D建模时,你或许想要给模型
添加动态变化。也许道具、外观的变化或视觉信号会使
用户注意到=模型状态的改变。 如果3D模型是由网格组成的,可以使用getMeshByIndex()和getMeshByName()来访问网格数据。使用这些
函数可以实现更换武器或者改变对象外观的
效果。如下图中我们给女孩穿上一件外套: 动画 Sprite3D对象是游戏的核心。我们已经学到了如何操作精灵。然而,我们还需要更复杂的操作,例如动画!你可以使用Animation3D和Animate3D对象来运行一个3D动画。然后使用Ainmation3D对象来创建一个Animate3D动作。 摄像机 Camera对象在3D建模中非常重要。3D世界不是一个平面,需要使用 Camera 作为3D世界的导航。正如我们在看电影时屏幕面板的左右切换一样,这个概念同样适用于 Camera对象。Camera对象继承自Node,因此
支持大部分的Action对象。Camera对象有两种类型:透视(perspective)摄像机和正交(orthographic)摄像机 Camera对象听起来很复杂,但是在Cocos2d-x中使其变得很简单。当使用3D时,创建一个Camera对象没有什么不同。基于Director对象的投影
属性,每个Scene都会
自动地创建一个默认摄像机