首页 > 代码库 > Unity3d中lightMap的使用

Unity3d中lightMap的使用


环境:unity3d4.1,windows8.1

unity3d可以产生较好的光照贴图,在程序中使用它们可以产生较好的效果。

一、光照贴图偏移的获得

Renderer.lightmapTilingOffset 光照贴图平铺偏移
Description描述
The tiling & offset used for lightmap.用于光照贴图的平铺和偏移值。


A scene can have several lightmaps stored in it, and Renderer can use one of those lightmaps.This makes it possible to use the same material on multiple objects, while each object can refer to a different lightmap or different portion of the same lightmap.

一个场景可以储存多个光照贴图,并且渲染器可以使用这些光照贴图其中之一。这使得有可能在多个物体使用相同的材质,虽然每个物体可以引用不同的光照贴图或同一光照的不同部分。

The vector‘s x and y refers to the lightmap scale, while z and w refers to the lightmap offset.

vector的x和y归为光照贴图的比例,z和w归为光照贴图的偏移。

二、光照贴图

光照贴图的代码如下:

	glTexCoord2f(u1*x + z, v1*y + w); glVertex3f(-2.0f, -2.0f, 0.0f);
	 glTexCoord2f(u2*x + z, v2*y + w); glVertex3f(-2.0f, 2.0f, 0.0f);
	 glTexCoord2f(u3*x + z, v3*y + w); glVertex3f(2.0f, 2.0f, 0.0f);
	 glTexCoord2f(u4*x + z, v4*y + w); glVertex3f(2.0f, -2.0f, 0.0f);
上面的ui和vi为纹理坐标,可以通过Mesh的uv2获得。


Unity3d中lightMap的使用