撮る夫くん リファレンス

撮る夫くん - VRMNX用グローバルカメラ拡張機能

VRMNX用Python拡張の 撮る夫くん は,VRMNXビュワーのフライスルーカメラの機能をアップグレードします。 ImGUIの操作パネルで,FOVや被写界深度の設定を直感的に行うことができます。

撮る夫くんには以下のような機能があります。

  • FOVなどのGUI操作

  • FOV, F値と対象物までの距離から,一眼レフカメラの機構をシミュレートした被写界深度制御

  • 手ブレ風エフェクト

  • 車両追尾

  • 視点保存

サンプル

撮る夫くんを有効にするには,レイアウトのイベントハンドラの冒頭に toruo.activate() を記述します:

import vrmnx
import toruo

def vrmevent(obj,ev,param):
    toruo.activate(obj,ev,param)
    if ev == 'init':
        pass

イベントのuserIDの予約領域

撮る夫くんでは,VRMNXのイベントuserIDで以下の領域を予約します。:

1060000 - 1069999

撮る夫くんが内部で使用するイベントはこの領域内でuserIDを指定しています。

toruo.activate(obj, ev, param)[ソース]

撮る夫くんを有効にするコマンド。

レイアウトオブジェクトのイベントハンドラの先頭に書いてください。(ifの中には入れない。):

# LAYOUT
import vrmapi
import toruo

def vrmevent(obj,ev,param):
    toruo.activate(obj,ev,param)
    if ev == 'init':
        pass # 以下省略
パラメータ
  • obj -- イベントハンドラが受け取るobj

  • ev -- イベントハンドラが受け取るev

  • param -- イベントハンドラが受け取るparam

撮る夫くんの関係イベントはすべてこの関数の中で処理されます。 vrmevent が受け取ったパラメータをそのまま引き渡してください。

toruo.dFOV = 10.0

FOV操作感度

toruo.dMov = 25.0

移動量感度

toruo.dRot = 0.5

左右回転感度

toruo.jump_toruo(id=0)[ソース]

保存済みの撮る夫くん座標にジャンプ

保存済みの撮る夫くんを id で呼び出し,その座標にジャンプします。

パラメータ

id (int) -- 撮る夫くんの保存番号

注釈

保存された撮る夫くんの内容は,レイアウトと同じディレクトリの toruo.json に記録されています。 リスト型で読み出されるので,先頭のデータがid=0になります。

この関数は,実行時に撮る夫くん座標に即時反映されます。よって,適切なイベントハンドラの中で呼び出す必要があります。

toruo.set_gcdist(dist=256.0)[ソース]

グローバルカメラのfrom-toの距離を再設定する。

現在の視線の向きをキープして,グローバルカメラのat座標を from座標からの指定距離に再設定する。

パラメータ

dist -- from-toの距離(mm)

toruo.set_toruo(fov=None, depth=None, fnum=None, blur=None, aemode=None)[ソース]

撮る夫くんの状態を直接指定する。

撮る夫くんの撮影設定パラメータを直接指定できます。 入力パラメータはどれも省略可です。必要な項目だけキーワード引数で指定してください。

パラメータ
  • fov (float) -- FOV(ズーム角度)

  • depth (float) -- 合焦中心位置までの距離の逆数の4乗根

  • fnum (float) -- 絞り(F値)

  • blur (float) -- ぼけの強さ

  • aemode (bool) -- プログラムAE

この関数は,実行時に即時反映されます。よって,適切なイベントハンドラの中で呼び出す必要があります。

たとえば, initイベントで実行すると初期状態の撮る夫くんの設定ができます。

# LAYOUT
import vrmapi
import toruo

def vrmevent(obj,ev,param):
    toruo.activate(obj,ev,param)
    if ev == 'init':
        toruo.set_toruo(depth=512**(-1/4), fnum=9.0)

カメラ座標は vrmapi.SYSTEM().SetGlobalCameraPos() によってください。

toruo.setfactor(rotate=0.5, fov=10.0, move=25.0)[ソース]

キー操作と手ブレの感度パラメータを設定

v.3.0.7ではmoveは不使用です。

パラメータ
  • rotate (float) -- 画角回転の感度 (default=0.5)

  • fov (float) -- ズーム感度 (default=10.0)

toruo.setshakemode(mode=False)[ソース]

手ブレモードを設定

パラメータ

mode (Bool) -- Trueで手ブレON

toruo.shake_factor = 0.1

手ブレ量

toruo.shake_freq = 4.0

手ブレ周波数