リンデンスクリプト第五回。今日は縮小版。

arado

2008年05月02日 04:43


今夜もワタシをデバッグ♪(意味不明)リンデンスクリプト怒濤の第五回です。

今Libraryフォルダにあるカートのスクリプトを分解して解説していますが、過去記事は以下に。
http://rado.slmame.com/e224623.html

で、今回はカメラポジションのことはひとまずおいておいて、やたら数が多いコイツ等から。


パラメーターと数字という組み合わせで制御してます。パラメーター?知らなくていいです^^。
ガイドを読むと、VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY最低(0.0) と最高の(1.0 ) で可変します。それは角度と偏向の強さを調整する為の簡単な数値で、車の速度と・・・・・
こんな感じに簡潔に、しかしダラダラと書き連なっています。(見てるだけで吐き気が・・・)

まあなにせ具体的な動作を、どうやったら上手く伝わるのか苦労した感じは伝わってきます。^^
あー日本語だといい表現があるのにねぇって同情してあげて下さい。


とまあ、なんだかわからんことが書いてありますが、実のところ、実際プログラムの数値を変えれば、これがなんなのかよくわかります。まずこの部分の上から見ていきます。

VEHICLE_ANGULAR_DEFLECTION_EFFICIENCYの後ろに数字がありますから、この数字を最低(0.0) と最高の(1.0 ) の間で変化させればいいのです。


とりあえずマックスにしてみましょう。


乗り込む角度にもよりますが、乗った途端カートは気が違ってアクセルとブレーキを間違えたかのように前に進みます。
乗り込んだらイキナリ谷底に突き落とされそうになりました。正に自爆。


では無効というか、あり得ない数字を入れたらどうなるでしょうか?やっぱしぶっ飛んであの世にまで一直線なのでしょうか?


実は何も変りません。ほっと一安心ですね。


では値を最小にしたらどうなるんでしょう?


実はほとんど値を変えていないときと全く同じです。

両極端ではどちらも実は同じと言うことは、ある程度デフォルトで定位置が既に決まっているようですね。

つまりそれを基準として、そこから若干乗り物を進めた方が良い場合は、この値をいじるというわけ。
従いデフォルトでは最低値0.01が設定されています。限りなく0に近い。

もともと自分で好きなようにスクリプトをいじって、自分だけの乗り物を造れるように、あえてこの部分を入れているようです。ではこの部分をスクリプトから削除します。



実は削除してもほとんど変化はありません。


実はこのスクリプトのllSetVehicleFloatParamなどのパラメーターは19ぐらい書かれていますが、乗り物のパラメーターは24あります。つまりほとんどがここに書かれている事になります。しかも同じパラメータは書かれてはいないので、学習用に元々用意されている事がわかります。特に llSetVehicleFloatParam(VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY, 0.01);なんていのは、必要かどうか?といわれれば、ほぼ間違いなく削除しても問題はありません。それでも敢えて書いているというのは理由がある。なるほどね。ステキ。


ココのパラメーターについては、あまり1つ1つパラメータの意味を考えるより、実際にスクリプトに組み込んで値を変化させた方が理解できます。というかこのパラメーターについて、LSLガイドの説明は1~2歩下がって考えてみても具体性に欠けます。「ツベコベ言わずにやってみろよ」といわんばかり。実際やってみると、百聞は一見にしかずというジジババ(失礼)ご老齢の紳士ご婦人の言うことはごもっともでございます。

ちなみにちょっとこのカートのスクリプトは面白い事が書かれてあります。
前回やったこの部分。


この部分を抜き出して値を変えた場合、前回では極端な値を入れるととんでもないことになりましたよね?これを、もとのスクリプトでやるとどうなるのでしょうか?


ちょっとドキドキします・・・・・・。

前回もここからコントロールを少しでも動かすと凄いことになりました。

じゃーーーーーーーーーーもっとスッッゲ事に・

なりません^^。

実はコレがこのカートスクリプトの面白い所なんです。
つまり、ワザワザ書いてあるこのカメラと視点の位置を、コイツ等を無視しねじ伏せてまでも、位置を決めている連中がいるのです。こういう奴らは外部参照とか呼ばれていますが、それはまたの機会。

次回はコイツ等の住処の下にある、別の野郎共についてお話しします。

では。

リンデンスクリプト