sample\pronama3d\pronama_box.hsp » Plain Format
#include "hgimg4.as"
#packopt name pronama_box
#packopt xsize 960
#packopt ysize 640
; 暮井 慧(プロ生ちゃん) 3D model (C) Pronama LLC
;
; HGIMG4対応 HSP3用スクリプトサンプル
; ※このスクリプト及びサンプルデータは、ライセンス規約のもと
; 自作ソフトで自由にお使い頂けます
; ※詳しくは、 https://kei.pronama.jp/
;
; 背景キューブマップ素材(res/cubemap.png)は、
; http://www.hdri-hub.com/
; で公開されているデータを使用させて頂きました。
;
title "HGIMG4 Test"
gpreset
setreq SYSREQ_LOGWRITE,1 ; 終了時にログを出力
setcls CLSMODE_SOLID, $00c0c0
gpload id_model,"res/pronamachan_l" ; モデル読み込み
setscale id_model, 0.025,0.025,0.025
gpaddanim id_model,"look" ; "look"クリップを設定
gpact id_model,"look"
gpusermat id_cubemat, "res/shaders/skybox.vert", "res/shaders/skybox.frag"
gpmatprmt id_cubemat, "u_diffuseTexture", "res/cubemap.png", GPOBJ_MATOPT_NOMIPMAP|GPOBJ_MATOPT_CUBEMAP
gpmatprm4 id_cubemat, "u_voffset", 0,14.0,0,0
gpbox id_sky,-30,-1, id_cubemat
setpos id_sky,0,13,0
gpfloor id_floor, 30,30, $404040 ; 床ノードを追加
setpos id_floor, 0,-2
gppbind id_floor, 0 ; 床の物理設定を行なう
setobjmode id_floor,OBJ_HIDE
setpos GPOBJ_CAMERA, 0,5.6,5 ; カメラ位置を設定
gptexmat id_texmat, "res/qbox.png"
gpbox id_box, 1, -1, id_texmat ; 箱ノードを追加
setpos id_box, 3, 0, 0
gppbind id_box, 4, 0.5 ; 箱の物理設定を行なう
;gppset id_box,GPPSET_GRAVITY,0,-400,0
camx=0.0:camy=3.0:camz=10.0
*main
gosub *render
; スペースキーまたはクリックで箱を追加
if key&$110 {
gpclone i, id_box ; 最初の箱をクローン
x=rnd(8)-6:z=rnd(6)-8
setpos i, x, 10, z ; 落とす位置を微調整
gppbind i, 4, 0.5 ; 箱の物理設定を行なう
;gppset i,GPPSET_GRAVITY,0,-400,0
}
; タッチでカメラ位置を動かす
if dragmd { ; ドラッグ中
getkey a,1
if a=1 {
camx=0.05*(mousex-dragx)+cx
camy=0.05*(mousey-dragy)+cz
} else {
dragmd=0
}
} else { ; ドラッグなし
getkey a,1
if a {
cx=camx:cz=camz
dragx=mousex:dragy=mousey
dragmd=1
}
}
; カーソルキーでカメラ位置を動かす
if key&1 : camx -=0.2
if key&4 : camx +=0.2
if key&8 : camz +=0.2
if key&2 : camz -=0.2
;addang id_model,0,0.02 ; ノード回転
await 1000/60 ; 待ち時間
goto *main
*render
stick key,15+64
if key&128 : end
setpos GPOBJ_CAMERA, camx,camy,camz ; カメラ位置を設定
gplookat GPOBJ_CAMERA, 0,1.8,0 ; カメラから指定した座標を見る
gsel 0
redraw 0 ; 描画開始
gpdraw ; シーンの描画
color 255,255,255
pos 8,8:mes "HGIMG4 sample"
redraw 1 ; 描画終了
return