• ベストアンサー

コンピュータグラフィックス(ゲームで)はどういうプログラム?

Ancient_ENGの回答

  • ベストアンサー
回答No.6

No.2のAEです。 あくまで判る範囲というか想像の範囲ですけども。 >キャラクターの細かい動きや、当たり判定もif文やループが使われているんですよね?大基本として。 3Dのグラフィックス一般で言えば、空間に点(x,y,z)があるとして、それを平行移動したり回転したりといった、最も基本的な処理は、sin()、cos()など数学ライブラリを使った行列計算の処理になります。一般的には「アフィン変換」と言いますが、3Dで物体を動かす場合はこれが基本になります。 ただ、これはDirectXやOpenGL等いわゆるグラフィクスライブラリ内部に持っていますので、角度を与えるだけでモデルの移動や回転は行われます。 ※DirectX対応とかOpenGL対応と言われているグラフィクスカード(=ビデオカード)では、この処理をハードウェアで行うため非常に高速な3Dの表示が可能になっています。 ゲームのキャラクタも基本的には、この処理をベースにしているはずです。 例えば、キャラクタの骨格(関節)の位置を座標値として保持しておいて、その座標値に「アフィン変換」を行えば3D空間上でキャラクタが動いていくことになります。 本当はもっともっと複雑で、キャラクタの関節同士は繋がっていて親子関係を持っているとか、水中と空中では重力の作用が変わるとか、そういったキャラクタの置かれている環境によって動く量や早さを加減しているんでしょう。 ※どして、そんなに早く動くの?といつも不思議。そういう早く、しかも「それらしく」動かすというところがノウハウ。 長くなってしまいましたが、こういった3Dのモデルを動かすにはやはり定石があって、それらの表現方法は各社のノウハウであって、やはり現場レベルにならないと判らないと思いますね。 ただ言えることは、質問者さんがおっしゃるように、当たり判定には、if分などがあるでしょうし、キャラクタを動かし続けるためにはループが必要だというの はその通りと思います。 キャラクタの細かい動きは、移動量や回転量をパターン化した情報を予め持っているんだと思います。 ドラクエでは、キャラクタの動きを2枚の画像を切り替えることによって表現していたというのは、ご指摘の通りですが、3Dではその画像(=スプライト)の変わりに座標値を沢山持っているんだと想像しています。 長くなりましたが、ご参考になれば幸いです。 PS:私もゲーム作りに挑戦したいなぁ・・。

noname#15164
質問者

お礼

