游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3166|回复: 5

[光照图]大家的光照图都是怎么做的?

[复制链接]

3

主题

49

帖子

49

积分

注册会员

Rank: 2

积分
49
发表于 2007-4-26 01:36:00 | 显示全部楼层 |阅读模式
这段时间老是在想光照图的事情。。。。。。。。以下是本人这些天断断续续胡乱想的一点拙见。。。。。。。。。

计算光照不难,难的是生成光照图的纹理坐标。。。。。。。
展UV还是3DSMax最好,自己弄的不好,我只会一个三角形一个三角形的展,生成共面的surface再展又觉得太慢。

游戏里的东西可以分成3种,地形,实体,室内
地形就是terrain。实体就是石头,小船,室内的衣柜,床,电视,建筑外表。室内就是室内,cell-portal的室内,除去那堆室内实体的室内。

地形的光照好说。

实体一般不大,干脆用3DSMax展光照图的UV好了,制作实体的时候要求每一个实体都要带有光照图的UV。整张地图算光照的时候就给每个实体都计算,然后再把算出的光照图打包成指定尺寸。
不过有些实体面太多了,所以还是不算了的好,到时候使用实时光照,但是给别的物体算光照的时候要带上它,因为要计算它的影子。
对于那些能移动的实体就既不计算光照也不计算影子,到时候使用实时光照,有必要的话可以用ShadowMap弄下阴影。(Shadow Volumn太锐了,而且还得预处理,还有建模限制)
实体的VB,IB,UV等在内存中只保存一份,所以场景中重复出现的实体使用的都是同一个VB,IB,UV,但是同一个实体的不同实例使用的光照图不同,所以要为同一个实体的不同实例保存它的光照图ID,还有纹理坐标的变换矩阵(因为将多个小光照图打包成一个大的了,所以要变换下纹理坐标)。

室内的还真不好说,同样不推荐自己展UV,但是用3DSMax好象只能展成一张光照图,室内场景很大的话这张光照图的分辨率就得十分高,这样太不好了。我也想不出什么好办法,干脆花点钱买个算光照图的软件展UV算了。Light Map Maker 0.39 免费,但是比较烂。http://www.thegamecreators.com 这上面的可都是好东西啊,就跟它域名说的一样做游戏的全套工具都有,有算光照图的,有建室内场景的,做纹理的,做天空盒的,做人物的,做声音的,甚至还有做3D游戏的(晕),做FPS类型3D游戏的(再晕)。价格都很便宜,里边做光照图的gile也就50美元,用起来感觉比LightMapMaker好不少。(大家千万别误会,我不是给他们做广告的[em10])


总之现在一想到光照就头疼,不得不感叹还是国外的那帮人厉害,似乎个个都会弄还弄的很好。顺便再提下这个http://lightsprint.com 技术更是牛x,我这边普通的光照弄着正恶心着呢,他竟然给弄了个realtime radiosity,真是要吐血了。 [em6] [em6]

3

主题

89

帖子

89

积分

注册会员

Rank: 2

积分
89
QQ
发表于 2007-4-26 16:46:00 | 显示全部楼层

Re:[光照图]大家的光照图都是怎么做的?

辐射度里各面元之间的光能传递矩阵可以搞成纹理,放到GPU里去计算...Shader Model 2.0可以搞定。
参考GPU Gems 2里面的Dynamic Ambient Occlusion也能得到一点启发,这个要Shader Model 3.0的动态分支技术。
事实上光子跟踪也能放到GPU里计算(EGSR06的会议上有篇论文,没说实时但比传统方法快多了),多次镜面折射、反射、光线焦散都能算出来。

3

主题

49

帖子

49

积分

注册会员

Rank: 2

积分
49
 楼主| 发表于 2007-4-26 20:16:00 | 显示全部楼层

Re: Re:[光照图]大家的光照图都是怎么做的?

zybx: Re:[光照图]大家的光照图都是怎么做的?

辐射度里各面元之间的光能传递矩阵可以搞成纹理,放到GPU里去计算...Shader Model 2.0可以搞定。
参考GPU ...


估计2,3年之后realtime radiosity会逐渐成为主流了吧。。。。。。。。。
但是目前还是用光照图吧,现在最关心的还是怎么展UV的问题。

3

主题

27

帖子

35

积分

注册会员

Rank: 2

积分
35
发表于 2007-4-27 10:49:00 | 显示全部楼层

Re:[光照图]大家的光照图都是怎么做的?

很多游戏都有自己的建模编辑器,场景由Brush组成,Brush是一个很小的单位展UV比较容易。Farcry室内采用预制组件组合而成,可以认为是另一种Brush,很多组件就是一个四边形,两个三角形。看看Farcry的光照图,都是这样的小组件在一张大图上的简单排列。你说的任意场景生成光照图UV比较难,大作都要回避这种做法,wow都不采用光照图。

3

主题

49

帖子

49

积分

注册会员

Rank: 2

积分
49
 楼主| 发表于 2007-4-27 22:21:00 | 显示全部楼层

Re: Re:[光照图]大家的光照图都是怎么做的?

cproom: Re:[光照图]大家的光照图都是怎么做的?

很多游戏都有自己的建模编辑器,场景由Brush组成,Brush是一个很小的单位展UV比较容易。Farcry室内采用预制...



用Brush做有些麻烦,得用专门的编辑器,美工做着也费劲。
还是Farcry的那种预制组件的方法比较不错。。。。。。。
wow不用光照图的么????wow还没有看[em10],但从画面上看至少有些场景还是明显的用了非实时的光照的,是用了预计算的顶点光照?

3

主题

27

帖子

35

积分

注册会员

Rank: 2

积分
35
发表于 2007-4-28 10:20:00 | 显示全部楼层

Re:[光照图]大家的光照图都是怎么做的?

我最近在用wow的资源,wow使用的是预渲染顶点光照,但是它在光照细节较多的地方人为增加了顶点密度。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-26 15:43

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表