Kazukiの同人3DRPG制作【第一話】
■ このスレッドは過去ログ倉庫に格納されています
0001Kazuki
2010/09/10(金) 06:35:05ID:8vGP1TSQttp://www.kazuki-sendo.com/game/
発展途上中の素人Kazukiを中心として、
DirectX9による3DRPG制作に挑戦します。
開発言語は、C++です。
長く苦しい戦いになると思われますが、
同人ゲーム制作の限界への挑戦が、当企画のテーマでもあります。
2ch当スレを本スレとし、
ニコニコ動画、zoome、mixi、の3コミュメンバー合同で同人3DRPG制作に挑戦します。
※本格的にゲーム制作に協力していただけるメインメンバー様へは、
ゲーム完成後に平等に利益分配されます。
(詳細は公式サイトのメンバーページ)
0522名前は開発中のものです。
2010/09/16(木) 21:37:12ID:YvQOVgx9頭大丈夫か?病院行ったほうがいい
0523名前は開発中のものです。
2010/09/16(木) 21:39:10ID:jTzBtJ4S解説したらあとは無料公開のソースから継ぎ接ぎしてバイナリだけ公開します
0524名前は開発中のものです。
2010/09/16(木) 21:42:19ID:LMLHZblpCをやらないとC++出来ないとか考えてるんじゃないだろうね
0525名前は開発中のものです。
2010/09/16(木) 21:42:28ID:9ZdBB/Ee間に合ってますw
0526名前は開発中のものです。
2010/09/16(木) 21:45:29ID:jTzBtJ4S初期化されていない変数の通常とる値とその原因
0527名前は開発中のものです。
2010/09/16(木) 21:45:53ID:YvQOVgx9ああそう。
じゃあ、お前にはDXとC++を同時に解説していくだけのスキルがあるんだな。
どういう風に解説していくのかだけでも聞かせてくれ
0528名前は開発中のものです。
2010/09/16(木) 21:46:28ID:uAiKLHLj手遅れです
0529名前は開発中のものです。
2010/09/16(木) 21:47:24ID:9LrIGaRnねぇシェーダは出来るの?
0530名前は開発中のものです。
2010/09/16(木) 22:04:20ID:9ZdBB/Eeどうやって解説するってあんた・・。
Direct3Dのメソッドを呼び出して、
それを、C言語の基本ルールに従って
組み合わせていくだけです。
その一連の流れを図解入りで解説するわけです。
例えば、
GetAdapterDisplayModeメソッドを使用する時は、
引数に指定したアダプタ(3Dビデオチップのこと)の設定を
D3DDISPLAYMODE構造体に格納してから・・・。
という感じかな?
構造体って言ったら、
今、解説している内容だよね?
0531名前は開発中のものです。
2010/09/16(木) 22:10:15ID:YvQOVgx9レス読んでからアンカー付けてね^^
こいつC言語とC++の違いすらわかってなさそうだな。
公式サイト見てたら、C言語の解説にC++のソースが混じってたし。
0532名前は開発中のものです。
2010/09/16(木) 22:13:35ID:9LrIGaRn0533名前は開発中のものです。
2010/09/16(木) 22:14:05ID:YvQOVgx90534名前は開発中のものです。
2010/09/16(木) 22:15:07ID:YvQOVgx9簡単なプログラムしか組んでないと下位互換だから気づかないんだろ
0535名前は開発中のものです。
2010/09/16(木) 22:16:59ID:jTzBtJ4SとりあえずDIMMの画像の引用元探して通報しようかなと思った
0536名前は開発中のものです。
2010/09/16(木) 22:18:45ID:YvQOVgx9かなり引っかかった
http://www.tineye.com/search/1701e96cd94a11d748a818f988b9fda10f88f80c/
0537名前は開発中のものです。
2010/09/16(木) 22:20:00ID:9ZdBB/EeUNIT Width; //デスクトップの幅
UNIT Height; //高さ
UNIT RefreshRate; //リフレッシュ
D3DFORMAT Format; //色深度
} D3DDISPLAYMODE;
例えば、こんなコードを書いたとする。
typedefは型を省略するためのものですね?
structは、構造体を定義するためのものですね?
{ } の間に入っているのはメンバ変数のことだよね?
まだ言ってないけど、
構造体の宣言時に、構造体変数をまとめて宣言することもできます。
全部、現在までの公式サイトで解説していることです。
0538名前は開発中のものです。
2010/09/16(木) 22:21:33ID:jTzBtJ4S上海問屋のところにあるのが一番大きいかな?
tineyeにはこのサイズのはないな
0539名前は開発中のものです。
2010/09/16(木) 22:24:44ID:YvQOVgx9UNIT…?
0540名前は開発中のものです。
2010/09/16(木) 22:27:41ID:9LrIGaRnhttp://msdn.microsoft.com/ja-jp/library/cc323923.aspx
パクリしかできねーのかお前は
0541名前は開発中のものです。
2010/09/16(木) 22:30:48ID:jTzBtJ4S>ヘッダー d3d9types.h
ヘッダファイルってソースの一部じゃないかなぁ
0542名前は開発中のものです。
2010/09/16(木) 22:32:18ID:9ZdBB/Eeそういう書き方するんだよw
0543名前は開発中のものです。
2010/09/16(木) 22:35:57ID:Kg8xlv8Jちがいます
0544名前は開発中のものです。
2010/09/16(木) 22:36:30ID:9LrIGaRnんなこたぁ分かってるよ糖尿
お前が書いた訳じゃないだろ、Direct3Dで定義されてるやつお前もう一度書くつもりだっただろ
0545名前は開発中のものです。
2010/09/16(木) 22:43:39ID:0GyZYCG8コピペもできないのか
0546名前は開発中のものです。
2010/09/16(木) 22:47:22ID:9LrIGaRn流石にFizzBuzz問題は出来るよね?
1 から100までの数を順に表示する。
但し、その数が 3 で割り切れるならば数字の代わりに Fizz と、5 で割り切れるなら Buzz と表示する。
3 でも 5 でも割り切れる場合は、FizzBuzz と表示する。
0547名前は開発中のものです。
2010/09/16(木) 22:58:04ID:YvQOVgx90548名前は開発中のものです。
2010/09/16(木) 22:58:12ID:e3Fk+xkRどうせ、そんなことはどうでもいい、で流される。
>>1はどうしようもないバカなんだが、この言葉が強すぎる。
0549名前は開発中のものです。
2010/09/16(木) 23:01:04ID:XAyaeF6M0550名前は開発中のものです。
2010/09/16(木) 23:05:03ID:9kx0gCKAおめえ、参考書を一冊しか持ってねぇのかよ
0551名前は開発中のものです。
2010/09/16(木) 23:38:53ID:+iepTC2Nこれよく出す人いるけどさ
剰余演算子知ってるかどうか「だけ」の問題じゃね?
よしんばそれを禁止しても代えになる方法を当てはめればいいだけで
完全に覚えゲーなのにPGの腕がどうとか言い出す馬鹿がいてマジで
こんなんで判断する奴みると頭の形が変形するまでボコりたくなる
俺の前で二度と発言するなお前
0552名前は開発中のものです。
2010/09/16(木) 23:47:15ID:9kx0gCKAこいつは、さっぱりコードが書けない。 >>546のコードも書けないだろう。
レベルが低い。想定外に低い。
出てくるのは丸写しのコードだけだ
「数当てゲーム」を作ってみろと言っても、出来ない。その程度。
0553名前は開発中のものです。
2010/09/16(木) 23:47:52ID:4WLv9Trnfizzbuzzができないプログラマなんて居ないだろうし
そうカリカリすんなよ
0554名前は開発中のものです。
2010/09/16(木) 23:50:14ID:9LrIGaRnこの問題ってプログラマの腕とか関係なくね?
真性のアホかどうかを見極める問題だろ
PGの腕()とか何言ってんだお前、高い技術使っても低い技術使っても出来上がったexeとリソースがモノを言うんだよ
そういうのはゲ製作板よりプログラム板とかの技術屋が居る板で声高々で文句言って来い
ちなみにだが、もう最適化はされてたりするけどこういった簡単な問題でコードゴルフとかするヤツいるから
そういう人らのソースはお前がおっしゃってるPGの腕なんじゃないの?
ごめんね、しゃべっちゃって、てへ。
0555名前は開発中のものです。
2010/09/16(木) 23:50:42ID:4WLv9Trn今までひとつもオリジナルの成果物見せてないからな
信用されないに決まってる
テトリスすら作れるのか怪しいな
0556名前は開発中のものです。
2010/09/17(金) 00:25:49ID:/2a5uZT01)CPUとGPU(グラボ)のそれぞれの特徴と得意分野を述べよ(どうしてCPUだけではいけないのか?)
2)近年シェーダー等のプログラマブルパイプラインが重要となっている理由を述べよ
3)固定パイプライン時代の、3次元ポリゴンモデルからディスプレイ上のピクセルに変換するまでの処理手順を述べよ
4)ポリゴンの陰付けの最も単純な方式「グーローシェーディング」「フォンシェーディング」の仕組みと特徴を述べよ
5)バンプマッピングを用いることで、ポリゴンでは表現できない服のしわなどを再現できる。その仕組みを述べよ
6)単純なユークリッド座標系(x, y, z)より、同次座標系(x, y, z, w)を用いる方が3次元座標変換処理において優位性がある理由を述べよ
7)遠くなるほど物が小さくなる「透視変換」が単純な行列変換だけで実現できる理由を同次座標系を用いて示せ
8)DirectX11 ではテッセレーションが標準機能化された。これによるメリットを述べよ
9)NVIDIA が CUDA 技術で牽引するようなGPGPU処理と、通常のグラフィック処理の関係性を述べよ
10)アニメに用いられるトゥーンレンダリングの仕組みを述べ、それを実現するシェーダープログラムを示せ
11)リアルなレンダリングに用いられる有名な手法の一つ「BRDF」の仕組みと特徴を説明せよ
1〜5は3D基本問題、6〜7は3Dで使われる最も基本的な数学問題、
8〜9は最近の話題関係の問題、9〜11はシェーダープログラムに関連する問題。
このくらいが普通にわかる知識と経験があれば、
とりあえずそれなりのリアルさのシンプルな3次元ゲームは作れるかな?
0557名前は開発中のものです。
2010/09/17(金) 01:09:46ID:2BpkBEPJ後俺が答えられなかった所も答えろよ、問題出したんだから、そっちから振ってきたんだぞ?
1)CPU(汎用性高)とGPU(並列処理に特出)を比べた場合、GPUの方が演算能力が高い。
なので3Dゲームなど行列演算を多く使う場合にはGPU側に処理を任せた方が効率が高い
2)GPUの性能がめちゃくちゃ上がってるからCPUでやる必要ないからじゃね
最近のDirectXなんかはシェーダ使う事前提だし。
3)ローカル座標からモデリング変換してワールド座標にして、視界変換してカメラ座標系にして
更に射影変換して、ビューポート変換して出てきたのがスクリーン座標系
4)ピクセルシェーダの一部、確かグラディーションに用いる。フォンはしらん。
5)通常のテクスチャ+法線マップを使い、ポリゴンに凹凸を付ける技術。
法線マップってのは法線ベクトルのxyzをrgbとして表していて、法線ベクトルの向きを表している。
それにピクセルシェーディングをかけてライティングを行うと陰が出来ている風に見える。
6)単純にクオータニオンは任意軸の回転を表すから、回転行列の代わりに使える
それと補完を行う為にアニメーションのキーとして使用する。→ってかこれが入らなければ行列で良い
7)普通に自作しようと思っても計算式が有るから?基本的には標準のprojectionを使うので分からん
ちなみに計算は単純じゃないです、逆行列を求めるプログラムと比べたら相当単純だけど。
8)触ってない知らない
9)詳しく知らない
10)セルシェーディング(トゥーン)の作り方
拡散反射光の数値をテクスチャにマッピングして、まずは輪郭専用のモデルを描画(面カリングしとく)
法線が向いている方向に拡大したポリゴン描画して、カリング有効にしてセルシェーディングしたポリゴン描画。(合計2パス)
画像はトーラスにセルシェーディングして実行したモノ。
http://www.uproda.net/down/uproda140772.jpg
11)流石に分からん。
0558名前は開発中のものです。
2010/09/17(金) 01:20:35ID:2BpkBEPJ答え合わせと回答よろしくね、楽しみにしてるよ。
0559名前は開発中のものです。
2010/09/17(金) 01:38:06ID:4L5WNVIZとりあえずその程度の理解でDirectX叩いてゲームに出来ると思っていることに呆れた
0560名前は開発中のものです。
2010/09/17(金) 01:57:31ID:/2a5uZT0まぁ、主さんから逆行列っていう言葉は出ないと思ってたんだけど…
どっちにしても、各問題2〜3行だけどきちんと回答するよ。
ってか主に対する問題だから、主さんじゃなければもうちょっと待ってみる。
0561名前は開発中のものです。
2010/09/17(金) 02:14:01ID:zHlo0awp0562名前は開発中のものです。
2010/09/17(金) 02:23:33ID:2BpkBEPJてっきり>>556の内容と最後の数行から>>1だと推測したが、違うのか?
0563名前は開発中のものです。
2010/09/17(金) 02:31:22ID:/2a5uZT0ID 機能してねぇww
0564名前は開発中のものです。
2010/09/17(金) 02:34:34ID:2BpkBEPJ真面目に解いたのアホらし寝る
0565名前は開発中のものです。
2010/09/17(金) 02:40:36ID:/2a5uZT0その前に今の主のレベルだとこんな出題無理だからw
トゥーンのプログラムしっかり作りこんでくれてマジ乙w
…回答、どうする?あえて出さないでおこうか?
0566名前は開発中のものです。
2010/09/17(金) 02:54:05ID:/2a5uZT00567名前は開発中のものです。
2010/09/17(金) 03:37:41ID:HdVHm2L40568名前は開発中のものです。
2010/09/17(金) 03:49:27ID:NhE2dXIC0569名前は開発中のものです。
2010/09/17(金) 03:54:38ID:NhE2dXIC俺も同人で3DRPG作ろうと思ってるんだけどそもそも同人で3DRPG作ってるとこって少なくない?
ちょっと考えてみたとこEadyGameStationさんとこのくらいしか思い浮かばない。
0570名前は開発中のものです。
2010/09/17(金) 04:57:08ID:ZoVqC4Uv0571名前は開発中のものです。
2010/09/17(金) 05:02:38ID:NZV8ZnNuどうしてこのスレでだべってるんだ。
ほかのスレで話したほうがよくね?
勢いでパートスレ化されたらたまらんぞw
0572名前は開発中のものです。
2010/09/17(金) 06:44:58ID:dZufG0Uo0573名前は開発中のものです。
2010/09/17(金) 07:17:58ID:iHrQMobIつUDK
0574名前は開発中のものです。
2010/09/17(金) 07:20:26ID:NhE2dXICアンリアルエンジンは使ってるサークル見たことないな
0575名前は開発中のものです。
2010/09/17(金) 07:30:43ID:sYa04YS8思いっきり間違ってるし。
#defineが何なのかわかってないらしい
0576名前は開発中のものです。
2010/09/17(金) 07:31:03ID:AmJCQRbx二人とも何、深夜にバトっちゃってんのよwww
マジでコーヒー吹いたwww
懐かしい遊びしてますね(^^
2chの面白さの真髄を垣間見たような気がするw
>>557は>>556の出題者を>>1だと思ってムキになり、
>>556は>>557の回答者を>>1だと思って会話。
そしてお互いが違うかったことに気づき、
思わず赤面。
他の住人は思わず、クスクスと笑うww
匿名掲示板2chならではの遊びですね。(^^
これは、日付が変わることでIDがリセットされることと、
匿名掲示板だからこそ実現できた遊びですねw
これが2chの面白さの真髄であり、
2chの真骨頂でもある。
朝から面白いものを見させていただきましたwwwwwww
0577名前は開発中のものです。
2010/09/17(金) 07:35:59ID:sYa04YS8へえ。IDが変わるのがおもしろいのか。
死ぬまでルーターのリセットボタン連打してろks
0578名前は開発中のものです。
2010/09/17(金) 07:51:53ID:ZoVqC4Uv日本語読めないのか?
0579名前は開発中のものです。
2010/09/17(金) 07:52:58ID:ZoVqC4Uv少なくとも>>556は>>557を主だと思ってないだろ
0580名前は開発中のものです。
2010/09/17(金) 07:54:35ID:iHrQMobIいずれにしろ主はバカっぽい文章と改行ですぐ分かると思うけどな
ところで数学に続いて英語もできないことが発覚したの?
0581556
2010/09/17(金) 08:34:36ID:/2a5uZT0どこをどう読み間違えたのかな?
それに主だと思ってたらすぐに答え出してるはずだし。
まー確かに、4ヶ月間主が必死に勉強してここまでのレベルにまで到達した、
という可能性を一瞬考えたのは事実だけど。
でも、ゲーム開発にプラスになるかもしれない「問題の内容」に食いつかずに、
ゲーム開発に関係の無い「ちょっとした人の失敗」だけに食いついて馬鹿にするんだね。
いつも通りというか何というか、成長してないことになんか逆に安心してしまったわ。
でも2chとかあまり利用しないし、確かにID変わるのは知らなかった。
…ところで、主はギブアップ(または問題無視)でおk?
まぁ、暇つぶしに問題考え始めたらいい感じに完成してきて
つい書き込んでしまっただけだから、別にまともに答えてもらわなくてもいいんだけど。
0582名前は開発中のものです。
2010/09/17(金) 08:45:16ID:uOqx3Zsa-100から+100の範囲にある自然数のうち、3と9で割りきれて
6で割れない最小の数は?
0583名前は開発中のものです。
2010/09/17(金) 08:50:40ID:pUdFLtsY27とか-81だったら吹くな
0584名前は開発中のものです。
2010/09/17(金) 09:02:09ID:/2a5uZT0さりげに引っ掛けwww
0585名前は開発中のものです。
2010/09/17(金) 09:10:30ID:IpJXaF+M0586名前は開発中のものです。
2010/09/17(金) 09:20:29ID:pdpcgBpw自明だからな
0587名前は開発中のものです。
2010/09/17(金) 10:16:35ID:/2a5uZT0誤解されてる問題もあったので、全体的に問題を厳密化してみた。
長文すまそ。あまり詳しくない方&市販レベルのゲームを開発しない方はうざいと思うので無視よろしく。
1)CPU と GPU(グラフィックボード)のそれぞれの特徴と得意分野、また CPU だけで完結するより GPU も併用した方が良い理由を述べよ
2)独自シェーダの実装を可能とするプログラマブルパイプラインが近年重要視されてきている理由を述べよ
3)固定パイプライン時代において、三次元ポリゴンのモデルがディスプレイ上のピクセル(ドット)に変換されるまでの処理手順を述べよ
4)Phong の反射モデルにおいて「鏡面反射」「拡散反射」「環境反射」それぞれの成分がピクセルの輝度値にどのように影響を与えるか述べよ
5)ポリゴンの滑らかな陰付けに関する手法「グーローシェーディング」「フォンシェーディング」の仕組みと特徴(長所・短所)をそれぞれ述べよ
6)地面に影を落とすために用いられる手法の一つであるステンシルシャドウボリュームの仕組みと、その弱点を述べよ
7)金属の表面にはよく周囲の風景が写りこんでいる。これをCGで再現するための環境マッピング手法を一つ挙げ、その仕組みを述べよ
8)バンプマッピングを用いることで、単純なポリゴンやテクスチャだけでは表現が難しい服のしわなどを表現できる。その仕組みとこの手法の短所を述べよ
9)三次元座標変換処理において、単純なユークリッド座標系(x, y, z)よりも同次座標系(x, y, z, w)が一般的に用いられている理由を述べよ
10)遠くにある物体ほど小さく見える「透視投影」が、同次座標系において単純な行列演算だけで実現できることを示せ
0588名前は開発中のものです。
2010/09/17(金) 10:18:02ID:/2a5uZT012)アニメのような表現を行う際に用いられるトゥーン(セル)レンダリングの仕組みを述べ、それを実現するシェーダプログラムを示せ
13)フォトリアリスティックなレンダリングに用いられる有名なモデルの一つ BRDF の仕組みと特徴を説明せよ
14)最新版の DirectX11 ではテッセレーションが標準機能化された。この機能を利用するメリットを述べよ
15)NVIDIA が CUDA 技術で牽引するような GPGPU 技術と、これまでの( GPGPU を除く)グラフィック処理との関係性を述べよ
1〜4は3D技術一般の問題、5〜8は様々なレンダリングテクニックに関する問題、
9・10は3D処理に用いられる数学の基本問題、11〜13はシェーダプログラムに関する問題、14・15はいわゆる時事問題。
最後の2問以外は、どれも市販レベルのゲーム開発をする上で開発者が知っておかなくてはならない常識ばかりを集めてます。
(専門書の各章の一番初めに書いてありそうなことばかり、しかも役立ちそうなことばかりを選んで問題を作ってます)
0589名前は開発中のものです。
2010/09/17(金) 11:23:05ID:jTQXa+T+なんかいかにも専門家とか専門書が好きそうな内容だな。
こんな事しってても実務にはまったく意味がないっていうなんとか検定と同じだな。
正しい泳ぎ方や理論を知っているのと自分が泳げるのとは別の話だ。
0590名前は開発中のものです。
2010/09/17(金) 11:55:02ID:Hu/LA8750591名前は開発中のものです。
2010/09/17(金) 12:07:05ID:7qBxF+Skとりあえず致命的な部分上げとこうか
・定数の解説といいつつ定数に触れてない件について
・#defineはメモリに一切関わらない
・文字を定義するときの""に関する説明
・#define c a+b を使うときに間違えないための回避法
正しいところは
#define a b
でaがbに置き換わるところだけだな
0592名前は開発中のものです。
2010/09/17(金) 12:18:47ID:XrJ9DWhX最初の一行目から間違いだらけ
マクロと定数は別物
0593名前は開発中のものです。
2010/09/17(金) 12:21:00ID:/2a5uZT0ごめん、マジで言ってる?結構実際のゲーム制作の現場を想定して、
(最後の2問以外)よく実務で使った経験があるものばかり、
レベルが低いものを集めたつもりなんだけど。
ってか上の問題がわからないレベルだとまともなゲーム作れなくね?
それとも実務ってのは2Dゲームとか、最先端グラフィック以外の部分を指してる?
少なくとも大手で3Dゲーム技術開発系に携わる人なら、
みんな全問答えられるレベルだと思うぜ。
0594名前は開発中のものです。
2010/09/17(金) 12:35:30ID:XrJ9DWhX本当に意味不明な解説だな。
0595名前は開発中のものです。
2010/09/17(金) 12:57:34ID:dt8bcpPe絶賛スルーしたつけが回ってきたかw
0596名前は開発中のものです。
2010/09/17(金) 13:08:03ID:XvN3lObHもっと基本的なことから聞こうぜ
アルゴリズムとか基本的な数学上の概念とか
もっとHな
0597名前は開発中のものです。
2010/09/17(金) 13:22:00ID:/2a5uZT0長文書きながら空気読めてねぇ、とは思ってた、すまそ。
>>1
# で始まる(#defineとか)は、プリプロセッサにより
「ビルドする前に」処理されて置き換えられるよ。つまり、
#define a 10 → printf("%d", a); とすると、#define 行は消えて
printf("%d", 10); に変換されてからビルドされる。
つまり、下の2つのはビルドする瞬間には全く同じコードになる。
#define a 10 → printf("%d", a);
printf("%d", 10);
ビルドが始まる頃には #define も a も消えてなくなるから、
プログラム実行時に a というデータがメモリに格納されることは無いよ。
0598名前は開発中のものです。
2010/09/17(金) 13:23:17ID:7qBxF+Sk>>587-588の質問は意味を理解できないレベルの質問な気がするぜ
もっと基本的な
CとC++の違いとか
FizzBuzz問題とかソートとか
回転行列導けとか
そのくらいからじゃない?
0599名前は開発中のものです。
2010/09/17(金) 13:29:22ID:/2a5uZT0プログラム実行時のメモリの中身を調査すれば早いけど、初心者には難易度高いか。
…そうだな、#define を1万個入れてビルドした奴と、
define 使ってないプログラムを作って、
タスクマネージャで消費メモリを比べたらいいよ。
0600名前は開発中のものです。
2010/09/17(金) 13:35:12ID:itNV/TuA範囲は-100<x<100で
0601名前は開発中のものです。
2010/09/17(金) 13:45:04ID:cLhPtb1kプリプロセッサで処理されるのは常識なんだから、証明責任は向こうにあるんじゃね?
あと、本人くる前に説明すると
んなこと知ってるよwwww
どーでもいいしwww
わかりやすいようにああ書いたんだよwwwww
って言われるから注意な
0602名前は開発中のものです。
2010/09/17(金) 13:47:34ID:/2a5uZT0長文これラスト。
地面にはリアルなキャラの影が落ちてなくて、肌とか顔がプラスチックみたいになって(BRDF無し)、
背景にある金属には周囲の写りこみも無く金属にすら見えなくて(環境マッピング無し)、
服や顔のしわとか細かい部分を見るとどれも平坦で作り物感がして(バンプマッピング無し)、
滑らかなシェーディングの仕方が分からないとなると、デフォルトのグーローが使われて、
何も知らずにこれに適してないモデルを作ってしまうとポリゴンの継ぎ目がカクカクになって、
CPU と GPU の役割分担わからないから適当にしたら
CPU 忙しいのに GPU 暇とかが頻繁に発生して大したこともしてないのに処理落ちし始める。
シェーダの役割とか3D数学もわからないとなるとそもそもシェーダプログラムができなくなる。
(シェーダープログラム内では 4x4 同時座標系の行列が使われている)
独自シェーダを使わなかった場合、昔ながら Phong の反射モデルベースのシェーディングが
自動的に使われることになるけど、Phong の反射係数の意味すらわからないとなると、
パラメータを訳も分からず適当にいじるしかなくなって、何もできなくなる。
っていう感じで、全部一つに繋がってる。
0603名前は開発中のものです。
2010/09/17(金) 14:44:06ID:2BpkBEPJ同人2Dゲーだったらともかく、同人3Dゲーをガチで作ろうとすると避けられない所もいくつかあるよ。
最悪でも三次元ベクトルと行列の基礎知識ぐらいは必須になる。
まぁでも2.5D(3D空間だけど、2Dアクションみたいな)のゲームだったら二次元ベクトルの知識があればなんとかなる。
2Dゲーと3Dゲーの違いとして、リソース=クオリティが技術力=クオリティになるのは確か。
2DはテクスチャとかUIがしっかりしてて、適当なエフェクト(ムービーテクスチャでも)出せばそれなりに見える。
でも3Dは>>602が書いてある通り、「綺麗に魅せる為」にはそこそこ高い技術が使わないといけない。
まー最悪基本ライティングとかのみでも一応出来るっちゃ出来るけど、高クオリティを求めるならば、確実に見劣りする
0604名前は開発中のものです。
2010/09/17(金) 14:53:59ID:cJXoUaD/>最悪基本ライティングとかのみでも一応出来るっちゃ出来るけど、高クオリティを求めるならば、確実に見劣りする
でも同人ゲーでノーマルマップまで使えるようなとこってほとんど無いような気もする。
思いつく限りではソウルゲイナー作ってたとこと妖々剣戟夢想作ってるあんかけスパくらいかな。
あとは大体のサークルが基本ライティングのみかもしくはキャラにはライティングしないでテクスチャの色のみでお茶を濁してるのが現状だよ。
0605名前は開発中のものです。
2010/09/17(金) 15:39:11ID:b92kLMfZ同人ゲーマーにそんなハイスペックなPC持ってる人が少ないからね
0606名前は開発中のものです。
2010/09/17(金) 15:59:23ID:2BpkBEPJそういった技術を覚えればゲームが面白くなる訳でもなんでもないし
面白くてナンボな世界に技術はいらない。
個人的に作る時にも実装ガンガンしていって方が面白いしww
3D作ったとしても綺麗にする為に労力使おうとは思わないなぁ、ってか時間的に無理
0607名前は開発中のものです。
2010/09/17(金) 16:07:26ID:cJXoUaD/0608名前は開発中のものです。
2010/09/17(金) 16:18:57ID:AmJCQRbxそんなバカなw
じゃあ聞くが、あんたは、システム領域、ヒープ領域、コード領域、スタック領域で、
メモリを全て使い切っても、静的領域を使えるとでも言いたいのか?
そんな馬鹿なw
ちなみに、静的領域はグローバル変数で使う領域のことです。
そもそもプログラムを実行しているのに、
メモリを使っていないとか絶対にありえない!
どんなプログラムも必ずメモリを使用して動いているのです。
ちなみにメモリとはCPUにデータを移す前のデータの一時保管場所。
0609名前は開発中のものです。
2010/09/17(金) 16:20:41ID:AmJCQRbxCPUはメモリのデータを使って、
プログラムを実行させるための頭脳かw
0610名前は開発中のものです。
2010/09/17(金) 16:27:13ID:cJXoUaD/とりあえずはじめまして(違ってたらごめんなさいね)。
0611名前は開発中のものです。
2010/09/17(金) 16:33:48ID:b92kLMfZdefineてものをわかってないようだね
0612名前は開発中のものです。
2010/09/17(金) 16:35:56ID:AmJCQRbx2GBのメモリに増設すれば、
パソコンの動きが早くなったりします。
あれはどうしてなのかと言うと、
増設した分、メモリで使用できる領域の全体容量が増えるため。
ちなみにAdobe製品のCS4は、
64bit版のWindows7に対応しています。
64bitになると、128GBまでメモリを増設できるため
メモリ内で一度に扱える容量が増え、
それに対応するようにCS4製品はプログラムが組まれているため。
パソコンに1GBしかメモリを搭載していない場合は、
1GBまで用のメモリ容量確保プログラムが動き、
2GBに増設すれば2GB用のプログラムに切り替わり実行される。
ちなみにグラボにもメモリが搭載されていて、
ゲームの3D描画は、マザーボードのメモリではなく、
グラボのメモリを使う。
ちなみに、サウンドボードを付ければ、
音楽はサウンドボードでデータを扱う。
0613名前は開発中のものです。
2010/09/17(金) 16:39:45ID:AmJCQRbxメモリを使わないで動くプログラムなんて存在しない。
まあ、HDD内の仮想メモリを使う場合もあるけど。。
これで俺のレベルが解った?
解説にメモリの図解を使用しているのは、
それを初心者にも解りやすく解説するためです。
0614名前は開発中のものです。
2010/09/17(金) 16:41:18ID:b92kLMfZdefineを使っても実行ファイルの使用メモリに影響しないってのを言ってるんだよ?
0615名前は開発中のものです。
2010/09/17(金) 16:41:35ID:cJXoUaD/>ちなみに、それまで1GBのメモリを搭載していたパソコンに、
>2GBのメモリに増設すれば、
>パソコンの動きが早くなったりします。
マジですか?!
情報サンクスです!!
でもうちのPCはけっこう小さな机の上に置いてるのであんまり激しく動き回られると机から落ちてしまいそうでちょっと怖いです。
0616名前は開発中のものです。
2010/09/17(金) 16:43:49ID:7qBxF+Skdefineは静的領域すら使わない
defineを使おうが使うまいがメモリの使用量は変わらない
だからあんたはdefineを理解してないって言ってんだよ
0617名前は開発中のものです。
2010/09/17(金) 16:46:28ID:+iJDRTKb俺らを怒らせて楽しんでいるようにしか見えん。
ポ
0618名前は開発中のものです。
2010/09/17(金) 16:50:31ID:AmJCQRbxえええ??
そうなのか?
なんか混乱してきた。。
じゃあ、定数で使用するデータはどこで扱っているのですか?
定数ってのは、実はint型とかchar型を使用していたりするのですが、
それらのデータは、どの場所の領域を確保して
データを扱っているのですか?
0619名前は開発中のものです。
2010/09/17(金) 16:51:54ID:sYa04YS8コンパイルする前に置換される
0620名前は開発中のものです。
2010/09/17(金) 16:52:08ID:AmJCQRbx定数で指定したデータは、
どの場所に運ばれているのか?
という質問です。
0621名前は開発中のものです。
2010/09/17(金) 16:53:32ID:7qBxF+Skint型もchar型も使ってないよ
しいて言うならコード領域に入ってる
お前が無知だと自省したら教えてやるよ
■ このスレッドは過去ログ倉庫に格納されています