VRMNXをやりたいだけのためにデスクトップPCを
渋々Windows10にアップグレードしました。
遂にVRMNX参戦します。
と言っても本業のデスマーチは常時進行中で暇ができた訳ではないので、触るペースは非常にスローペースになると思われます。
仕事はOffice、息抜きにPythonと言った感じ。
ひとまずvrmapiの仕様把握とデバッグ体制の強化(内部変数の見える化など)を中心にやっていきます。
その後は自作メソッドのライブラリ化とデータのファイルIOぐらいは目処つけたいところ。
Pythonのお作法がよく分からんのですがJavaとかC#やってる身としてはvrmapiはちょっと見えにくい&取っつきにくい感じ。
例えば「
ListCar」だとVRMでは
ls=list()
vrmapi.LAYOUT().ListCar(ls)
と書きますが、C#的なノリだと
ls = vrmapi.LAYOUT().ListCar()
って書きたい。
Pythonだとデータ型定義が無いので出来ないんかな?
また、普通のPythonのdict型やlist型はprint()で中身を表示できるのでステータス確認が楽ですが、vrmapi.LOGだとその手の出力はやってくれないみたいなので、自作メソッド作って何とかするかも。
とりあえず少しずつ触ってみたいと思います。
1/31追記
>ls = vrmapi.LAYOUT().ListCar()
よく考えたらこれは駄目だ。
これだとls内のデータ参照先はVRMが使用(保証)している値が入ってるので、ClearとかAddとかするのはNG。
ls=list()
vrmapi.LAYOUT().ListCar(ls)
これだと値のディープコピーでVRMから切り離された(保証外)の値になるので適当に扱っていい。
VRMにアクションする時はこれらの値をヒントにvrmapiを介して制御する。
これにより外部からの直接パラメータ書き換えを許さず、動作を保証する必要のあるVRMとフリーダムに扱っていいPythonの環境を分離して共存させているわけですな。
納得!すごーい!
1. 無題