火炬之光的灯光设计,以及在unity中的实现

游戏关卡设计主要使用的元素包括:
1.玩家
2.角色(包括npc和怪兽)
3.光照
4.玩家出生点
5.怪兽出生点
6.触发器区域(玩家进入这个区域,触发一个脚本)
7.怪物出生 触发区域(玩家进入区域,触发怪物产生)
8.退出关卡触发区域
9.触发物体(当玩家和对象交互的时候,触发一个脚本)
10.宝箱类型对象
11.可摧毁类型对象
12.陷阱触发器
13.定时 陷阱触发器(定时开关的陷阱,类似于地面喷射的火焰)
14.爆炸效果陷阱
15.门
16.路点(用于过场动画里面的行走点)

其中光照是营造氛围非常重要的元素:火炬之光采用了一种类似于光照贴图的技术,
1.首先手绘的几张光照图;
2.将光照图摆放到场景中
3.物体的shader在渲染的时候,根据xz平面坐标,计算出对应的光照图影响,和物体本身的颜色相乘,就得到伪光照的效果

在unity里面实现的话,
首先需要设计shader,为shader添加一个texture用于放置光照贴图;
在asset中新建一个rendertarget 对象,将其放到需要使用光照贴图的对象的材质中;
构建一个光照贴图摄像机,用于拍摄场景中的 伪光照模型,伪光照模型处于一个独立的层上面,和一般物体分开,光照摄像机的render target设置为刚才新建的 render对象;
为每个需要光照影响的对象附加一个脚本,用于动态传入光照摄像机的位置到shader中,在shader中根据自身位置和摄像机位置,计算对象的光照贴图坐标。

你可能感兴趣的:(火炬之光的灯光设计,以及在unity中的实现)