// tutor.pov - ピク太郎の初心者研修用シーンファイル #include "shapes.inc" // 基本形状の組み込み #include "colors.inc" // 色名の組み込み #include "pictaro25.inc" // ピクトグラム男の組み込み // 用具の定義 #declare Hammer = union { object { Disk_Z scale <0.02, 0.02, 0.2> pigment { color Yellow } } object { Disk_Y scale 0.1 translate -0.2*z pigment { color Red } } } // 人形の定義 #declare Taro = union { union { // 上半身 object { Torso } // 胴 object { Head // 頭頸部 Rot2(0*x, 0*y) // 頸部の動作 } object { LtArm(0, 0, 0, 0, Null) // 左腕 Rot2(0*z, 0*y) // 肩部の動作 } object { RtArm(0, 0, 0, 0, // 右腕 object { Hammer translate -0.1*z }) // 用具の保持 Rot2(0*z, 0*y) // 肩部の動作 } // 頸部・肩部の動作の基準点:胸の中心 // (項垂れ・猫背・等の表現にどうぞ) transform { ToUpper // 上・下半身の連結 Rot2(0*y, 0*x) // 腰椎の動作 } // 腰との連結,上体の動作 // 上体の動作の基準点:腰の中心 } union { // 下半身 object { Hip } // 腰 object { LtLeg(0, 0, 0, 0, Null) } // 左脚 object { RtLeg(0, 0, 0, 0, Null) } // 右脚 } // 全体の基準点変更 // translate 0*y // 腰の中心が原点(標準) // translate LegL*y // 脚の長さだけ持ち上げ(伸ばした脚で着地) // translate -LtFootPos // 左足を原点に着ける(左足で原点を踏む) // translate -RtFootPos // 右足を原点に着ける(右足で原点を踏む) translate -y*LtFootPos.y // 左足を地面に着ける(左足で着地) // translate -y*RtFootPos.y // 右足を地面に着ける(右足で着地) } /* ■腕オブジェクト LtArm(A, Y, Z, X, Eqp) 等の使用方法 A:肘関節の屈曲の角度 # 肘を曲げる(腕を縮める). # 0 なら曲げない.90 なら直角に曲げ,肘を45度だけ後へ引く. Y:肩関節の内旋の角度 # 肘を外へ張る(脇を開ける).正は内旋,負は外旋. Z:肩関節の外転の角度 # 腕を横へ上げる(羽ばたく).正は外転,負は内転. X:肩関節の屈曲の角度 # 腕を前へ出す(腕を振る).正は屈曲,負は伸展. Eqp:手に持つ用具等のオブジェクト # ラケット,バット,等. # 何も持たない場合は Null . # 何か持たせる場合は object { 物体名 変換... } . #(変換不使用なら object { } は不要,物体名だけで OK.) # 脚オブジェクト RtLeg(A, Y, Z, X, Eqp) 等も同様. ■合成回転の省略記法 Rot2(A, B) :二軸回転 # rotate A rotate B Rot3(A, B, C) :三軸回転 # rotate A rotate B rotate C ■腰椎変換 Lumber(T, B) の使用方法 T:腰椎の回旋の角度 # 上体を捻る.正は右方向,負は左方向. B:腰椎の屈曲の角度 # 上体を倒す.正は前屈,負は後屈. # Lumber(...) は transform { ToUpper Rot2(...) } の短縮記法. # このシーンファイルでは未使用. ■頭頸部オブジェクトのバリエーション Head :標準の頭と首 Neck(Hd, L, R, T) :頭部交換可能な首 HeadNeck(L, R, T, Eqp) :装具交換可能な頭と首 ■Neck(Hd, L, R, T) と HeadNeck(L, R, T, Eqp) 等の使用方法 Hd :頭部オブジェクト Eqp :頭に付ける用具等のオブジェクト # 帽子,眼鏡,等. L:頭部の側屈の角度 # 顔を傾げる.正は右方向,負は左方向. R:頭部の回旋の角度 # 顔を振る.正は右方向,負は左方向. T:頭部の伸展の角度 # 顔を上げる.正は伸展,負は屈曲. # 頭部(上位頚椎)の動作の基準点は頭部の中心. # 頸部(下位頚椎)の動作には,別途,回転 Rot2() 等を利用. ■標準の頭部オブジェクト Head0 :球形の頭(標準) HeadCube:立方体形の頭 */ // 人形の配置 object { Taro rotate -30*y translate -1.0*x } object { Taro rotate +30*y translate +1.0*x pigment { color Orange } // 制服の色の変更 } // 地面 object { Plane_XZ pigment { color Goldenrod } normal { crackle 0.5 scale 0.2 turbulence 0.5 } } /* // 座標軸 union { object { Cylinder_X scale 0.02 pigment { color Red } } // x軸 object { Cylinder_Y scale 0.02 pigment { color Green } } // y軸 object { Cylinder_Z scale 0.02 pigment { color Blue } } // z軸 no_shadow } */ // 背景 background { color LightBlue } // 照明 light_source { <0, 10, -20> // 照明の位置 color White*1.5 // 照明光の色 parallel point_at <0, 0, 0> // 照射先の位置 } // カメラ camera { location <0, 1.0, -10.0> // カメラの位置 look_at <0.0, 1.0, 0.0> // 注目先の位置 angle 20 // カメラの視野角 }