トップページ > 記事閲覧
画面が真っ暗になって世界の終わりみたいになってしまう
名前:珈琲 日時: 2013/05/26 22:09

ttp://gyazo.com/2d411a431ca824d5b8b99048391d7c66 モデルを表示させ、カメラを向かせたのはいいのですが 真っ暗になってしまいます。 ライトの設定がおかしいのかと思ったのですが、 ChangeLightTypeDir( VGet( -1.0f, 0.0f, 0.0f )); としても ttp://gyazo.com/30d9f564db41f29da10ecb101083b4c6 このように、なんか思っていたのと違う効果です。 で、背景が悪いのかと思い試してみたのですが ttp://gyazo.com/8c5259c01ccb09c9019f6ecbde7bfa0e こんな感じで、やっぱりモデル自体の光が当たっていない部分は真っ暗です。 なんかこう、希望に満ち溢れるような ttp://blog-imgs-37.fc2.com/m/i/y/miyataka519/DxLib3DTE.png 状態にならないでしょうか?
メンテ

Page: 1 | 2 |

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 モデルについては調べて後ほど。
メンテ

Page: 1 | 2 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存