キャラクターが暗い場所に隠れることができるゲームプロジェクトを始めています。暗い隅に隠れると、他のキャラクターがあなたを見るのが難しくなります。
私が必要としているのは、キャラクターがいる場所の照明条件を計算する方法です。
理想は
double getLightFactor(GameCharacter observer, GameCharacter target)
なぜなら、ターゲットのさまざまな側面がさまざまな量の光に当たるように、光が当たる照明条件が存在する可能性があるからです。しかし、私は喜んで解決します
double getLightFactor(GameCharacter target)
どこから見ているか、さらにはどこから見ても、特定のキャラクターの光を得ることができます
double getLightFactor(int x, int z)
地形内の特定のマップポイントでライトを取得するだけです。
この方法では、ゲームプレイ中に照明条件が変化する可能性があることを考慮する必要がありますが、ターンベースであるため、かなりの計算が許可される可能性があります。私は懐中電灯を使用できるようにするつもりなので、懐中電灯も考慮する必要があります(ただし、モデル化して個別に処理することもできます)。
私は自分のシーンを処理するためにOgre3dを使用しますが、一般的なソリューションや他のエンジンのソリューションも喜んで受け入れます(私の選択したエンジンは石に刻まれていません)。
アイデア、論文、または本当に関連するものは大歓迎です!