Three.js颜色创建方法咨询及球体材质显示颜色异常问题求助
Three.js颜色创建方法咨询及球体材质显示颜色异常问题求助
嘿,各位大佬,我碰到个头疼的问题,想请大家帮忙看看!我用react-three-fiber做了个球体动画效果,明明给球体的meshPhongMaterial设置了color={0xffff00}和emissive={0xffff00},预期应该显示亮黄色,但实际渲染出来的却是偏灰的黄色,完全不是想要的效果。
先贴一下我的代码:
export const CubeAnimation = () => { return ( <Canvas camera={{ aspect: 2, far: 1000, fov: 45, near: 0.1, position: [0, 90, 50] }} style={{ background: 'black' }} > <pointLight color={0xffffff} intensity={1500} /> <mesh position={[0,0,0]} scale={[5,5,5]}> <sphereGeometry args={[1, 6, 6]} /> <meshPhongMaterial color={0xffff00} emissive={0xffff00} /> // 就是这个材质,颜色显示不对 </mesh> <mesh position={[0, -3, 0]} rotation={[-Math.PI / 2, 0, 0]}> <planeGeometry args={[500, 500]} /> <meshPhongMaterial color={'black'} /> </mesh> <OrbitControls enablePan enableZoom /> </Canvas> ) }
我自己琢磨了几个可能的方向,但还没解决,也想顺便请教下Three.js颜色创建的正确姿势:
- 是不是我用十六进制颜色的方式有问题?比如
0xffff00要不要换一种写法? - 点光源的设置会不会干扰材质颜色的显示?比如强度或者位置是不是没调好?
emissive和color一起设置会不会有冲突,导致颜色被中和了?
有没有大佬能指点一下,怎么让这个球体显示出正常的亮黄色呀?
备注:内容来源于stack exchange,提问作者Геннадий Лобоцкий
相关产品推荐
相关产品推荐

