もとちゃ美術館その2

もとちゃ美術館その2

von Yan Lauria -
Anzahl Antworten: 15

SLとJOGにある ”もとちゃ美術館/Motoko Museum of Art History” については、おおむね完成、ということで正式公開としましたが、

https://jog/region/Abyss%20Observatory/450/189/3943

このJOGアビスのもとちゃ美術館の下に、元となった近代博物館(Yanとcometによる)があり、そちらで試行錯誤した結果が、上の”Motoko Museum of Art History”なんだろうと思っていたのですが、それが間違っていました。

https://jog/region/Abyss%20Observatory/371/133/3637

こちらの手の加え方が半端じゃなく、 ”もとちゃ美術史・技術史博物館/Motoko Museum of Art & Technology History” というべきか、上の美術館を上回る画像と説明が付け加えられています。著作権が切れていない最近の画像はWeb on a Prim方式で表示しようともしています。

どうやら、これは上空の「もとちゃ美術館」の単なる作業用ではなく、こちらで試みたものの一部を「もとちゃ美術館」にしたと考えた方がよさそうです。こちらなりに完成させようと手直し中だったことも分かりました。

Summe der Bewertungen:  -
Als Antwort auf Yan Lauria

Re: もとちゃ美術館その2

von Yan Lauria -

せめてフロートテキストの文字化け修正

  changed(integer What) {//地域が再起動された場合
    if (What & CHANGED_REGION_START) {
        llResetScript();
        }
    }

だけでも追加しようと思います。

Als Antwort auf Yan Lauria

Re: もとちゃ美術館その2

von Yan Lauria -

とりあえずシムのリスタートのたびにフロートテキストの日本語が?????になってしまう点のスクリの修正は終わりました。

また、JOG版近代博物館にはなかった「サモトラケのニケ」と「ミロのビーナス」を上空のもとちゃ美術館の方からコピーして置きました。

あとはWeb on a Prim。量が多すぎるからなのか表示されないパネルが多すぎる。もとちゃさんは普通のWeb on a Primではなく、なんか特殊なことをしてた。その時の会話を見つけ出さないと・・・。

Als Antwort auf Yan Lauria

Re: もとちゃ美術館その2

von 知世 (ともよ) -
もしかしてOpenSIM専用の関数でテクスチャーを貼る関数があるので
それでしょうか?
http://opensimulator.org/wiki/OsDrawImage
Webページを貼るのではなくて
httpで画像ファイルを取ってきて貼るイメージです

http://opensimulator.org/wiki/Category:OSSL_Functions/ThreatLevel:None
OpenSIMなら特に設定しなくても使える関数のはずです
Als Antwort auf 知世 (ともよ)

Re: もとちゃ美術館その2

von Yan Lauria -

知世さん、

どうもIMではなく周辺チャットで話したようで、とても探し出せないでいますが、SL内でも使っているので、もしかしたら違うかもしれません。

Web on a Primだと表示させたい内容はすべてWeb上にないといけないのですが、それに説明文を加えることができるスクリプトだった気がします。スクリプトはもらったはずなので、探してみます。

それはそうと、教えていただいた関数は画像表示に便利そうなので、SLではこれも併用しているのかもしれません。どうもありがとうございます。

Als Antwort auf Yan Lauria

Re: もとちゃ美術館その2

von Yan Lauria -

どうやら、各パネルにはスクリが見当たらないので、単なるWeb on a Primで、それがリンク切れが多いのと、そもそも数が多すぎで読み込みきれないのとが重なっているのかも・・・。

そもそも、誰のどの作品を表示してたのかが分からない。結局、現代アートは、Wikipediaで行われている「代表的作品の低解像度画像」方式で上空の美術館での展示方法にしたのかもしれません。

Als Antwort auf Yan Lauria

Re: もとちゃ美術館その2

von 知世 (ともよ) -
PrimMedia なら"面を選択"でメディアの貼られた面を選び
プリムの材質タブでプルダウンメニューの"材質/メディア"でメディアを選び
(普通は"材質▼"のようになってるのを"メディア"を選び"メディア▼"にします)
出てきた"選択..."ボタンを押すとページのURLが見えるはずです
(FSの場合です)

ってこういうことではなく?
何が貼られていたかわからないのはどういうことでしょう?
URLはわかるが参照先のページがもはやなくURLだけでは何を指していたか推測できない
という意味でしたら済みません見当違いのコメントでした
Als Antwort auf 知世 (ともよ)

Re: もとちゃ美術館その2

von Yan Lauria -

知世様

すみません、パネルの上に浮かび上がるウェブについてのバーにURLが表示されるし、参照先ページが存在しない場合は、家マークを押せば、パネル面に「ページが存在しない」等のメッセージが出るのですが、家マークを押してもなんか変なのがあります。何が変なのか、いろいろなので、もうちょっと時間をかけて整理して報告するようにします。

