sample\hgimg4\tamane_face.hsp » Plain Format
#include "hgimg4.as"
; 珠音(たまね)3D model sample
; モデリング&アニメーション製作 : オガワコウサク(チームグリグリ)
; HGIM43対応 HSP3用スクリプトサンプル
; ※このスクリプト及びサンプルデータは、自作ソフトで自由にお使い頂けます
; ※詳しくは、 http://hsp.tv/make/tamane3d.html
;
title "HGIMG4 Test"
gpreset
setcls CLSMODE_SOLID, $404040
setcolor GPOBJ_LIGHT, 1,1,1 ; ライトカラーを設定
setdir GPOBJ_LIGHT, 0.5,0.5,0.5 ; アンビエントカラーを設定
gpload id_model,"res/tamane2" ; モデル読み込み
setang id_mode, 0, 3.141592 ; モデルの回転を設定
setscale id_model, 0.1,0.1,0.1
setpos GPOBJ_CAMERA, 0,20,30 ; カメラ位置を設定
gpact id_model
nodename = "atama" ; テクスチャを入れ替えるノード名
; 特定のノードに割り当てられたマテリアルを取り出す
gpnodeinfo id_proxymat,id_model, GPNODEINFO_MATERIAL, nodename
; ボタンを設置
objsize 200,60
button gosub "FACE1",*face1
button gosub "FACE2",*face2
button gosub "FACE3",*face3
repeat
stick key,15
if key&128 : end
redraw 0 ; 描画開始
; タッチでカメラ位置を動かす
if dragmd { ; ドラッグ中
getkey a,1
if a=1 {
dx=0.05*(mousex-dragx)+cx
dy=0.05*(mousey-dragy)+cy
setpos GPOBJ_CAMERA, dx,dy,cz
} else {
dragmd=0
}
} else { ; ドラッグなし
getkey a,1
if a {
dragx=mousex:dragy=mousey
getpos GPOBJ_CAMERA, cx,cy,cz
dragmd=1
}
}
gplookat GPOBJ_CAMERA, 0,14,0 ; カメラから指定した座標を見る
gpdraw ; シーンの描画
redraw 1 ; 描画終了
await 1000/60 ; 待ち時間
loop
*face1
gpmatprmt id_proxymat, , "res/head_SD.png"
return
*face2
gpmatprmt id_proxymat, , "res/head_SD1.png"
return
*face3
gpmatprmt id_proxymat, , "res/head_SD2.png"
return