PROTO SONY_SharedBindingNode [ field SFNode transformNode NULL field SFNode scriptNode NULL ] { }このノードは、Community Place以外のVRML2.0ブラウザが無事このノードを無視 出来るよう、何も拡張されないように定義されている。
Community Placeブラウザでは、このノードは特別な扱いを受けている。 このノードのtransformNodeフィールドを指すtransformノードは、クライアント間で 共有できるように作られる。 言い換えると、このフィールドで指されていないノードは共有されない、となる。 TransformNodeフィールドは指される必要が有り、その値は必ずTransformノード でなくてはならない。
scriptNodeフィールドの値がNULLでない場合、その値はScriptノードでなくては ならない。ScriptノードのeventInはリモートから呼ぶことができる。 第1引数にtransformNodeフィールドの中で示されるTransformノードとなる対象を、 第2引数にScriptノード中に現れるEventIn名となるeventIn名を、それぞれ指す ことで、sendApplSpecific()やsendApplSpecificWithDist()といったJavaのAPIを 使うことができる。
これらのAPIの3番目の引数は、ScriptノードのeventInの値になるであろう文字列値 である。eventInはこれらのAPIの使用にあたって値を受ける為にSFString型でなくて はならない。
例として、次のようになる。
PROTO SONY_SharedBindingNode [ field SFNode transformNode NULL field SFNode scriptNode NULL ] { } DEF T1 Transform { ... } DEF S1 Script { eventIn SFString IN1 eventIn SFString IN2 ... } SONY_SharedBindingNode { transformNode USE T1 scriptNode USE S1 }
PROTO Sony_Appearance [ field SFBool backface FALSE exposedField SFString description "" exposedField SFNode material NULL exposedField SFNode texture NULL exposedField SFNode textureTransform NULL ] { Appearance { material IS material texture IS texture textureTransform IS textureTransform } }
例)
WorldInfo{
title "myworld"
info "WorldLocationServer: vsserver.foo.com:6000"
} or
WorldInfo{
title "myworld"
info "WorldLocationServer: 12.23.34.45:6000"
}
アーカイブ自身は、LHAを用いて生成し、VRMLファイルと同じディレクトリに 置くべきである。
例)
WorldInfo { ... info [... "Archive: foo.lzh"] }
WorldInfo { ... info [... "SonyAvatarRoom: TRUE"] }