我正在尝试使用维罗尔德在脚本中动画三维模型。但是,我很难理解verold组件的corret用法。
我有一个模型加载到我的场景,并附加了一个脚本作为该模型的属性。我也有一个关键帧动画属性,这是设置为不自动播放。
我在这里的目标是能够启动一个特定的动画,当用户点击一个按钮。当我使用以下代码时,我可以看到模型对象
PlayAnimation.prototype.init = function() {
// this.veroldEntity is available here but the Three.JS data isn't loaded yet
cObject = this.veroldEntity;
};但是我不知道如何使用播放动画(循环,startTime,保存,fn)函数。
所以我的问题是: 1.这是在脚本中启动动画的正确方式吗? 2.如果是的话,有人能告诉我使用它的正确方法吗?例如,保存和fn参数是什么?
提前谢谢..。
发布于 2014-10-14 13:50:14
首先,您需要获得对要通过脚本控制的KeyFrame动画组件的引用。您可以使用getComponentsByScriptName()获取附加到实体的关键帧动画组件:
PlayAnimation.prototype.init = function() {
var animationsById = this.getEntity().getComponentsByScriptName("Keyframe Animation");
this.animations = [];
for (var id in animationsById) {
this.animations.push(animationsById[id]);
}
};如果一个关键帧动画组件附加到该实体,那么this.animations[0]将引用它。接下来,您可以播放动画:
this.animations[0].play();发布于 2014-10-13 10:29:26
有两种方法可以从组件中触发动画。您可以使用动画API,也可以在UI中设置EventHandler。
EventHandler是一种简单的方法:
http://www.verold.com/learn/articles/using-the-verold-loader-73
事实上,如果有一篇文章你应该去了解Verold是如何工作的,我会说看看那个。它很好地总结了使用Verold最常见的方式。用HTML/CSS构建界面,并将事件从应用程序激发到Verold。然后尽可能多地使用我们的内置组件和编辑器。Verold还有很多内容,更不用说通过在下面获得Three.js呈现器的句柄可以做些什么了,但是您可以使用事件实现很多任务。
我会让Ian回答如何使用动画API。如果您想要驱动更复杂的交互性,例如,如果您想要自定义动画混合,可以直接使用API。
https://stackoverflow.com/questions/26332838
复制相似问题