「ゲームプログラミング/3Dグラフィック」の版間の差分

削除された内容 追加された内容
Unity も Unreal Engine も、非オープンソース。プロプライエタリ。
1 行
== 現状 ==
実際にゲームで3D-CGを表示したい場合、現在では海外大手ゲームエンジン(UnityやUnreal Engine など)に、すでに既存の有名3D-CGソフト(Autodeskの製品や、フリーソフトならblenderなど)と互換性のある形式で3Dモデルをよみこめて描画できる方式になっている。
 
なので、商業の仕事の場合には、それらゲームエンジンを使うことになるのが2020年代の今では主流だろうと思われている。(ゲーム産業の仕事では、人件費も考えて、大手の場合なら、わざわざ自作する事はまず無い。日本企業で海外のゲームエンジンに対抗するのも、非現実的だと思われている。)
 
 
ゲームソフト会社やゲーム機会社がノウハウを非公開にしているため推測になってしまうが、ゲーム会社は研究機関'''ではない'''ので、わざわざ自分の手で3Dエンジンをゼロから作ることは普通はせず(と思われている。実態は不明)、なるべく既存のゲームエンジンの内部に組み込まれている3Dエンジンを買ってくるなどして流用するのだろうと、2020年代では世間的にはゲーム産業はそう思われている。
 
ゲームエンジンは、個人では無料で使えるものもあるが、しかしフリーソフトではない(自由ソフトではない)。特に3Dゲームエンジンは、オープンソース'''ではない'''。UnityもUnreal Engine も、ソースコードは非公開である(非オープンソース)。
 
ゲーム業界にかぎらず、こういった非オープンソースの製品のことを一般に「プロ プライエタリ」と言います。たとえば、マイクロソフトのWindowsもOfficeソフトもプロプライエタリです。
 
 
ともかく、大企業などが大手ゲームエンジンを使う場合、費用を払う必要が生じることもある。(Unity などの利用規格にも、そういった事が書いてあります。)
 
 
なお、3Dモデルのデータ形式(ファイルフォーマット)は規格統一があまり進んでいないのが2020年では現状であり、ファイルフォーマットには .fbx形式、.3ds形式、.dxf形式、.obj形式 など、さまざまな形式がある。
 
 
また例外としてオープンソースのblender用の.obj形式を除いて、この分野は非オープンソースである商業ソフトが主流になって普及してきた分野であるので、プログラマー向けの資料などもあまり普及していない(企業秘密なので)。
 
市販の書籍も、ほとんどがイラストレーターなどのクリエイター向けのものであり、プログラマー向けのものは、ほぼ皆無である。
 
学術的にも、ファイルフォーマットまでは理論が整理されていない。(学術書に書いてあるのは、三角関数などを用いた3D計算の原理まで。)
 
 
いっぽう、もし、既存のゲームエンジンに頼らず3D-CGソフトを自作したい場合などには、原理は下記の節のようになるだろう。あるいは、既存の有名3D-CGソフトで扱っている3Dモデルのデータ形式に不満があって、新しい3Dデータ形式を模索する場合なども、自作することになる。
 
 
 
== 3Dグラフィック ==
=== 計算の原理 ===