Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用three.js在html5 webgl画布动画中组织对象_Javascript_Html_Canvas_Webgl_Three.js - Fatal编程技术网

Javascript 使用three.js在html5 webgl画布动画中组织对象

Javascript 使用three.js在html5 webgl画布动画中组织对象,javascript,html,canvas,webgl,three.js,Javascript,Html,Canvas,Webgl,Three.js,我想画一个3D猫(带动画),它只不过是一堆3D对象——椭球体、金字塔、球体等等。 我有两个问题: 1) 有没有办法定义自己的复杂几何3D对象,而不是标准的Three.js对象,例如球体、立方体 2) 为整个cat设置动画时,我应该为每个对象定义动画功能吗?有没有办法将一些对象组合在一起?对于我建议阅读的第一个问题,这将允许您创建一致的复杂对象,而无需在每次创建对象时重新创建轮子。至于创建自定义对象,就像多段线实际上是一个线集合一样,通过标准线方法(以及特定于对象的方法)的迭代实现,您可以创建一个

我想画一个3D猫(带动画),它只不过是一堆3D对象——椭球体、金字塔、球体等等。 我有两个问题:

1) 有没有办法定义自己的复杂几何3D对象,而不是标准的Three.js对象,例如球体、立方体


2) 为整个cat设置动画时,我应该为每个对象定义动画功能吗?有没有办法将一些对象组合在一起?

对于我建议阅读的第一个问题,这将允许您创建一致的复杂对象,而无需在每次创建对象时重新创建轮子。至于创建自定义对象,就像多段线实际上是一个线集合一样,通过标准线方法(以及特定于对象的方法)的迭代实现,您可以创建一个javascript对象,其中包含创建自定义形状所需的对象集合。一个很好的webgl备忘单可以帮你一点忙

问题二与我们在上面描述复杂对象的方式有些相似,即当您编写Cat对象渲染/动画功能时,您将以每个对象为基础处理动画(除了完整对象静态移动,想象一只猫在自动扶梯上)。再次强调,约束或参数驱动设计将是您的救星,因为两个或多个对象部分重叠并不意味着这些对象是显式链接的

作为结束语,我建议您仔细研究一下。对于这种类型的工作可能没有必要,但lisp在CAD脚本世界中非常流行,从长远来看,至少通过熟悉编码约定,您肯定会帮自己一个忙-在这个项目中,您将遇到的许多问题将在各种编程中得到解答语言,但您可能会发现,许多由在围栏两侧工作的人(cad/编程)编写的答案都是用lisp编写的。这是一个最终的通用,这是一个伟大的资源,为所有的东西CAD