LlGetTextureScale/ja

From Second Life Wiki
Jump to navigation Jump to search

要約

関数: vector llGetTextureScale( integer side );

x と y の要素で side のテクスチャの大きさを vector で返します。

• integer side 番号もしくは ALL_SIDES

sideALL_SIDES であれば関数は全ての面に作用します。

仕様

標準のテクスチャ・マッピングモードでは、スケールユニットは面ごとに繰り返します。平面テクスチャマッピングモードでは、スケールユニットは 1/2 メートルごとに繰り返します。これは、平面テクスチャのスケールユニットはメートル毎に繰り返す、インワールドの編集ツールと対照的です。

警告

  • side が存在しない面を指している場合、関数はエラーを出さずに復帰します。
  • ALL_SIDES は、平均値や、他の関数が返すような全ての面を返すのではなく、 *最初の* 面の寸法を返すように見えます。これは side=0 で呼び出されたときとよく似た動きをします。

サンプル

//Script by Basil Wijaya, 2009 August 08
//面 0 のテクスチャの大きさを設定します。
//オブジェクトの編集ウィンドウ>テクスチャ タブ>面ごとに繰り返す:水平 U 垂直 V に対応しています

float U_repeats = 1.0;
float V_repeats = 1.0;
integer face = 0;

default
{
    state_entry()
    {
        llScaleTexture( U_repeats, V_repeats, ALL_SIDES);  
    }
    
    touch_start(integer num)
    {
        U_repeats = U_repeats + .2;
        V_repeats = V_repeats + .5;
        
        //面のテクスチャの大きさを設定する
        llScaleTexture( U_repeats , V_repeats, face);
        llOwnerSay("Scale has been set to " + (string)U_repeats +  " and " +  (string)V_repeats);

        //面のテクスチャの大きさを取得する
        vector scale_vector = llGetTextureScale(face); 
        llOwnerSay("llGetTextureScale(0) gives a vector :  " +  (string)scale_vector); 
        //ベクトルの最初の 2 個の値が先に設定した U_repeats と V_repeats の値を含んでいることに気づくでしょう

        //オブジェクトの編集ウィンドウ>テクスチャ タブには変更後の U と V の値が表示されますが、面 0 だけです
        //他の面も変更したつもりですが編集ウィンドウには反映されません
    }
}

関連項目

関数

•  llScaleTexture

特記事項

Search JIRA for related Issues

Signature

function vector llGetTextureScale( integer side );
この翻訳は 原文 と比べて古いですか?間違いがありますか?読みにくいですか?みんなで 修正 していきましょう! (手順はこちら)
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。