JSFiddle - React, Tailwind, and code Playground
HTML
<script src="//cdn.rawgit.com/mrdoob/three.js/master/build/three.min.js"></script>
JavaScript
let camera, scene, renderer, material;
let t = 0, colorHSL = {};
const geometry = new THREE.PlaneGeometry();
var init = function(){
camera = new THREE.PerspectiveCamera( 70, window.innerWidth / window.innerHeight, 0.01, 10 );
camera.position.z = 1;
scene = new THREE.Scene();
material = new THREE.MeshBasicMaterial( { color: 0x00ff00, vertexColors: THREE.FaceColors } );
material.color.getHSL( colorHSL ); // save current color value as HSL
const mesh = new THREE.Mesh( geometry, material );
scene.add( mesh );
renderer = new THREE.WebGLRenderer( { antialias: true } );
renderer.setPixelRatio( window.devicePixelRatio );
renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement );
}
var animate = function() {
requestAnimationFrame( animate );
console.log(scene.children)
t += 0.01;
const l = Math.abs( Math.cos( t ) ); // only animate lightness between [0,1]
scene.children[0].geometry.faces[0].color.setHSL( colorHSL.h, colorHSL.s, l );
//geometry.colorsNeedUpdate = true
//material.color.setHSL( colorHSL.h, colorHSL.s, l );
renderer.render( scene, camera );
}
init();
animate();