Difference between revisions of "LlGetTextureScale/ja"

From Second Life Wiki
Jump to navigation Jump to search
m (カテゴリ変更)
 
(2 intermediate revisions by one other user not shown)
Line 5: Line 5:
|func_footnote
|func_footnote
|func_desc
|func_desc
|return_text=xとyの構成で'''side'''のテクスチャの寸法
|return_text=x と y の要素で '''side''' のテクスチャの大きさ
|spec= 標準のテクスチャマッピングの状態では、テクスチャの寸法構成は面ごとに繰り返します。平面的なテクスチャマッピングの状態では、テクスチャの寸法構成は1/2メートル毎に繰り返します。これはインワールドの編集ツールと対照的で、平面的なテクスチャ寸法構成ではメートル毎に繰り返します。
|spec= 標準のテクスチャ・マッピングモードでは、スケールユニットは面ごとに繰り返します。平面テクスチャマッピングモードでは、スケールユニットは 1/2 メートルごとに繰り返します。これは、平面テクスチャのスケールユニットはメートル毎に繰り返す、インワールドの編集ツールと対照的です。
|caveats=* ALL_SIDESは*最初の*面の寸法が返るように見えますが、これは平均値でもなく、また、すべての面を他の関数が返すわけでもありません。sideを0で呼び出された場合、十分に似たような動きをします。
|caveats=* ALL_SIDES は、平均値や、他の関数が返すような全ての面を返すのではなく、 *最初の* 面の寸法を返すように見えます。これは side=0 で呼び出されたときとよく似た動きをします。
|constants
|constants
|examples
|examples=<source lang="lsl2">//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 だけです
        //他の面も変更したつもりですが編集ウィンドウには反映されません
    }
}</source>
|helpers
|helpers
|also_functions={{LSL DefineRow||[[llScaleTexture/ja|llScaleTexture]]}}
|also_functions={{LSL DefineRow||[[llScaleTexture/ja|llScaleTexture]]}}
Line 16: Line 48:
|also_articles
|also_articles
|notes
|notes
|cat1=Texture/ja
|cat1=Texture
|cat2
|cat2
|cat3
|cat3
|cat4
|cat4
}}
}}

Latest revision as of 05:39, 25 February 2016

要約

関数: 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の関連した項目が参考になるかもしれません。