2/13に有志でオンライン運転会を開催し、その時に出た意見を集約してImGuiで多機能コントローラ「
パワーユニットくん」を作成しました。
VRM標準の操作方法ではアクティブになっている列車しか操作できず、室内灯などこだわりの各種ギミックも頑張ってコードを実装しないとON/OFF切替もままならない、非常にアクセスしづらいものでした。
パワーユニットはそれらのギミックや複数の編成を一元操作すべく、プラグインのような形でコントローラを作ってみました。
ちなみに名称について調べてみると鉄道模型で「パワーユニット」と言ってるのはTOMIXのみで、他のメーカーは「パワーパック」や「トレインコントローラー(トレコン)」というのが一般的みたいです。(笑)
「パワーユニットくん」の最大の特徴は処理のほぼ全てを外部ファイルに記述しているため、レイアウトのスクリプトは僅か2行の追記だけで利用が可能であることです。
VRM4や5のスクリプトで似たようなことをしていた
ポータブル編成では編成毎に同じコードを毎回記述して、それでも個別操作や一元管理には程遠い状態でした。
VRMNXではPythonからの各種オブジェクトアクセスが容易になったことで編成などに1行も手を入れずにそれ以上のことを簡単に扱えるようになりました。
また、ImGuiによってキー操作以外にマウスでも操作が出来るようになったこともNXの大きな進化と言えます。
今後は踏切や信号もコントローラで実装できたら良いなと思っています。
(踏切や信号はGetList()とかの命令が無いので、列車やポイントと異なり、ひと手間ふた手間は手を入れる必要がありますが)
なお、今回からPythonコードは
いつものHPから配布するのではなく、
githubからリリースするようにしました。
HPには静的リンクのみ掲載しています。
今までの公開サイト作成方法は、
(1)公開用ページをmdファイルで作成
(2)mdファイルをMkDocsでビルド
(3)ビルド後ファイルの表示を確認後、アップロード用フォルダへ反映
(4)ホームページサイトへFTPで接続、全削除後にフルアップロード
と、そこそこ手間がかかっていました。
これがgithubだと、
(1)公開用ページをmdファイルで作成
(2)TortoiseGitでコミット&プッシュ
だけで済むようになり、かなり省力化出来るようになりました。
また、履歴管理も容易になり、ローカルフォルダが修正差分が増えてとっ散らるようなことがなくなりました。
githubへは他にも
ファイル連携システムの移植も進めたりしています。(一通り移植しましたがファイルVerが古いなど、まだ完全では無いです)
Discordのコミュニティもそうですが、VRMにも新しいものやサービスを組み合わせて、資料や情報を整理・蓄積することでつまづきを少なくし、外側からもVRMの使い勝手を向上させていきたいと思います。
2/16:運転会の日付間違ってたりパワユニくんへのリンクが文中に埋もれてたりしたので内容修正。