(Script口。東海道線東京口とか言う表現に愚痴を引っ掛けた洒落。くだらなくてすまん。)
VRM4買って、何が一番苦労するって、Scriptにサンプルが無いことだ。
これは多分、ScriptWizardがあるんで、「それで生成したScript見れ」と言うことなんじゃないかと思うが、それでもさ〜、リファレンスの各項目のところに、サンプル構文載せてくれてもいいやん。
ってか、普通プログラミング言語のリファレンスだと付いてるぞ。
Scriptでは付いてないのが普通なのか?
お陰で、未だScriptの基本を理解しきれず、WebVRM界の重鎮の方々の書かれたScriptとにらめっこ中。
…これは、Scriptに限らず、プログラム組むときには必ずあることですが、コードって人それぞれ癖があるんで、人の書いたコード読み解くのって大変なのよ!
(そういう意味では、
この方のコードは、本職だけあっておいらにとっては読みやすい。)
それと、Script書いてて思ったが、リファレンスの「制約」に「グローバル変数は、1つのスクリプトに255個まで設定できます。ただし、実用上多くても16個程度にとどめてください。」とか書かれている。
グローバル変数は、オブジェクト内のScriptで、BeginFunc〜EndFuncの外で定義される変数という決まりになってる。
んで、このScriptは、オブジェクト指向で設計されているので、勢い、オブジェクト内のScriptでは値を直書きせず、変数に持たせてしまうと、グローバル変数が増えちゃう。
しかも、これはScriptという物の制約なのかどうかは判らんが、Functionに対し、引数が指定できない。
んでまた勢い、オブジェクト間で値をやり取りするのに、グローバル変数を使わざるを得ない。
…。現時点では、まだまだScriptに関して勉強中で、そこまで込み入った制御はしてないが、Yardでの入換を柔軟に楽しめるレイアウトなんぞ作った日には、ここで必ず引っかかるような気がしてならないんですが…。
今後、VRMのバージョンが上がる時、Functionに引数を持たせるようにしてもらうことは、出来ないものだろうか。
或は、グローバル変数のみのモジュールを提供してもらうか。
そうすると、オブジェクト名をこのモジュールでグローバル変数として宣言すれば、少なくとも、各Scriptでオブジェクト名のやり取りをするためにグローバル変数を宣言する必要もなくなるし、オブジェクト名が変更になった場合(編成入換とか)でも、このモジュール内の記述を変えるだけですむと思うのだが。
…限りなくVBに引っ張られた考えですが。この考え、いかがでしょう。
最近箱物ばかり売ってて、コーディングって物に疎くなっちゃってるんで、「この考え方は違う!」ってとこあったら、ご指摘いただきたいです。マジで。
特に、
VRM侍殿。切って。
…切る価値も無いか?