【发布时间】:2010-10-29 19:31:29
【问题描述】:
我正在启动一个允许角色隐藏在黑暗区域的游戏项目。躲在黑暗的角落应该会让其他角色更难看到你。
我需要一种方法来计算角色所在位置的光照条件。
理想的情况是拥有一个
double getLightFactor(GameCharacter observer, GameCharacter target)
因为我认为可能存在光线落下的照明条件,因此目标的不同侧面会受到不同数量的光线照射。 但我很乐意接受
double getLightFactor(GameCharacter target)
无论您在哪里观看,甚至可以为特定角色获取光线
double getLightFactor(int x, int z)
只在地形中的特定地图点获取光线。
该方法需要考虑到光照条件可能会在游戏过程中发生变化,但由于它是基于回合的,因此可能允许进行一些繁重的计算。我打算让使用手电筒成为可能,因此也需要考虑它们(但它们可以单独建模和处理)。
我将使用 Ogre3d 来处理我的场景,但我很乐意接受通用解决方案甚至其他引擎的解决方案(我对引擎的选择并不是一成不变的)。
非常欢迎提出想法、论文或任何相关的东西!
【问题讨论】:
标签: 3d visibility shadow ogre3d light