先日何気にスクリプトマニュアルを見ていたら、xxxVectorxxxって命令が随分ハバをきかせているではないか。
結構な命令数があるのは知ってはいたんだけど、元来数学嫌い・・・なかなか手をつけようなどとは。
数学は中学生迄は好きだった。(中学でも一応数学っていったよな?)
学生時代によー解らんままなんとかクリアーしてきた程度なんで、何時の間にか嫌いになってしまった。
ある意味数学って面倒な事を簡単に解決するって捉えると自分にはピッタリなんだけどね。
と個人的な話はさておき、あるなら使おうVector命令・・・別に目的は無いんだけどね、強いて言うなら道具を理解してみよう。まー結局
自己満足が目的かな(笑)
さっくり眺めても命令自体は特別難しいものは無い。難しいのは、時間経過によりどんなデータを与えるかの算出ロジックだろう。とはいえVRM初心者にしてみればまずはいろいろ調べてみないと・・・。
スクリプトマニュアルでVectorを見ていくと、Vector変数というのが出てきます。
Vectorは位置(座標)を示すデータを持っているようです。
Vector変数は3つの要素を持っているようで(x,y,z)まずは x,y,z が何を示すのか調べてみようっと。
結果、下図のような意味を持っていることが分かりました。(原点に対する角度はどーも納得できないし、軸も一般的表現とちょっと違うような気もしないではないんですが・・・決まり事ではないんでしょうね)

要するにベクトルの成分を表しているものですね・・・多分。
ベクトルとは・・・インターネット上にも数多く公開されているでしょうから捨て置き。
簡単に言えば方向を持つ数量ってことですね。
方向と言えば一般的には矢印で表しますよね。その矢印の先端の位置を示すものがVRMでVector変数と言っている物と考える事が出来る様です。
それじゃVector変数ってスクリプトでどー使うんだ・・・。VerVector何てないよな。
あったあった、Ver で定義すればいいんだ。一般的な変数の内部を3つに区切って保持しているそーです。(マニュアルから)
数値変数は32ビットのようなので3つに区切ったら1つあたり10ビット・・・7ビットを数値、残りを符号と指数にして・・・???精度はどーなんだろーとか思いつつまーそれは考える必要は無いか。
また休憩時間を利用して探ってみまーす。
明日は休みだ♪と言っても自分の時間ってあんまり無いのが残念。オヤジとしては・・・。