[hgimg4]のサンプル[customshader.hsp]のように、カスタムシェーダーを使った[plate]や[box]などは、
一般の[gpfloor]や[gpbox]のようには、ライトの影響を受けません。
これを叶えるにはどうしたらいいのでしょうか。
自作の3Dオブジェクトなら、そのマテリアルを書き換えればできますが、この場合はどうすればいいのか、
分かりません。お教え願います。
テスト用スクリプトは、以下のものです。
ディレクショナルライトを有効にしても、[id_qbox]には変化がありません。
#include "hgimg4.as"
chdir dir_exe+"\\sample\\hgimg4" gpreset setcls CLSMODE_SOLID, $909090 // 以下2行を有効にしてみると? // setcolor GPOBJ_LIGHT, 0.3,0.3,0.3 ; 標準ライトカラーを設定 // setdir GPOBJ_LIGHT, 0.5,0.5,0.5 ; 標準アンビエントカラーを設定 gpfloor id_floor, 15,15, $00ffff gpbox id_box, 2 setpos id_box, 3, 1, 0 id_texture = "res/qbox.png" gpusermat id_mat, "res/shaders/textured.vert","res/shaders/textured_gray.frag","MODULATE_ALPHA;MODULATE_COLOR" gpmatprmt id_mat, "u_diffuseTexture", id_texture gpmatprm4 id_mat,"u_modulateColor", 1,1,0,1 gpbox id_qbox, 2, , id_mat setpos id_qbox, 0, 1, 0 setpos GPOBJ_CAMERA, 5,10,20 gplookat GPOBJ_CAMERA, 0,0,0 repeat redraw 0 : gpdraw : redraw 1 await 1000/60 loop