xof 0302txt 0064 FWScene fwScene{ {grScene} {phScene} FWObject obj1{ {soBlock1} {fr1} } FWObject obj2{ {soBlock2} {fr2} } FWObject obj3{ {soBlock3} {fr3} } } GRScene grScene{ GRFrame { 0; 1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,4,1;; GRFrame frCam{ 0; 1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1;; } } GRCamera cam{ 3; 0.2; 0.0;; # size スクリーンのサイズ 0; 0;; # center カメラからのスクリーンのずれ 0.1; 500; # front back 視点からクリップ面までの相対距離(正の値で指定) {frCam} } GRLight light1{ 4; 0.5; 0.2; 0.2; 1.0;; # ambient 環境光 1.5;0.1;0.1;1;; # diffuse 拡散光 1.0;0.1;0.1;1;; # emmisive 鏡面光 1;1;1;0;; # position 光源位置(w=1.0で点光源、w=0.0で平行光源) 100; # range 光が届く範囲(deviceがDirectXの場合のみ利用可能) 1; # attenuation0 一定減衰率 0; # attenuation1 線形減衰率 0; # attenuation2 2次減衰率 0;0;0;; # spotDirection スポットライトの向き 0; # spotFalloff スポットライトの円錐内での減衰率(大きいほど急峻) 0..∞ 0; # spotInner スポットライトの中心部分(内部コーン)(deviceがDirectXの場合のみ利用可能) 0..spotCutoff 0; # spotCutoff スポットライトの広がり角度(度)(外部コーン) 0..π(pi) } GRMaterial mat{ 2; 0.2; 0.2; 1.0; 1.0;; #ambient 0.0; 0.0; 1.0; 1.0;; #diffuse 0.0; 0.0; 1.0; 1.0;; #specular 0.1; 0.1; 0.1; 1.0;; #emmisive 4.0; #power ""; } GRFrame fr1{ 0; 1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1;; GRMesh{ 1; -2;0;0;, 2;0;0;, 0;2;0;; #pos -1;0;1;, 0;0;1;, 1;0;1;; #normal 1;0;1;1;, 0;1;1;1;, 1;1;0;1;; #color 0;0;, 0;0;, 0;0;; #tex 0,1,2; } } GRFrame fr2{ 0; 1,0,0,0, 0,1,0,0, 0,0,1,0, 1,1,0,1;; GRMesh{ 1; -2;0;0;, 2;0;0;, 0;2;0;; #pos -1;0;1;, 0;0;1;, 1;0;1;; #normal ; #color ; #tex 0,1,2; } } GRFrame fr3{ 0; 1,0,0,0, 0,1,0,0, 0,0,1,0, 1,2,0,1;; GRMesh{ 1; -2;0;0;, 2;0;0;, 0;2;0;; #pos -1;0;1;, 0;0;1;, 1;0;1;; #normal ; #color ; #tex 0,1,2; } } } CDConvexMesh meshFloor{ 1; 0.2; 0.5; 0.6;;; 10; 0;10;, 10; 0;-10;, -10; 0;10;, -10; 0;-10;, 10;-10;10;, 10;-10;-10;, -10;-10;10;, -10;-10;-10;; } CDConvexMesh meshBlock{ 1; 0.2; 0.5; 0.6;;; 0.5; 0.5; 0.5;, 0.5; 0.5;-0.5;, -0.5; 0.5;0.5;, -0.5; 0.5;-0.5;, 0.5;-0.5; 0.5;, 0.5;-0.5;-0.5;, -0.5;-0.5;0.5;, -0.5;-0.5;-0.5;; } PHScene phScene{ 0.01; // timeStep 0;; // count 0;-9.8;0;; // gravity 15; PHSolid soFloor{ 0.0; 0.0; 0.0;; #vel 0.0; 0.0; 0.0;; #angular val 1.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.0;; #pose ET w,x,y,z; px, py, pz; 0.0; 0.0; 0.0;; #force (read only) 0.0; 0.0; 0.0;; #torque (read only) 0.0; 0.0; 0.0;; #newForce 0.0; 0.0; 0.0;;; #newTorque 1e30; #mass 1e30, 0.0, 0.0, 0.0, 1e30, 0.0, 0.0, 0.0, 1e30;; #inertia 0.0; 0.0; 0.0;; #center false; {meshFloor} } PHSolid soBlock1{ 0.0; 0.0; 0.0;; #vel 0.0; 0.0; 0.0;; #angular val 1.0; 0.0; 0.0; 0.0; 0.0; 1.0; 0.0;; #pose ET w,x,y,z; px, py, pz; 0.0; 0.0; 0.0;; #force (read only) 0.0; 0.0; 0.0;; #torque (read only) 0.0; 0.0; 0.0;; #newForce 0.0; 0.0; 0.0;;; #newTorque 1; #mass 1, 0.0, 0.0, 0.0, 1, 0.0, 0.0, 0.0, 1;; #inertia 0.0; 0.0; 0.0;; #center true; {meshBlock} } PHSolid soBlock2{ 0.0; 0.0; 0.0;; #vel 0.0; 0.0; 0.0;; #angular val 1.0; 0.0; 0.0; 0.0; 0.6; 3.0; 0.0;; #pose ET w,x,y,z; px, py, pz; 0.0; 0.0; 0.0;; #force (read only) 0.0; 0.0; 0.0;; #torque (read only) 0.0; 0.0; 0.0;; #newForce 0.0; 0.0; 0.0;;; #newTorque 1; #mass 1, 0.0, 0.0, 0.0, 1, 0.0, 0.0, 0.0, 1;; #inertia 0.0; 0.0; 0.0;; #center true; {meshBlock} } PHSolid soBlock3{ 0.0; 0.0; 0.0;; #vel 0.0; 0.0; 0.0;; #angular val 1.0; 0.0; 0.0; 0.0; 0.0; 5.0; 0.0;; #pose ET w,x,y,z; px, py, pz; 0.0; 0.0; 0.0;; #force (read only) 0.0; 0.0; 0.0;; #torque (read only) 0.0; 0.0; 0.0;; #newForce 0.0; 0.0; 0.0;;; #newTorque 1; #mass 1, 0.0, 0.0, 0.0, 1, 0.0, 0.0, 0.0, 1;; #inertia 0.0; 0.0; 0.0;; #center true; {meshBlock} } }