PlaneGeometry があり、ランダムなスパイクを作成するために頂点をランダムにアニメーション化しています。私はこの FragmentShader を使用します:
void main() {
vec3 light = vec3(cos(time),sin(time),1.0);
light = normalize(light);
float dProd = max(0.0, dot(vNormal, light));
gl_FragColor = vec4(dProd,dProd,dProd,1.0);
}
各スパイクのいくつかの面を黒で着色することを期待していましたが、代わりに単色になりました。平面に Sphere を配置し、同じシェーダーを適用しました。
ワイヤーフレームをオフにすると:
飛行機で何が起こっているのかよくわからない!? スパイクごとに法線が異なるため、ライティングも異なるものにする必要があると考えました。