>DirectXやOpenGL等いわゆるグラフィクスライブラリ内部に持っていますので、角度を与えるだけでモデルの移動や回転は行われます。 何となく、疑問がとけた気がします。 とてつもなくすごい事をしているイメージだったのですが、グラフィックライブラリを使えば、角度を与えるだけで移動や回転はできるんですねー。 それでポリゴン化して、うまく動いているようにみせると。 さらにパターン化した情報をまとめて読み込めば、処理がスムーズに行えると。 なるほど、感謝です。 でも、私は3Dゲームまでは、作りたくはないです。 どちらかというと、データーベースの方が好き。(w

関連するQ&A

  • ブラウザゲームを作る場合

    ブラウザゲームを作る場合、どんな言語で作るといいでしょうか? 作りたいのは、ポーカー、麻雀 などのテーブルゲームです。 サーバーをたてて、遠くの人と対戦できるようにしたいです。 自分の知識は、Java PHP Perl MySQL です。 それとも、何か別の言語を1から覚えたほうがいいでしょうか?

    • ベストアンサー
    • HTML
  • CGIゲームを作成するのにオススメな書籍など

    多人数参加型シミュレーションのCGIゲームを知合い(知合いは知識あり)とperlかphp言語で作ろうと考えておりますが、自分はプログラムに関しては全くのど素人です。 どなたか上記のゲーム作成の参考になるサイトか書籍を教えてくれませんか?

    • ベストアンサー
    • Perl
  • 昔のゲーム名について

    昔のゲーム名について 下記に書くことは、非常に抽象的なことですが (すべての条件が当てはまるかは保証しません) これらをヒントにゲーム名を知りたいのですが。 ・20年前以上 ・ハードは不明  携帯型(表現が古いが今ではポータブル)、据え置き型かはわからない。  ゲームボーイか、プレステ1ではないかと思う。 ・単純なゲーム名だと思う。  長くても3文字以内、  単純なアルファベット、か特殊文字(ギリシャ文字) ・カラフルではない ・当時発売された、最新のハードの初期のゲーム  多分、S○NY(ということでプレステ) ゲーム内容  無機質なもの、ボールまたは人間の形をしたものが  無限に立方体かをある条件で登り歩き続ける(つぶして行くまたは踏破して行くという表現が  近いかも)  (階段上ではない) その得点を競うゲーム  多分、1人プレイのみ  

  • ゲームを録画

    http://www.voiceblog.jp/_ch/ 上記の動画のような「ゲームのプレイを録画する」というのはどうしたらできるのでしょうか? また、この方のようにボイスも同時に入れるというのはどうしたらできるのですか? 初歩的な質問で大変お恥ずかしいのですが、詳しく教えていただけると嬉しいです。 ご回答よろしくお願いします。

  • アニメ…ゲーム…やりたいことが多すぎて追い付かない

    アニメを見るのが好きで、ネットやゲームも好きです。 最近は昔のアニメを見るのにはまっていたり、友達からかりたゲームのクリアや読書にいそしんだり、かといって毎期の新作アニメも八割方くらいはおさえておきたかったりと、、 やりたいことが多すぎて困っています… 元々時間の使い方が下手なので… 本読むのもまだまだ遅いし、ゲームクリアまで時間かかる方だし… 一応暇な時間は高1にしてはあるのですが、親の前でアニメやパソコンはやりにくいです… →録画したものがどんどんたまってゆく 私の尊敬する、アニメやゲーム等に詳しい方はだいたいの作品について知識豊富なので、その人のように時間を有効に趣味にあてられたら良いな、と思います。 何か良い工夫はありませんか…?

  • マネーゲームとは?

    よくニュースで「マネーゲームによる原油価格の上昇」という表現を聞きます。  素人で金融に関しての知識があまりありませんので質問をさせていただきたいのですが、マネーゲームとは一般的にどういうことなのでしょうか?なぜ、マネーゲームのお金はどこからくるのが多いといわれているのでしょうか?

  • 【ド素人】プレステでmpg,aviの動画再生できますか?

    プレステでmpg,aviの動画を再生できるでしょうか? またプレステで再生可能な動画はプレステ2,3でも再生可能と考えてよいのでしょうか? ゲーム機には全くド素人なのでどうかご教授願いたいです。

  • どうもはじめまして、私はアニメ、ゲーム大好きな会社員です。

    どうもはじめまして、私はアニメ、ゲーム大好きな会社員です。 最近pixivや同人誌を見て私も描いてみたいと思いましたが、何分絵など描いたことすらない全く素人です。 どうすれば良いのか全く判りませんので、専門的な学校へ行って勉強してみようかなと思いましたが。 色々有るのですが、CGコースやアニメデザインと色々あるようなので何を選べば良いのか全く判らない状況です。 私の希望としては、pixivでちょこちょこ絵を上げれいければ良いかなという感じです。 本や絵で今の職を捨ててまで食べて行きたいという考えは全く有りません。 そういった感じのお勧めのコース、学校など有りましたら教えて頂けると有り難いです。 皆様のアドバイスよろしくお願いします。

  • プレステ2オンラインゲームの録画について

    新年早々申し訳ございません。 早速ですが、ご質問させて頂きます。 プレステ2のオンラインゲームを録画して、仲間内のHPで公開をしたいのですが、録画方法がわかりません。 自分の希望内容は下記の通りです。 「プレステ2のオンラインゲームをやりながら、録画を行いたい。」 某家電量販店で http://www.iodata.jp/prod/multimedia/capture/2007/gv-mdvd3/index.htm  の商品を購入しました。(素人なので店員に欲しい商品の内容を伝えて購入しました) 家電関係に疎い自分としては PS2本体→D端子でTVへ TV出力からAVコード→ボックスへ ボックスからUSBで→PC (PCからの音はありませんでした) 一旦、試してみたのですが、PC側には何も映っておらず「認識しない」と表示が出てしまいました。 今度は PS本体から直接AVコードで→ボックスへ PCの画面で撮り込み出来るかと思いましたが、音楽しか流れていませんでした。(こちらは音のみPCのスピーカーから出ました) AVコードの配線やPCへのインストールは無事に終わっているので問題ないかと思うのですが、知識が浅く、如何に対処したら良いのかわかりません。 お願い申し上げます。

  • PS2のゲームのプレイ動画をパソコンに録画したいのですが・・・・

    PS2のゲームのプレイ動画をパソコンに録画するにはどうすればいいでしょうか? windows XP を使っています 素人質問で申し訳ございませんがご回答頂けると嬉しいです