threejs笔记5
![这是第一次学习threejs,记录一些学习笔记,简化知识点, 如果对您也有帮助请搜索头像二维码或者搜索小程序“上品威客”,感谢您的支持](https://i-blog.csdnimg.cn/blog_migrate/3ec6d9aaaa61138280f917944da1321d.jpeg)
光源
光源用Light表示,它是所有光源的基类,THREE.Light ( hex ):参数hex,接受一个16进制的颜色值
Var redLight = new THREE.Light(0xFF0000);
环境光
环境光是一种无处不在的光,THREE.AmbientLight( hex )
点光源
这种光源放出的光线来自同一点,且方向辐射自四面八方,
PointLight( color, intensity, distance )
Color:光的颜色
Intensity:光的强度,默认是1.0,就是说是100%强度的灯光,
distance:光的距离,从光源所在的位置,经过distance这段距离之后,光的强度将从Intensity衰减为0。
聚光灯
光线从一个锥体中射出,在被照射的物体上产生聚光的效果。使用这种光源需要指定光的射出方向以及锥体的顶角α
THREE.SpotLight( hex, intensity, distance, angle, exponent )
Hex:聚光灯发出的颜色,如0xFFFFFF
Intensity:光源的强度,默认是1.0,如果为0.5,则强度是一半,意思是颜色会淡一些。和上面点光源一样。
Distance:光线的强度,从最大值衰减到0,需要的距离。
Angle:聚光灯着色的角度,用弧度作为单位,这个角度是和光源的方向形成的角度。
exponent:光源模型中,衰减的一个参数,越大衰减约快。
材质
材质就是物体的质地,表面各可视属性的结合,这些可视属性指表面的色彩、纹理、光滑度、透明度、反射率、折射率、发光度等
纹理
D世界的纹理由图片组成, 纹理类THREE.Texture,
THREE.Texture( image, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy )
Image:这是一个图片类型,基本上它有ImageUtils来加载,var image = THREE.ImageUtils.loadTexture(url);
Mapping:是一个THREE.UVMapping()类型,它表示的是纹理坐标
wrapS:表示x轴的纹理的回环方式 当纹理的宽度小于需要贴图的平面的宽度的时候,平面剩下的部分应该p以何种方式贴图的问题
wrapT:表示y轴的纹理回环方式
magFilter和minFilter表示过滤的方式
format:表示加载的图片的格式,这个参数可以取值THREE.RGBAFormat,RGBFormat等
THREE.RGBAFormat表示每个像素点要使用四个分量表示,分别是红、绿、蓝、透明,RGBFormat则不使用透明,
type:表示存储纹理的内存的每一个字节的格式默认是无符号型(THREE.UnsignedByteType)
anisotropy:各向异性过滤。使用各向异性过滤能够使纹理的效果更好,但是会消耗更多的内存、CPU、GPU时间
纹理坐标
正常的情况下,在0.0到1.0的范围内指定纹理坐标