OBJ Color Model


OBJ Color Model を描画します。

colorbox.obj を描画

  1. OBJ モデルの基本は OBJ Cube で説明しています。
    今回はカラーを設定した立方体のモデル(color_box.obj, color_box.mtl)を描画します。
  2. カラーを設定した立方体のモデル color_box.obj のソースコードです。
    vn は法線ベクトルの定義です。
    f 1//1 の 1/ は頂点座標の Index で、/1 は法線ベクトルの Index です。
    カラー情報は color_box.obj とは別の color_box.mtl で定義されます。
    usemtl red などがマテリアル(カラー情報)の参照です。
    OBJ モデルの詳細は Windows Store DirectX から OBJ Model を参照して下さい。
    # Color Box Model
    mtllib color_box.mtl
    
    g cube
    v -1 -1 -1
    v 1 -1 -1
    v -1 1 -1
    v 1 1 -1
    v -1 -1 1
    v 1 -1 1
    v -1 1 1
    v 1 1 1
    
    vn 0 0 -1
    vn -1 0 0
    vn 1 0 0
    vn 0 -1 0
    vn 0 1 0
    vn 0 0 1
    
    g face1
    usemtl red
    f 1//1 3//1 4//1 2//1
    g face2
    usemtl yellow
    f 1//2 5//2 7//2 3//2
    g face3
    usemtl white
    f 2//3 4//3 8//3 6//3
    g face4
    usemtl green
    f 1//4 2//4 6//4 5//4
    g face5
    usemtl blue
    f 3//5 7//5 8//5 4//5
    g face6
    usemtl auua
    f 5//6 6//6 8//6 7//6
    
  3. マテリアル(カラー情報)を定義した color_box.mtl のソースコードです。
    Kd がモデルの色(ディフューズ色)で、今回は Kd だけを定義しています。(Ka Ks などもある)
    color_box.obj と共に適当なフォルダーに utf-8 でタイプして格納して下さい。
    # Material File
    
    newmtl white
    Kd 1.0  1.0  1.0
    newmtl yellow
    Kd 1.0  1.0  0.0
    newmtl red
    Kd 1.0  0.0  0.0
    newmtl green
    Kd 0.0  0.5  0.0
    newmtl blue
    Kd 0.0  0.0  1.0
    newmtl auua
    Kd 0.0  1.0  1.0
    
  4. ウインドウ・エクスプローラーを起動して color_box.obj と color_box.mtl を Assets に直接ドラッグ&ドロップして下さい。
    Assets からヒエラルキービューに color_box をドラッグすると color_box が表示されます。

  5. [Projectタブ][Createタブ] から [C# Script] を選択すると NewBehaviourScript.cs が作成されます。
    NewBehaviourScript.cs を修正して保存して下さい。
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class NewBehaviourScript : MonoBehaviour {
    
        void Update () {
            transform.Rotate(new Vector3 (15, 30, 45) * Time.deltaTime);
        }
    }
    
  6. NewBehaviourScript.cs をヒエラルキービューの color_box にアタッチして下さい。
    再生ボタンで実行すると立方体が回転しながら描画されます。

前田稔の超初心者のプログラム入門
超初心者のプログラム入門(Unity)