| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> Babylongjs-村庄动画 -> 正文阅读 |
|
[游戏开发]Babylongjs-村庄动画 |
我们村现在不是很热闹,所以让我们添加一些动画。我们仍处于学习 Babylon.js 的早期阶段,离添加 Simms 系列还差得很远。您将要介绍的父级和子级是无声类型和一种将网格链接在一起的方式,以便对父网格的更改也应用于其子网格。我们将为一个非常简单的汽车制作动画,其车轮是父车身的子级。与真正的汽车不同的是,它是车身带动车轮。有一种方式可以让我们的网格父母和孩子表现得像一个真正的家庭,孩子们可以独立于父母行事。干得好,因为我们不希望汽车随车轮旋转。 父母和孩子我们将添加一辆穿过村庄的非常简单的汽车。 无论多么简单的汽车需要车轮,我们都必须将车身和车轮结合起来。 使用合并网格将它们组合起来会导致车轮无法旋转。相反,我们将汽车的车身设置为每个车轮的父级。 在构建我们的简单汽车之前,让我们采取一种方法来设置父级以及这意味着什么。
?在父级上使用任何位置、缩放和旋转也将应用于子级。设置孩子的位置在父空间中完成,设置孩子的旋转和缩放发生在孩子的本地空间中。 造车这辆车将是一辆非常简单的车。主体将使用extrudePolygon方法构建。这是另一种可以使用MeshBuilder构建的形状。形状的轮廓是在 XZ 平面上绘制的,点按逆时针顺序排列,拉伸在 Y 方向。多边形的原点是底平面上的零点。 汽车的轮廓由一组 vector3 点组成,它们形成水平基线、前部的四分之一圆,然后是水平基线。垂直背面由extrudePolygon方法形成,因为它会自动连接第一个和最后一个点。
这些和沿 Y 方向挤压的深度,给出了汽车的形状
注意:extrudePolygon和PolygonMeshBuilder都使用耳切切片算法。 车轮 我们从一个圆柱体中形成右靠背位置的轮子,并将它作为一个孩子添加到汽车中。然后复印右前轮、左后轮和左前轮。这次使用clone而不是createInstance因为我们可以克隆一个克隆。当我们克隆一个轮子时,它的父节点成为克隆的父节点。
现在我们将使用一些纹理使汽车看起来更像汽车。 汽车材质就像我们在盒子的不同面上使用不同的图像一样,挤出的多边形和圆柱体也有类似的东西。 对于车身,我们使用此图像 ?这个是轮子用的 ? 对于挤压多边形和圆柱面,0 是底部,面 2 是顶部,面 1 是连接底部和顶部的边。请记住,目前车身和车轮都是平躺的 车身的顶部和底部使用左上角(几乎)四分之一的图像。边缘部分穿过底部,环绕前面,穿过顶部和身体的后部使用图像的下半部分。 车身底部如您所料,由左下角坐标 (0, 0.5) 到右上角坐标 (0.38, 1) 给出; 车身顶部使用相同的图像,但需要翻转以适合汽车的另一侧。 边从 (0, 0) 到 (1, 0.5)
轮子由于其对称性而更加直接,它使用整个图像作为顶部和底部,并且只为边缘拾取黑色像素。
把这些放在一起,然后把成品车直立起来就可以了。 ?动画基础-车轮动画 我们将从一个轮子开始,让它绕着它的轴旋转。请记住,为了使汽车保持直立,我们将其绕 x 轴旋转,因此轴沿圆柱体的 y 轴。 我们需要创建一个新的动画对象
它具有参数 1.名称、 2.动画属性、 3.每秒动画帧数、 4.动画类型属性、 5.循环模式, 在这种情况下是重复动画,我们遵循关键帧数组,在其中我们设置属性值以按帧编号进行动画处理:
最后,我们将关键帧数组链接到动画,将动画链接到网格并开始它。
由于所有轮子旋转相同,我们可以对所有轮子使用相同的动画。
为了确保在以后的操场上新代码不会被大量以前的代码淹没,我们将把汽车保存为模型并将其作为项目导入和动画。
我们现在可以为汽车本身设置动画并将其添加到村庄中。 为村庄中的汽车制作动画与我们为车轮设置动画的方式类似,我们现在为汽车设置动画以使其直线行驶 5 秒,然后停止 2 秒。然后重复。
在调整汽车的位置和路线后,它会经过我们有的村屋。 我们已经制造了汽车。现在让我们看一个可以与其内置动画一起导入的模型角色。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 20:58:02- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |