游戏开发论坛

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

[交流探讨]来探讨一下2D游戏中的光照算法

[复制链接]

20

主题

398

帖子

398

积分

中级会员

Rank: 3Rank: 3

积分
398
发表于 2005-10-28 13:06:00 | 显示全部楼层 |阅读模式
最近想研究一下2D游戏中的光照算法,在网上找了一些文章看了一下,不是说大道理,就是过于简单,或者有算法有很大的缺陷,都不太实用,所以想请有经验的大侠指点一下,提供一些文章也行,非常感谢!

图形部分我是用D3D来做的,地图部分还没想好用Tile,还是整图,看看哪种好就用哪种吧!

感觉《暗黑破坏神2》的光照做得非常好,不知道是怎么做的,有研究过的大侠请介绍一些经验!谢谢! [em24]

17

主题

165

帖子

167

积分

注册会员

Rank: 2

积分
167
发表于 2005-10-28 20:52:00 | 显示全部楼层

Re:[交流探讨]来探讨一下2D游戏中的光照算法

传说中用半透明来模拟光照在2D游戏中还可以试试。

36

主题

382

帖子

498

积分

中级会员

Rank: 3Rank: 3

积分
498
发表于 2005-10-29 08:17:00 | 显示全部楼层

Re:[交流探讨]来探讨一下2D游戏中的光照算法

???

20

主题

398

帖子

398

积分

中级会员

Rank: 3Rank: 3

积分
398
 楼主| 发表于 2005-10-29 10:32:00 | 显示全部楼层

Re:[交流探讨]来探讨一下2D游戏中的光照算法

用光圈贴图是很简单,效果也还过得去,但是肯定达不到《暗黑破坏神2》的效果,我想做一个像《暗黑》那样比较真实的光照效果。

85

主题

824

帖子

878

积分

高级会员

Rank: 4

积分
878
QQ
发表于 2005-10-29 12:20:00 | 显示全部楼层

Re:[交流探讨]来探讨一下2D游戏中的光照算法

5.7.6 光照系统
        为了实现类似Diablo II的光照系统,我们还有许多工作要做。核心任务是解决墙壁和精灵的精确光照问题和墙壁对光线的遮挡问题。如果你直接使用5.7.5节的代码的话而不对墙壁和精灵做额外处理的话,你首先会发现它们的光照不太正常----一点立体感都没有,因为它们在Z方向有伸展,离原点的距离可不能拿它们在屏幕上的位置来算;第二个问题是墙壁居然挡不住光。好,接下去我们来看看该怎么做。
        第一个问题是比较好解决的,如果墙壁和精灵很高,只要预先做好一张“如果底部光强为n那么高h处光照为多少”的表,然后刷新屏幕时先用5.7.5节的代码处理地表,再按这张表和光照表画精灵和墙壁即可;如果它们不高,那可以近似处理一下,把它们全部用底部的光照画上去就行啦,Diablo II就是这样做的。
        第二个问题就比较麻烦了。由于直接对屏幕上所有点判断是否被墙遮挡显然是不可能的,我们最好把屏幕分成一个个小格子,再依次判断它们是否被墙遮挡,如果是就在光照表中置这个格子中的所有点一个很暗的值,最后再进行插值运算使光照过渡平滑。
--《游戏编程指南》

20

主题

398

帖子

398

积分

中级会员

Rank: 3Rank: 3

积分
398
 楼主| 发表于 2005-10-29 19:33:00 | 显示全部楼层

Re:[交流探讨]来探讨一下2D游戏中的光照算法

"墙壁和精灵的精确光照问题和墙壁对光线的遮挡问题"

我就是对这两个问题比较头痛!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-22 10:20

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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