Shared Mediaの自動読み込みのチェックを外しておいて、ひとつひとつ確認しようとしているのですが、とにかく数が多すぎるせいなのか、見えたり見えなかったりで、よく分からないです。

 

Als Antwort auf Yan Lauria

Re: もとちゃ美術館その2

von teddy Dragoone -
昨日いただいたパーティクル表示するスクリプトでは、オブジェクト内にあるテクスチャを表示するものになっていましたが、博物館内にある表示装置の中には下記のようにUUIDを指定しているものもありました。

>PSYS_SRC_TEXTURE, (key)"b0edc2ef-86b4-472f-b531-39a3167157c1",

別スレッドにある話のようにassetサーバに残り続ける仕様であればテクスチャ画像が直接存在しなくても表示は可能ということですね。

なのでぼくがSL内の表示装置の中身にテクスチャ画像が見つけられなかった理由もわかりました。

画像は博物館の表示装置内で指定されていたものを、自分のシムでUUID指定して貼り付けたもの(ぷりむ)
Anhang sample.jpg
Als Antwort auf teddy Dragoone

Re: もとちゃ美術館その2

von Yan Lauria -

どうもよくわからないのですが、私がパーティクル式画像表示機のスクリをすべて修正した際には、いずれも画像データが入っていたと思ったのですが・・・・(リンク部分の修正で見える)。

もう一度確認してみます。

 

Als Antwort auf Yan Lauria

Re: もとちゃ美術館その2

von Yan Lauria -

謎のスクリプトは、作品情報を表示するためのものでした。

【スクリプト】

 

// :CATEGORY:Viewer 2

// :NAME:SVG_Scalable_Vector_Graphics_in_Sha

// :AUTHOR:Pavcules Superior

// :CREATED:2010-09-02 12:04:07.130

// :EDITED:2013-09-18 15:39:05

// :ID:853

// :NUM:1183

// :REV:1.0

// :WORLD:Second Life

// :DESCRIPTION:Example website: http://tutorials.jenkov.com/svg/index.html// // The demo script below, adapted from the Notecard on a Prim script, reads a notecard with SVG elements and puts it in the URL.  This is limited to 1024 characters.  Remember to create a notecard inside the prim for this to work.// // Unfortunately, SVG is more trickier to handle when trying to embed it into a web page via the same prim. Using the other techniques like Ajax to increase the size is running into problems.  To embed SVG into a page requires the use of the Object / Embed tags.  It has no problems linking to an external website with the SVG file.  But trying to reference a prim via HTTP-In to get the SVG code, is not working at all.  The only way around that I can see would be to have IFrames and embed the "Data:image/svg+xml" Mime type encoding of the SVG in the Iframe source path.

    // :CODE:

    // SVG on a Prim

    // Developed by: Pavcules Superior

    // Developed on: March 2010

 

    string g_strNotecardName;

string g_strNotecardText;

integer g_intNotecardLine = 0;

key g_keyNotecardQueryID;

key g_keyURLRequestID;

 

// Start reading the notecard text.

ReadNotecardText()

{

    llOwnerSay("Reading Notecard...please wait.");

    g_intNotecardLine = 0;

    g_strNotecardText = "";

    g_strNotecardName = llGetInventoryName(INVENTORY_NOTECARD, 0);

    g_keyNotecardQueryID = llGetNotecardLine(g_strNotecardName, g_intNotecardLine);

    // Change the URL

    llSetPrimMediaParams(0,[ PRIM_MEDIA_CURRENT_URL, "data:text/plain,Loading Page...Please Wait..."  + (string)llGetUnixTime()]);

}

 

default

{

    state_entry()

    {

        ReadNotecardText();

        g_keyURLRequestID = llRequestURL();

    }

    changed(integer change)

    {

        // If the inventory is updated, read the notecard data again.

        if(change & CHANGED_INVENTORY)

        {

            ReadNotecardText();

        }

    }

    dataserver(key query_id, string data)

    {

        if (query_id == g_keyNotecardQueryID)

        {

            if (data != EOF)

            {

                // Store the text.

                g_strNotecardText += data;

                // Read next notecard line.

                ++g_intNotecardLine;

                g_keyNotecardQueryID = llGetNotecardLine(g_strNotecardName, g_intNotecardLine);

            }

            else

            {

                // We have reached the end of the notecard.

                llOwnerSay("Size: " + (string)llStringLength(g_strNotecardText));

                llOwnerSay("Rendering Media image...please wait.");

                // Refresh the URL again by setting a random URL parameter value.

                llSetPrimMediaParams(0,

                    [PRIM_MEDIA_AUTO_PLAY,TRUE,

                    PRIM_MEDIA_CURRENT_URL,"data:image/svg+xml," + g_strNotecardText,

                    PRIM_MEDIA_HEIGHT_PIXELS,1024,

                    PRIM_MEDIA_WIDTH_PIXELS,1024]);

            }

        }

    }

}

