PROTO Sony_BindSharedNode [ 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_BindSharedNode [ field SFNode transformNode NULL field SFNode scriptNode NULL ] { } DEF T1 Transform { ... } DEF S1 Script { eventIn SFString IN1 eventIn SFString IN2 ... } Sony_BindSharedNode { 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 } }
PROTO Sony_WorldInfo [ field MFString archive [] field SFInt32 armLength -1 field SFBool avatarRoom FALSE field SFInt32 backgroundImageType 0 field SFString cpBureau "" field SFString cpBureauWLS "" field SFBool collisionSound TRUE field SFBool collisionDisplay TRUE exposedField SFBool turnButtonAvailable TRUE exposedField SFBool floatButtonAvailable TRUE exposedField SFBool homeButtonAvailable TRUE field SFInt32 soundDeviceRate 22050 field SFInt32 soundDeviceBits 8 ]{}
アーカイブ自身は、LHAを用いて生成し、VRMLファイルと同じディレクトリに 置くべきである。
例)
Sony_WorldInfo { archive ["foo.lzh"] }
例)
Sony_WorldInfo { armLength 5 }
例)
Sony_WorldInfo { avatarRoom TRUE }
Sony_WorldInfo { backgroundImageType 0 }
例)
Sony_WorldInfo { cpBureau "vsserver.foo.com:5000" } or Sony_WorldInfo { cpBureau "12.23.34.45:5000" }
例)
Sony_WorldInfo { cpBureauWLS "vsserver.foo.com:6000" } or Sony_WorldInfo { cpBureauWLS "12.23.34.45:6000" }
例)
Sony_WorldInfo { collisionSound FALSE }
例)
Sony_WorldInfo { collisionDisplay FALSE }
例)
Sony_WorldInfo { turnButtonAvailable FALSE floatButtonAvailable FALSE homeButtonAvailable FALSE }
例)
Sony_WorldInfo { soundDeviceRate 22050 soundDeviceBits 8 }