Re: 画面が真っ暗になって世界の終わりみたいになってしまう ( No.1 ) |
- 名前:takatwu 日時:2013/05/27 19:27
モデルデータの環境光が0になっているのかもしれません。
DxLibModelViewerでモデルデータを開き、
マテリアルタブから全てのマテリアルの環境光の輝度を0.6くらいに変更し、
mv1形式(xファイルはNG)で保存したらどうでしょうか。
|
Re: 画面が真っ暗になって世界の終わりみたいになってしまう ( No.2 ) |
- 名前:珈琲 日時:2013/05/28 00:57
うーん、環境光が確かに小さくなっていました(20%ぐらいでした)
環境光って環境によって受ける光の割合?ということでしょうか
現実的にリアルにモデルを作ろうとした場合100%にするべき・・・?
また、できるだけDXライブラリに依存するデータ形式は避けたいです。
xファイル単体でできたりしないでしょうか?
|
Re: 画面が真っ暗になって世界の終わりみたいになってしまう ( No.3 ) |
- 名前:takatwu 日時:2013/05/28 19:36
xファイルには環境光の値を保存できません。
xファイルを使用するのであればプログラム側でロードしたモデルのマテリアルごとの環境光を変更すればいいかもしれません。
int MV1SetMaterialAmbColor( int MHandle, int MaterialIndex, COLOR_F Color ) ;
|
Re: 画面が真っ暗になって世界の終わりみたいになってしまう ( No.4 ) |
- 名前:珈琲 日時:2013/05/29 16:44
ありがとうございます。
ただ、環境光がそもそもなんなのかわからないのですが
これは常に100%でいいのでしょうか?
|
Re: 画面が真っ暗になって世界の終わりみたいになってしまう ( No.5 ) |
- 名前:珈琲 日時:2013/05/30 01:09
それと、DxlibModelViewerとDxlibで実際に描画されるモデルに違いがあります。
DxlibModelViewer
ttp://gyazo.com/ec7bc00efd35f564eac16db1d0ca4e64
Dxlib
ttp://gyazo.com/e755f9f4a79a4991f0cec7813f0bc020
ttp://gyazo.com/6d67ea0a61dfc55b9b74061429a5ab64
画像は、Y座標を下げ続けるカメラが空中に浮いてるブロックを描写したものです。
モデルに適用した行列は
MV1SetMatrix(HMenuGameStart,MMult(MGetRotX(PHI_F/2),MGetTranslate(VGet(-100,50,-300))));
のみです。
|
Re: 画面が真っ暗になって世界の終わりみたいになってしまう ( No.6 ) |
- 名前:softya(ソフト屋) 日時:2013/05/30 12:29
環境光(アンビエント)は3DCG関係の勉強をしていただきたいんですが簡単に言うと、マテリアルのアンビエントは空気や周りにあるものによる光の乱反射を超簡易的にシミューレートしたものです。
つまり、状況に応じてアンビエント値を変えてやらないとリアルにはなりません。
アンビエントが真っ暗で良いのは宇宙空間を演出するときぐらいです(それでも宇宙船の同士が接近すれば反射光が生まれます)。
レイトレーシングとリアルタイムレンダリングの違いや、ラジオシティなども調べられた方がよいでしょう。
光の物理法則の理解をしないと3DCGは思うような絵になってくれません。PS3レベルとも成ると質感表現はすごく難しいです。
|
Re: 画面が真っ暗になって世界の終わりみたいになってしまう ( No.7 ) |
- 名前:softya(ソフト屋) 日時:2013/05/30 15:44
>それと、DxlibModelViewerとDxlibで実際に描画されるモデルに違いがあります。
そもそもカメラはちゃんと設定されているんでしょうか?
DxlibModelViewerと同等のカメラにしないと、どう違っているのか判定しようがありませんよね。
|
Re: 画面が真っ暗になって世界の終わりみたいになってしまう ( No.8 ) |
- 名前:珈琲 日時:2013/05/31 23:22
>つまり、状況に応じてアンビエント値を変えてやらないとリアルにはなりません。
なるほど、文字通り環境によって変えろってことですね
そうすると、ゲームではステージによって環境光の値を変えろと・・・
>レイトレーシングとリアルタイムレンダリングの違いや、ラジオシティなども調べられた方がよいでしょう。
>光の物理法則の理解をしないと3DCGは思うような絵になってくれません。
と、とりあえず何らかのCG書籍買ってきます。
どんな本がいいのかさっぱりわかりませんけど・・・
>そもそもカメラはちゃんと設定されているんでしょうか?
>DxlibModelViewerと同等のカメラにしないと、どう違っているのか判定しようがありませんよね。
カメラの設定はデフォルトです。
カメラの設定によってモデルのUVテクスチャの設定が変わるということでしょうか?
SetCameraPositionAndTarget_UpVecY(VGet(-100,50+tmp,-600),GAME_START_VECTOR);
tmp++;
こんなかんじのコードをループさせていたのですが・・
GAME_START_VECTORは描画されているそのポリゴンです。
|
Re: 画面が真っ暗になって世界の終わりみたいになってしまう ( No.9 ) |
- 名前:珈琲 日時:2013/05/31 23:31
ひと通り調べたのですが、ラジオシティ方という方式でやってみたいと思います。
この方式がDXlibで使用できるのか調べようとしたのですが、
私では見つけられませんでした。
多分Dxlibの標準でtrueになっているZバッファとか使えなくて、自分でピクセルから視点飛ばして探索するのかなと
|
Re: 画面が真っ暗になって世界の終わりみたいになってしまう ( No.10 ) |
- 名前:珈琲 日時:2013/05/31 23:55
ラジオシティを調べて・・
ttp://ha7.seikyou.ne.jp/home/tonta/cg8.html
>「キャストシャドウ」…光源の光を物体が遮ってできる影です。これは「Zバッファ法」
「スキャンライン法」どちらも表現することができません。
ど、どうすれば・・・
|
Re: 画面が真っ暗になって世界の終わりみたいになってしまう ( No.11 ) |
- 名前:softya(ソフト屋) 日時:2013/06/01 00:22
>そうすると、ゲームではステージによって環境光の値を変えろと・・・
いえ、市販ゲームなら立っている場所で変わります。
>ひと通り調べたのですが、ラジオシティ方という方式でやってみたいと思います。
ラジオシティは基本的にレイトレシーグでしか使えません。あと強烈に重いです。
※ 理由はラジオシティの原理を理解すれば納得されます。
擬似ラジオシティの実装は試行錯誤され業界でも5年以上前から研究されているものですが決定打はないと思います。
プロでも扱える人が限られるので、素人が手を出せるようなものでもありません。
「【レポート】進化するHalf-Life 2エンジン(前編) (4) ラジオシティ法線マップとは? | パソコン | マイナビニュース」
http://news.mynavi.jp/articles/2007/01/01/hl21/003.html
「西川善司の3Dゲームファンのためのゲームグラフィックス講座」 MGS4の分離プリライティング
http://game.watch.impress.co.jp/docs/20081203/3dmg4.htm
コレらの記事を読んだだけで実装方法が検討できる技量が必要です。
とにかく、上で紹介したサイトは記事が色々あるので目を通してみてください。
【補足】現状を説明するとPS1の初歩レベル(アンビエント)等が十分に出来ていないのに、
いきなりPS3レベルの上級技術(擬似ラジオシティ)を出来ないか?と聞かれているわけです。
私としてはアマチュアでは無理だと思いますとしか答え様がありません。
ラジオシティを紹介したのは、光の物理法則の再現の難しさを知って欲しかったのです。
>と、とりあえず何らかのCG書籍買ってきます。
>どんな本がいいのかさっぱりわかりませんけど・・・
上で紹介した西川善司さんの本はゲーム情報なのでお勧めですが、3冊あるので買うと高いです。
それに理論だけで実装方法は書かれていません。1冊は増補版でした。失礼。
「Amazon.co.jp: ゲーム制作者になるための3Dグラフィックス技術 増補改訂版: 西川 善司: 本」
http://www.amazon.co.jp/dp/4844333542
CG関係はとりあえず本は買わずにネットで調べては?
「【CG教科書】用語集・数学」
http://chiyo.sfc.keio.ac.jp/cgsoft/Release/Textbook/glossary.html
>カメラの設定はデフォルトです。
>カメラの設定によってモデルのUVテクスチャの設定が変わるということでしょうか?
ごめんなさい写真で、UVが変になっているかさえ分かりませんでした。
どうおかしいのか、わかりやすく同じカメラアングルで並べてもらえませんか?
|
Re: 画面が真っ暗になって世界の終わりみたいになってしまう ( No.12 ) |
- 名前:softya(ソフト屋) 日時:2013/06/01 00:33
>「キャストシャドウ」…光源の光を物体が遮ってできる影です。これは「Zバッファ法」
「スキャンライン法」どちらも表現することができません。
そっちのシャドウも擬似的にはいろんな手法があります。
「DXライブラリ置き場 サンプルプログラム3D編」
http://homepage2.nifty.com/natupaji/DxLib/program/dxprogram_3D.html
過去ログより
「ソフトシャドウ処理について」
http://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=2968
「深度値を利用した影表現基本で影が上手く出ない」
http://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=2774
|
Re: 画面が真っ暗になって世界の終わりみたいになってしまう ( No.13 ) |
- 名前:珈琲 日時:2013/06/01 11:35
>プロでも扱える人が限られるので、素人が手を出せるようなものでもありません。
そうだったんですか
MMDでホワホワした光加減の動画がたくさんあったので簡単なものかと思ってました。
(ピクセルから視線手繰ってマテリアルの角度から反射方向に別の視線を〜 って感じで)
とりあえず、まずは光の当たり方とかは置いといて、今は3Dゲームを作ることに専念します。
>CG関係はとりあえず本は買わずにネットで調べては?
>「【CG教科書】用語集・数学」
ありがとうございます
ttp://gyazo.com/5bfe45abf58f6a22356d7305603e07b8
ttp://gyazo.com/d1c41c09a406544f5df8f4209bfeef53
ほぼ同一の角度からのスクリーンショットです。
テクスチャの上下、範囲指定がなされていないような状況です
MetasequoiaとDxlibModelViewerのテクスチャの違いはありませんでした。
|
Re: 画面が真っ暗になって世界の終わりみたいになってしまう ( No.14 ) |
- 名前:softya(ソフト屋) 日時:2013/06/01 14:01
> MMDでホワホワした光加減の動画がたくさんあったので簡単なものかと思ってました。
それは複数のライトを操って表現してませんか?
ラジオシティと複数光源では全然目指すものが違いますけど。
【補足】
如何にラジオシティなどの本物が遅いかの実例。
「気まぐれギャラリー・大域照明紹介」
http://www8.plala.or.jp/sisioumaru/shade-gi.html
リアルタイムじゃないので1コマに分単位で時間がかかります。
> ttp://gyazo.com/5bfe45abf58f6a22356d7305603e07b8
> ttp://gyazo.com/d1c41c09a406544f5df8f4209bfeef53
確かに変ですね。
UVと言うよりも逆転とか別の現象が起きているような。
モデルをUPして貰えれば調べることが出来るかもしれません。
私よりも管理人さんの方が詳しいんですけどね。
|
Re: 画面が真っ暗になって世界の終わりみたいになってしまう ( No.15 ) |
- 名前:珈琲 日時:2013/06/01 14:32
>それは複数のライトを操って表現してませんか?
>リアルタイムじゃないので1コマに分単位で時間がかかります。
・・・とてもゲームに使えるシロモノじゃないということがわかりました。
nicovideo.jp/watch/sm15956902
こういうの見ると、地面の光沢に反射する柵とかってレイトレーシングっぽいんですけど
ゲームでは速度の出るスキャンライン法というやつで再現可能なのでしょうか
(プリレンダリングとは比べられないのでしょうけど)
とにかくまずは『深度値を利用した影表現』というのを勉強してゲームを作りたいと思います。
>モデルをUPして貰えれば調べることが出来るかもしれません。
斧:uploader/so/2920594.zip
おんぶにだっこですが、よろしくお願いします。
|
Re: 画面が真っ暗になって世界の終わりみたいになってしまう ( No.16 ) |
- 名前:softya(ソフト屋) 日時:2013/06/01 15:21
>こういうの見ると、地面の光沢に反射する柵とかってレイトレーシングっぽいんですけど
>ゲームでは速度の出るスキャンライン法というやつで再現可能なのでしょうか
>(プリレンダリングとは比べられないのでしょうけど)
それは環境マッピングだと思います。
「環境マッピング - Wikipedia」
http://ja.wikipedia.org/wiki/%E7%92%B0%E5%A2%83%E3%83%9E%E3%83%83%E3%83%94%E3%83%B3%E3%82%B0
"Mechanic_Mirror"ってのがあるみたいだから使っているんじゃないかと。
ココら辺から勉強してらったほうが良いかも。
「Maverick Project」 いろんな技法。
http://maverickproj.web.fc2.com/pg00.html
モデルについては調べて後ほど。
|