【发布时间】:2014-12-02 22:56:31
【问题描述】:
我正在尝试复制这种效果:https://dribbble.com/shots/1754428-Wave?list=users&offset=5
我想为飞机的顶点设置动画,类似于我提供的链接。我知道它是使用正弦波传播实现的,但我不知道如何从平面的中心点开始运动。现在,我有这样的东西
(function drawFrame(ts){
window.requestAnimationFrame(drawFrame);
var vLength = plane.geometry.vertices.length;
for (var i = 0; i < vLength; i++) {
var v = plane.geometry.vertices[i];
v.z = Math.sin(ts / 500 + (v.x * (vLength / 2)) * (v.y / (vLength / 2))) * 3 + 5;
}
它的工作原理还不错,但请注意左上角和右下角的运动是如何向内的,朝向平面的中心而不是向外,因为它应该是。其他两个角的行为与我希望的完全一样。
这是我目前拥有的链接: http://codepen.io/gbnikolov/pen/QwjGPg
欢迎所有建议和想法!
【问题讨论】:
标签: javascript animation three.js