【データ】

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" >

<text x="100" y="300" style="fill: #000000;font-family:Arial;font-weight:bold;font-size: 75px;">

George Maciunas </text>

<text x="100" y="380" style="fill: #000000;font-family:Arial;font-weight:bold;font-size: 75px;">

ジョージ・マチューナス </text>

<text x="100" y="500" style="fill: #000000;font-family:Arial;font-size: 75px;" >

 "Flux Year Box 2"</text>

<text x="120" y="600" style="fill: #000000;font-family:Arial;font-size: 60px;" >

 1967</text>

<text x="400" y="750" style="fill: #000000;font-family:Arial;font-size: 65px;" >

 WikiArt</text>

<text x="400" y="780" style="fill: #000000;font-family:Arial;font-size: 25px;" >

http://www.wikiart.org/</text>

</svg>

 

Als Antwort auf Yan Lauria

Re: もとちゃ美術館その2

von Yan Lauria -

上のスクリの  state_entry() と changed(integer change) の順番を逆にすると、ちゃんとタイトルが表示されるようになりました。

このスクリは、ある面を Shared Media機能(URLは http://www.w3.org/2000/svg )にして、データの内容を表示します。フロートテキストと違って、固定した位置に表示されるのと、フォントと文字サイズが選べること、また壁の裏側に表示されてしまう欠点もないので、確かにいい方法です。

これまでタッチしてあと、ちゃんと表示させようとホームボタンを押してたのですが、すると データの内容ではなく、http://www.w3.org/2000/svg というウェブサイト画面が表示されてしまうので、それでこれまでわけが分からなかったわけ。

Als Antwort auf Yan Lauria

Re: もとちゃ美術館その2

von Yan Lauria -

これで、もとちゃさんがいったい何を表示しようとしていたかが、タイトルで判明。で、その画像を表示するにあたって、もとちゃさんは、公開されているウェブページをShared Media表示し、倍率と位置ずらしで表示させたい画像のみ表示しようとしていたらしい。うちウィキペディアに載ってる画像であれば、すべて著作権について解決済みと看做して、その画像を貼ってしまってもいいようにも思える。あるいは、知世さんの関数を使うのがいいかもしれない。でないと、ウィキは誰かが編集する都度、画像の位置が変わってしまう。

Als Antwort auf 知世 (ともよ)

Re: もとちゃ美術館その2

von Yan Lauria -

知世さま

osDrawImageの使い方が分かりました。タッチでオン・オフします。ウェブバーが出てこないので、別の方法で出典表示する必要があります。

一方、普通の共有メディアだと、なぜか不思議ですが、jpg等のURLを貼った場合、jp等の画像のみ表示される場合と、jpg等が貼られていたウェブページが表示されてしまう場合があり、つまり画像のみを表示できないようにする対策が取られているのかもしれません。

// ----------------------------------------------------------------
// Example / Sample Script to show function use.
//
// Script Title:    osDrawImage.lsl
// Script Author:
// Threat Level:    None
// Script Source:   REFERENCE http://opensimulator.org/wiki/osDrawImage
//
// Notes: See Script Source reference for more detailed information
// This sample is full opensource and available to use as you see fit and desire.
// Threat Levels only apply to OSSL & AA Functions
// See http://opensimulator.org/wiki/Threat_level
//================================================================
// Inworld Script Line:  osDrawImage( string drawList, integer width, integer height, string imageUrl);
//
// Example of osDrawImage
integer Touched = FALSE;
default
{
    state_entry()
    {
        llSay(0,"Touch to see osDrawImage place an image on a prim from a Web Source");
    }
    touch_end(integer num)
    {
        if(Touched)
        {
            Touched = FALSE;
            llSetTexture(TEXTURE_PLYWOOD, ALL_SIDES);
        }
        else
        {
            Touched = TRUE;
            string DrawList = "";
            string ImageURL = "http://uploads0.wikiart.org/images/jean-michel-basquiat/ironew-york-of-the-negro-policeman.jpg!HalfHD.jpg";
            DrawList = osMovePen( DrawList, 0, 0 );                // Upper left corner at <0,0>
            DrawList = osDrawImage( DrawList, 1024, 1024, ImageURL ); // キャンバスの一部に描きたい時はキャンバスのサイズ内のピクセル数とすればよいが、フル表示したいならパネルのサイズと同じにすればいい
            // Draw the image
            osSetDynamicTextureData( "", "vector", DrawList, "width:1024,height:1024", 0 ); //なぜか、パネルのサイズは256, 512, 1024のいずれかしか選べない。途中の数字だと灰色表示になる。
        }
    }
}