![見出し画像](https://assets.st-note.com/production/uploads/images/115083133/rectangle_large_type_2_ad114c367bb35c3e986cf06d17c75ac7.png?width=800)
🎡OBJファイル仕様
欠点はあるものの、OBJフォーマットとそれに付随するMTLフォーマットは、3Dプリントやソフトウェアアプリケーション間での3Dモデルの交換に広く使用されている。
ポリゴンのビジュアル面を記述するマテリアル(英語版)は、外部の.mtlファイルに保存される。一つより多くの外部のMTLマテリアルファイルが、一つのOBJファイルから参照されることができる。.mtlファイルは一つ以上の名前のマテリアル定義を含むことができる。
Wavefront Material Template Library (MTL) ファイルは、1 つまたは複数の Wavefront OBJ ファイルのコンパニオン ファイルです。OBJフォーマットと同様に、MTLフォーマットも1990年代にウェーブフロント・テクノロジーズ社によってAdvanced Visualizerソフトウェアと関連して使用され、文書化されました。ASCIIベースのMTLファイルには、OBJファイルで定義されたポリゴンファセットまたは自由曲面パッチに適用されるサーフェスアピアランスプロパティが記述されています。MTLファイルは「ライブラリ」であり、1つ以上の名前の付いたマテリアル定義を含むことができ、各マテリアル定義で色、テクスチャ、反射特性を指定することができます。例えば、マテリアルの定義では、マテリアルの拡散反射率、環境反射率、鏡面反射率にRGB値を指定し、屈折率や透明度などの他の特性も指定できます。OBJファイルは、mtllib宣言でMTLファイルを参照し、OBJファイル内のオブジェクト(ポリゴンまたはフリーフォーム)の定義は、usemtlステートメントで特定の名前のマテリアル定義を参照することができます。
map_Kd: マテリアルの拡散反射率に適用するカラーテクスチャファイルを指定します。レンダリング中、map_Kd値はKd値と乗算され、RGB成分が導出されます:
OBJ および MTL フォーマットは、DICOM ラッパーでカプセル化するためにサポートされる次の 3D モデル フォーマットとして、Digital Imaging and Communications in Medicine (DICOM) 標準の Working Group 17 で提案されています。2019年3月からのSupplement 208 Extension of DICOM Encapsulation of 3D Manufacturing Modelsのスライドを参照。
![画像4](https://assets.st-note.com/production/uploads/images/42200064/picture_pc_b973e23e51e01ff41bc82856221df843.png?width=800)
![画像5](https://assets.st-note.com/production/uploads/images/42200121/picture_pc_be06e255d625f2f7180ac1a9b31797a7.png?width=800)
骸骨の目ん玉から蛇みたいなのも試したいが、STLなので今ためしてるサンプルとは違ってるので、objMTLを探す、左下のOLみたいのもいけるのだろうか。。。。
![画像6](https://assets.st-note.com/production/uploads/images/42200366/picture_pc_ecd8bb8d577c2f5a6b415f5f2a525ae2.png?width=800)
ねえし、MTL。ちょっと怖いので一旦キープで
![画像7](https://assets.st-note.com/production/uploads/images/42200844/picture_pc_1447324bf0b6dfe1bcc776edf5fbf9ae.png?width=800)
なんか再現ドラマの役者さんみたいなのが出てきた
![画像8](https://assets.st-note.com/production/uploads/images/42202122/picture_pc_ba6e4d669ebf40cc78078b3ef131ba27.png?width=800)
![](https://assets.st-note.com/img/1691491782641-lLXAAB3sqz.png?width=800)
![](https://assets.st-note.com/img/1691491885606-TFAmQ4WATs.png)
![](https://assets.st-note.com/img/1693608769518-7fP9CZToDP.png)
![](https://assets.st-note.com/img/1693608882604-2oUw8kUmyR.png)
p5.jsは、3Dモデルを扱うために主に2つのフォーマットをサポートしています:
STL (Standard Tessellation Language): このフォーマットは3Dモデルのジオメトリ情報のみを格納します。
OBJ: OBJフォーマットは、ジオメトリデータの他に、一部の材料やテクスチャデータも格納できるオープンファイルフォーマットです。ただし、p5.jsではジオメトリ情報のみを利用できますが、画像を表面にマッピングすることは可能です (P5.js)。
これらのフォーマットを使用することで、p5.jsを通じて3Dモデルをロードし、表示することができます。OBJフォーマットはより複雑な3Dモデルを扱うのに適しているため、テクスチャや材料情報が必要ない場合でも、ジオメトリデータの取り扱いに広く用いられます。
![](https://assets.st-note.com/img/1712319685501-knxQONnYKC.png?width=800)
お願い致します