この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン | |||
vci:sample:material:light [2023/05/09 13:19] pastatto 統合リンク修正 |
vci:sample:material:light [2023/10/03 19:58] (現在) pastatto 非推奨のAPIを書き換えてサンプルの差し替え |
||
---|---|---|---|
ライン 1: | ライン 1: | ||
====== 色とアニメ切替ライト ====== | ====== 色とアニメ切替ライト ====== | ||
- | + | [[https://developer.virtualcast.jp/vci-docs/api/classes/ExportState/index.html|ExportState]]を利用して、色と光の形状を変更するライトのサンプルVCIです。\\ | |
- | 色と光の形状を変更できるライトです。\\ | + | |
色と光それぞれの状態を[[vci/script/reference/syncvariable|同期変数]]を定義することで、ユーザー間で同期するようになっています。\\ | 色と光それぞれの状態を[[vci/script/reference/syncvariable|同期変数]]を定義することで、ユーザー間で同期するようになっています。\\ | ||
ライトの先端黒い部分をonUseするとライトの光が拡縮アニメーションをします。\\ | ライトの先端黒い部分をonUseするとライトの光が拡縮アニメーションをします。\\ | ||
ライン 10: | ライン 9: | ||
https://virtualcast.jp/products/8ff27fbabc1414b88b29beae1c431720bb48e96e3aaa0c88a0082760dccd0665 | https://virtualcast.jp/products/8ff27fbabc1414b88b29beae1c431720bb48e96e3aaa0c88a0082760dccd0665 | ||
- | === UnityPackage === | + | {{ :vci:sample:sample_advanced:tutorial_切替ライト.zip |}} |
- | {{ vci:sample:sample_advanced:tutorial_light.zip |}} | + | |
{{vci:sample:sample_advanced:tutorial_light_1.png?600|}} | {{vci:sample:sample_advanced:tutorial_light_1.png?600|}} | ||
ライン 20: | ライン 19: | ||
local to_color = Color.__new(1,0,0,1)--オリジナルカラー | local to_color = Color.__new(1,0,0,1)--オリジナルカラー | ||
+ | local Anime = vci.assets.GetTransform("light_forstage") | ||
+ | local SubitemAnime = Anime.GetAnimation() | ||
function onUse(use) | function onUse(use) | ||
ライン 26: | ライン 27: | ||
vci.state.Set("STATE",state) | vci.state.Set("STATE",state) | ||
else | else | ||
- | state=vci.state.Get("STATE")--使った時に同期変数で同期取得 | + | state=vci.state.Get("STATE")--グリップ時に共通変数で同期取得 |
end | end | ||
ライン 32: | ライン 33: | ||
vci.state.Set("COLOR_STATE",color_state) | vci.state.Set("COLOR_STATE",color_state) | ||
else | else | ||
- | color_state=vci.state.Get("COLOR_STATE")--使用時に同期変数で同期取得 | + | color_state=vci.state.Get("COLOR_STATE")--グリップ時に共通変数で同期取得 |
end | end | ||
- | --光の形状の状態------ベース部分をつかんだ場合の処理--------------- | + | --光の形状の状態------ベース部分を掴んだ場合の処理--------------- |
if use=="light_forstage" then | if use=="light_forstage" then | ||
print("base_grab_OK")--------------- | print("base_grab_OK")--------------- | ||
if state==0 then | if state==0 then | ||
- | vci.assets._ALL_PlayAnimationFromName("light_long",false) | + | SubitemAnime._ALL_PlayFromName("light_long",false) |
state=1 | state=1 | ||
vci.state.Set("STATE",state) | vci.state.Set("STATE",state) | ||
elseif state==1 then | elseif state==1 then | ||
- | vci.assets._ALL_PlayAnimationFromName("light_short",false) | + | SubitemAnime._ALL_PlayFromName("light_short",false) |
state=0 | state=0 | ||
vci.state.Set("STATE",state) | vci.state.Set("STATE",state) | ||
ライン 49: | ライン 50: | ||
end | end | ||
- | --ライトコントローラーをつかんだ場合の処理------------------------- | + | --ライトコントローラーを掴んだ場合の処理------------------------- |
if use=="light_controller" then | if use=="light_controller" then | ||
color_state=color_state+1 | color_state=color_state+1 | ||
ライン 60: | ライン 61: | ||
if color_state==0 then | if color_state==0 then | ||
to_color = Color.__new(1,1,1,0.2)--オリジナルカラー | to_color = Color.__new(1,1,1,0.2)--オリジナルカラー | ||
- | vci.assets._ALL_SetMaterialColorFromName ("light_light",to_color) | + | vci.assets.material._ALL_SetColor ("light_light",to_color) |
- | vci.assets._ALL_SetMaterialColorFromName ("light_noshadow",to_color) | + | vci.assets.material._ALL_SetColor ("light_noshadow",to_color) |
elseif color_state==1 then | elseif color_state==1 then | ||
to_color = Color.__new(1,0,0,0.2)--red | to_color = Color.__new(1,0,0,0.2)--red | ||
- | vci.assets._ALL_SetMaterialColorFromName ("light_light",to_color) | + | vci.assets.material._ALL_SetColor ("light_light",to_color) |
- | vci.assets._ALL_SetMaterialColorFromName ("light_noshadow",to_color) | + | vci.assets.material._ALL_SetColor ("light_noshadow",to_color) |
elseif color_state==2 then | elseif color_state==2 then | ||
to_color = Color.__new(1,0.65,0,0.2)--orange | to_color = Color.__new(1,0.65,0,0.2)--orange | ||
- | vci.assets._ALL_SetMaterialColorFromName ("light_light",to_color) | + | vci.assets.material._ALL_SetColor ("light_light",to_color) |
- | vci.assets._ALL_SetMaterialColorFromName ("light_noshadow",to_color) | + | vci.assets.material._ALL_SetColor ("light_noshadow",to_color) |
elseif color_state==3 then | elseif color_state==3 then | ||
to_color = Color.__new(1,1,0,0.2)--yellow | to_color = Color.__new(1,1,0,0.2)--yellow | ||
- | vci.assets._ALL_SetMaterialColorFromName ("light_light",to_color) | + | vci.assets.material._ALL_SetColor ("light_light",to_color) |
- | vci.assets._ALL_SetMaterialColorFromName ("light_noshadow",to_color) | + | vci.assets.material._ALL_SetColor ("light_noshadow",to_color) |
elseif color_state==4 then | elseif color_state==4 then | ||
to_color = Color.__new(0,0.5,0,0.2)--green | to_color = Color.__new(0,0.5,0,0.2)--green | ||
- | vci.assets._ALL_SetMaterialColorFromName ("light_light",to_color) | + | vci.assets.material._ALL_SetColor ("light_light",to_color) |
- | vci.assets._ALL_SetMaterialColorFromName ("light_noshadow",to_color) | + | vci.assets.material._ALL_SetColor ("light_noshadow",to_color) |
elseif color_state==5 then | elseif color_state==5 then | ||
to_color = Color.__new(0,1,1,0.2)--blue | to_color = Color.__new(0,1,1,0.2)--blue | ||
- | vci.assets._ALL_SetMaterialColorFromName ("light_light",to_color) | + | vci.assets.material._ALL_SetColor ("light_light",to_color) |
- | vci.assets._ALL_SetMaterialColorFromName ("light_noshadow",to_color) | + | vci.assets.material._ALL_SetColor ("light_noshadow",to_color) |
elseif color_state==6 then | elseif color_state==6 then | ||
to_color = Color.__new(0,0,1,0.2)--indigo | to_color = Color.__new(0,0,1,0.2)--indigo | ||
- | vci.assets._ALL_SetMaterialColorFromName ("light_light",to_color) | + | vci.assets.material._ALL_SetColor ("light_light",to_color) |
- | vci.assets._ALL_SetMaterialColorFromName ("light_noshadow",to_color) | + | vci.assets.material._ALL_SetColor ("light_noshadow",to_color) |
elseif color_state==7 then | elseif color_state==7 then | ||
to_color = Color.__new(0.5,0,0.5,0.2)--violet | to_color = Color.__new(0.5,0,0.5,0.2)--violet | ||
- | vci.assets._ALL_SetMaterialColorFromName ("light_light",to_color) | + | vci.assets.material._ALL_SetColor ("light_light",to_color) |
- | vci.assets._ALL_SetMaterialColorFromName ("light_noshadow",to_color) | + | vci.assets.material._ALL_SetColor ("light_noshadow",to_color) |
else | else | ||
----何もしない | ----何もしない |