I must implement a model that has a rainbow emission on itself, but, as I have noticed the Standard material only takes a single color as an emissive value at a time, I have a rainbow map I must implement in order to recreate my model’s appearance but, as I have noticed it seems like its not possible.
I am currently working with React and ThreeJS using react-three-fiber, I am not sure if that’s relevant for my problem but I’ll mention it anyway.
<meshStandardMaterial
//color={"#FFFFFF"}
map={modelMap}
normalMap={modelNormal}
envMap={environmentMapTextureModel}
envMapIntensity={3}
roughness={0.2}
metalness={0.5}
side={THREE.DoubleSide}
emissive={'#ffffff'} // This emissive only takes 1 color, if you put a texture it won't work at all
emissiveMap={emissionMap} // This is meant to delimit which parts of the model should emit light and which ones shouldn't, as long as I know
emissiveIntensity={0.05} // the emission's intensity
/>
How can I achieve this goal? Can it be done using shaders and then how? I’m not very knowledgable in the subject of shaders.
Thanks in advance for any help.