Skip to content

Instantly share code, notes, and snippets.

@IosysPio
Created August 17, 2023 23:27
Show Gist options
  • Save IosysPio/b9dd34194207af13a89da5b9b23d2d49 to your computer and use it in GitHub Desktop.
Save IosysPio/b9dd34194207af13a89da5b9b23d2d49 to your computer and use it in GitHub Desktop.
VC公式配布のMovingLightをスタジオ対応させるメモ
-- MovingLightをスタジオで出したときに出るエラーを回避する
-- エラーが出るのは122行目ですが、そのエラー自体は116行目でget_currnet_value()で取得する共有変数の値が初期化されていないために起こる
-- pan_angle_nowの値がおかしいために122行のtransform.SetLocalRotation(Quarternion.Euler())の引数の数が合わなくなる
-- なので、ここの値がおかしいときに例外として0などのデフォルトになる数値を与えてやればとりあえず回避可能
-- 修正箇所 基本はvci.state.Get()の部分でおかしな値を全部数値にしてやる必要
-- 初期化されてないだけならnilが返ってくるのでとりあえずnilのとき0にする
-- 23行目から33行目のvci.state.Get()のあとに or 0をつければ0にはなる
-- 初期化時と同じ値を仮に与えておく
-- (pan_angle, tilt_angle, dimer_masterは角度と光度で初期値0, dimer_red, dimer_green, dimer_blueはRGB要素なので1)
-- 22から33行目
---@type number | nil
local pan_angle_now = vci.state.Get(pan_angle_state_key) or 0
---@type number | nil
local tilt_angle_now = vci.state.Get(tilt_angle_state_key) or 0
---@type number | nil
local dimmer_master_now = vci.state.Get(dimmer_master_state_key) or 0
---@type number | nil
local dimmer_red_now = vci.state.Get(dimmer_red_state_key) or 1
---@type number | nil
local dimmer_green_now = vci.state.Get(dimmer_green_state_key) or 1
---@type number | nil
local dimmer_blue_now = vci.state.Get(dimmer_blue_state_key) or 1
-- 115から120行目
pan_angle_now = get_current_value(pan_angle_now, vci.state.Get(pan_angle_state_key) or 0, pan_max_speed, delta_time)
tilt_angle_now = get_current_value(tilt_angle_now, vci.state.Get(tilt_angle_state_key) or 0, tilt_max_speed, delta_time)
dimmer_master_now = get_current_value(dimmer_master_now, vci.state.Get(dimmer_master_state_key) or 0, color_max_speed, delta_time)
dimmer_red_now = get_current_value(dimmer_red_now, vci.state.Get(dimmer_red_state_key) or 1, color_max_speed, delta_time)
dimmer_green_now = get_current_value(dimmer_green_now, vci.state.Get(dimmer_green_state_key) or 1, color_max_speed, delta_time)
dimmer_blue_now = get_current_value(dimmer_blue_now, vci.state.Get(dimmer_blue_state_key) or 1, color_max_speed, delta_time)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment