テクスチャ―チェンジャーの設定
設定方法は、大きく分けて2通りあり、さらに対象面の指定方法も複数あります。
※リンク番号を指定する箇所では、プリムの名前で指定も可能です。
■テクスチャ―指定
テクスチャ―ボタンの名前は、[TEXTURE] と記述してください。
方法1:ボタンにテクスチャのUUIDを記述する。
ボタンの説明部分に、UUIDを記述してください。
手軽ですが、UUIDにはアクセスコントロールが存在しないため、フルパでテクスチャを配布するのと同じことになります。
UUIDは、インベントリのテクスチャ―を右クリックしたメニューにて、[UUIDをコピーする]を選んでください。ただしこれは自分でアップロードしたテクスチャ―に限ります。
変更箇所の指定
テクスチャ―の指定と同時に、対象のリンク番号と面番号を指定することで、商品の一部分のみテクスチャ―を変更することもできます。
ボタンの説明に張り付けたUUIDにつづけて、「,リンク番号:面番号:オフセットX座標:オフセットY座標」と記述してください。
オフセットの記述は省略することができます。
例)cb96c310-ab63-1d7b-c7bc-22548f6be0e6,1:2
この場合、リンク番号1の面番号2のテクスチャが変更されます。
例)cb96c310-ab63-1d7b-c7bc-22548f6be0e6,1:2:0.5:0.5
この場合、さらにテクスチャの位置が0.5移動します。
「,」区切りで、複数の箇所を指定することもできます。
例)cb96c310-ab63-1d7b-c7bc-22548f6be0e6,1:2,1:3,1:5
方法2:商品の設定ファイルにまとめて記述
設定ファイルに記述することで、一つのボタンで複数のテクスチャを同時に扱うことも可能です。
ボタンの説明には、UUIDではなく、設定と紐づけるための任意の識別IDを指定してください。
上の図では、t01 という識別IDを設定しました。
商品側の設定ファイル(*..NL..* nHUD Receiver Config)に、このボタンを押したときに変化する内容を設定します。
[texture]ブロック内に記述してください。
上で指定した識別ID t01 を追加し、次の行にテクスチャを指定します、
テクスチャUUIDを指定する行の記述方法は、方法1の説明に記述する書式と同一になります。詳しくは方法1を参照してください。
複数のテクスチャを同時に更新する場合は、続けて次の行に書いてください。
例)
[texture]
t01
56a45ee1-8fcb-5a7f-ca88-3a28ce65436d,0:0,0:1
cb96c310-ab63-1d7b-c7bc-22548f6be0e6,0:5
別の識別IDを追加する場合は、空行を追加してから行ってください。
例)
[texture]
t01
56a45ee1-8fcb-5a7f-ca88-3a28ce65436d,0:0,0:1
cb96c310-ab63-1d7b-c7bc-22548f6be0e6,0:5
t02
5c5e47b2-e837-8a43-5357-40f075bf93ab,0:0,0:1
fc691251-02c6-385b-690b-0ee2750ca21d,0:5
また、この設定ファイルに記述する方式では、ノーマルマップとスペキュラーマップの指定が可能になります。
UUIDの前にキーワードを書いて、テクスチャ-の区別を行います。
・ノーマルマップは normal
例)normal,edba6410-5234-db17-394a-59e897fa8b86,0:0,0:1
解除するには、UUIDの部分で NULL もしくは NULL_KEY と指定してください。
例)normal,NULL,0:0,0:1
・スペキュラーマップは specular
プリムに設定するパラメータ―と同じく、光沢度・環境・色の設定を行います。
設定はUUIDの後に「:」区切りで付け加えてください。
例)specular,33de2cc8-0e27-626f-a6d6-19d2eb162347,50:200:<1.000, 1.000, 1.000>,0:0,0:1
上の例では 50:200:<1.000, 1.000, 1.000> が、光沢度50、環境200、色<1.000, 1.000, 1.000> になります。
解除するには、UUIDの部分で NULL もしくは NULL_KEY と指定してください。残りのパラメーターは無視されます。
例)specular,NULL,50:200:<1.000, 1.000, 1.000>,0:0,0:1
色はビュアーのカラーピッカーで色を選択し、 Copy LSL を押すことでコピペが行えます。
テクスチャー設定数制限 ※v1.9.0以降は、数百のテクスチャ―設定でも問題無く動作するようなります。
設定ファイルに記述するこの方式ですが、最初の初期化時に大量のメモリを必要とするため、テクスチャ―100個程度でメモリーの空きがなくなります。
商品側の設定時に表示される空きメモリ―が4000bytes以上ない場合はご注意ください。
空きメモリ―が極端に少ない場合、HUD操作時にメモリー不足になる場合があります。
メモリー不足になった場合、スクリプトは動作を停止し、スクリプトのリセットが必要になります。
さらに多くのテクスチャ―切換えを行いたい場合は、方法1のボタンにUUIDを記述する方式をお使いください。
TIPS
マテリアルの ON/OFF ボタンを付けたい場合、オブジェクトにマテリアル設定をし、それをデフォルトとし、テクスチャ―切換えボタンではマテリアルを指定せず、マテリアル切換え専用ボタンを作りオンオフといった作り方ができます。
■対象面指定ボタン(ラジオボタン方式)
ボタンの名前は [TEXTURE TARGET*] と [TEXTURE TARGET] です。違いは 「*」があるかどうかのみです。
上記までのUUIDと共にリンク番号と面番号を記述する方法以外にも、対象のリンク番号と面番号を切り替えるボタンを設置するこが可能です。
併用した場合、テクスチャ―変更対象面が追加されます。
[TEXTURE TARGET*]は、初期状態が押された状態のボタンです。この機能を使う場合は必ず1つ設置してください。
説明欄に、対象のリンク番号と面番号を記述してください。 書式はUUIDと共に書く方法と一緒で、UUIDが無いだけになります。
例)
名前: [TEXTURE TARGET*]
説明:0:0,0:1
UUIDを指定するパラメーターには、リンク番号と面番号を省略できます。
例)*..NL..* nHUD Receiver Config 側の設定
[texture]
tex01
cb96c310-ab63-1d7b-c7bc-22548f6be0e6
tex02
33de2cc8-0e27-626f-a6d6-19d2eb162347
※UUIDのみ記述で、その後に続くリンク番号と面番号を省略。
ボタンが選択されているどうかの色変化は、設定ファイルにて指定できます。
btnColor active は、選択されているボタンの色です。
btnColor inactive は、選択されていないボタンの色です。
例)選択されているボタンを白で、選択されていないボタンを灰色に指定
btnColor active = <255,255,255>
btnColor inactive = <128,128,128>