HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0730
パラレルアロー懐中電灯の表現の仕方7解決


パラレルアロー

リンク

2010/7/30(Fri) 11:22:32|NO.34084

今、Easy3Dで3Dゲームを作成していて、
種類としては「暗いところを懐中電灯で照らしていきながら探索する」
といったある種ホラーゲームに近いものを作成したいと考えております。

で、ひとつ困ったことがあります。
それは懐中電灯の表現の仕方です。
例えば、

E3DChkConfGroundPart2
等でキャラから飛ばした線分と地面との当たり判定を実施し、
その場所で、

E3DSetPointLight
を使ってライトを設置すれば、「それっぽく」はなります。

ですが、もうちょっとリアルさがほしいというか・・・やはり懐中電灯はこういうゲームの場合、
かなり重要な部分になると思うので、うまく表現したいです。
欲を言えば、ゲームの「サイレントヒル」や「SIREN」といったような感じの懐中電灯
がいいのですが、個人製作ですので、陰影までリアルにしたい・・とは言いません。

そこで質問なのですが、皆さんは巷に売られているようなホラーゲームの懐中電灯は
どのようにプログラムを組んで表現されていると思いますか?

僕の素人考えでは懐中電灯の光といったポリゴンデータを作って
地面との当たり判定をして、そこにそのポリゴンデータを表示しているのかなぁ
と思ったのですが、これだと机とかを照らした時の計算がとても複雑になりそうです。

どうすればうまい表現ができるようになるでしょうか…?



この記事に返信する


SYAM

リンク

2010/7/30(Fri) 12:33:29|NO.34085

ここら辺はHSP自体には関係ない話になってきてしまいますが…

>そこにそのポリゴンデータを表示

今の3Dグラフィックは、ポリゴン単位の処理ではなく、ピクセル単位の処理によっていろんな効果を実現するようになっています。陰影もそれに含まれます。
懐中電灯の光なんかも、影と似た処理になりそうなことはわかりますね。
…なので、ポリゴンを扱うモジュールやプラグインだけでは、実現は難しいと思います。



パラレルアロー

リンク

2010/7/30(Fri) 13:35:29|NO.34086

なるほど、そうなんですか・・・。
確かに難しそうですね。
もうちょっと
E3DSetPointLight
を研究したいと思います。



f3d

リンク

2010/7/30(Fri) 13:45:28|NO.34087

市販ゲームはシェーディングランゲージを使用して特殊効果を出しています。
PS3などではGLSL
XBOX360ならHLSLかな?(適当)

E3DはHLSLが使えない?のです。
Forsythia3DはHLSLが使えるので、
当たり判定より、特殊効果を優先したいなら
使ってみては。

HLSLを使えば、
金属反射、ランバート照明、トゥーンシェーディングなどができます。



おちゃっこ

リンク

2010/7/30(Fri) 15:12:17|NO.34089

今のEasy3Dにはピクセル単位の処理も実装されていますし
ユーザー定義のHLSLを使用することも出来ます。
(HSPに同梱してある古いバージョンでは出来ませんが)

市販のゲームの懐中電灯などはポイントライトではなく
スポットライトを使っていると思います。
スポットライトの実装自体は難しくありませんが
実装するに当たりライトの個数や種類の数が問題になります。

これはシェーダー2という市販ゲームよりも低いマシンスペックをターゲットとしているためで
しょうがないことです。

HLSLでの特殊効果で工夫することは出来るかもしれませんが
今のEasy3Dでスポットライトのような効果を出すのは無理だと思われます。

ある程度のところで妥協するしかないかと思います。



パラレルアロー

リンク

2010/8/1(Sun) 15:26:03|NO.34180

f3d様
おちゃっこ様
どうもありがとうございました。
HLSLについては全くの無知なので、勉強しておきます・・・・。



おちゃっこ

リンク

2010/11/11(Thu) 12:19:44|NO.35740

遅くなりましたが
ポイントライトの代わりにスポットライトを使用できるオプションを作りました。
E3DSetShaderTypeでCOL_PPHONG (ピクセル単位のライティングモード)にして
使ってください。



パラレルアロー

リンク

2010/11/11(Thu) 21:32:03|NO.35747

おちゃっこ様ありがとうございます。
早速試してみたいと思います。



ONION software Copyright 1997-2021(c) All rights reserved.