#author("2024-09-02T05:57:07+00:00","default:iseki","iseki") #author("2024-09-02T05:57:48+00:00","default:iseki","iseki") *** [[osSetDynamicTextureURL>../osSetDynamicTextureURL]] [#y8603f3e] - public string [[osSetDynamicTextureURL>../osSetDynamicTextureURL]](string dynamicID, string contentType, string url, string extraParams, int timer) - 指定したURLの画像データをオブジェクトのテクスチャとする. -- dynamicID: 未使用. 現時点では必ず空文字(String.Empty)とすること. -- contentType: 現時点では ''image'' のみ. -- url: 画像の URL -- extraParams: パラメータ. ''image (LoadImageURLModule)'' では未使用. -- timer: リフレッシュタイム. -- 戻り値: dynamicID が空文字でない場合は空文字が返る.dynamicID が空文字の場合,失敗しても成功してもUUIDの文字列を返す.ただし,これはテクスチャのUUIDと一致しない(バグか?) *** 関数の呼び出しフロー [#kec3e400] - OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs -- UUID AddDynamicTextureURL() --- OpenSim/Region/CoreModules/Scripting/*/*Module.cs (* はモジュール名) ---- contentType に対応したモジュール(RenderPlugins[contentType]) が自動的に呼び出される.現時点では ''image''(''LoadImageURLModule'')にのみ対応. ---- bool RenderPlugins[contentType].AsyncConvertUrl() ---- 現時点では LoadImageURLModuleの この''↑'' 関数は,成功しても失敗しても ''true'' を返す(バグか?). **** OpenSim/Region/CoreModules/Scripting/DynamicTexture/DynamicTextureModule.cs - UUID AddDynamicTextureURL() -- OpenSim/Region/CoreModules/Scripting/*/*Module.cs (* はモジュール名) --- contentType に対応したモジュール(RenderPlugins[contentType]) が自動的に呼び出される.現時点では ''image''(''LoadImageURLModule'')にのみ対応. --- bool RenderPlugins[contentType].AsyncConvertUrl() --- 現時点では LoadImageURLModuleの この''↑'' 関数は,成功しても失敗しても ''true'' を返す(バグか?). *** サンプル [#g21fa543] integer picindex=0; list urlarray = [] ; default { state_entry() { llSay( 0, "osSetDynamicTextureURL Tester"); urlarray += ["http://www.goes.noaa.gov/FULLDISK/GEVS.JPG"]; urlarray += ["http://www.goes.noaa.gov/FULLDISK/MTVS.JPG"]; urlarray += ["http://www.goes.noaa.gov/FULLDISK/GIVS.JPG"]; urlarray += ["http://www.goes.noaa.gov/FULLDISK/GMVS.JPG"]; urlarray += ["http://www.osei.noaa.gov/IOD/OSEIiod.jpg"]; urlarray += ["http://internettrafficreport.com/gifs/tr_map_global.gif"]; } touch_start(integer total_number) { string dynamicID=""; integer refreshRate = 600; string contentType="image"; picindex = (picindex+1) % urlarray.Length; string srcURL = llList2String(urlarray, picindex); // URL osSetDynamicTextureURL(dynamicID, contentType ,srcURL , "", refreshRate ); } } *** Bug [#n6b8b686] - 返す文字列が,テクスチャの UUID になっていない.(仕様か?) - テクスチャ面に回転の設定を行っていると,osSetDynamicTextureURL を呼び出すたびに少しずつ回転角がずれて行く.