2015年10月29日木曜日

セカンドライフ公式ビュアー バージョン 3.8.6 が公開されました

セカンドライフ公式ビュアー バージョン 3.8.6 (305981) が公開されました。

セカンドライフ公式サイトのダウンロードページからダウンロード出来ます。

Downloads | Second Life


今回のバージョンでは、Notifications ビュアーの内容が公式ビュアーに取り込まれました。

セカンドライフビュアーでは、ビュアー内の通知は、画面右上にポップアップの形で通知されます。
  • システムからのお知らせ
  • フレンドのログイン/ログアウト
  • 支払いを行なった時
  • グループの招待が届いた時
  • グループ通知が来た時
などの際にそのような通知が行われるのですが、通知の数が増えてくると全ての通知が一つの一覧に表示されてしまい、どの通知が大事なものなのか分かりにくくなってしまうという欠点がありました。

今までの通知の一覧表示
一覧から通知を確認すると、通知の内容が再度ポップアップで表示されます。
その機能が今回のバージョンでは改善されて、
  • システムからのお知らせ
  • 支払いを行なった際の通知
  • グループ招待
  • グループ通知
というカテゴリ毎に表示されるようになりました。

新しい通知の一覧表示機能
グループの招待は、「Invitations」タブにまとめられます。
新しい通知の一覧機能では、一覧の中で通知の内容を確認したり、グループへの参加や拒否も選択出来ます。
これにより、他の通知を消しているつもりでうっかり大事な通知も消してしまう…ということが少なくなると思いますので、より安心して利用出来るようになると思います^^


通知機能の改善の詳細については以前ご紹介していますので、そちらもご覧下さい。

天使になりたくて: ビュアーの通知機能を改善する「Notifications Project Viewer」が公開されました
このエントリーをはてなブックマークに追加

2015年10月15日木曜日

セカンドライフ公式ビュアー バージョン 3.8.5 が公開されました

セカンドライフ公式ビュアー バージョン 3.8.5 (305531) が公開されました。

セカンドライフ公式サイトのダウンロードページからダウンロード出来ます。

Downloads | Second Life

今回のバージョンでは、メンテナンスビュアーの内容が公式ビュアーに取り込まれました。

今回は、96 項目の改善が行なわれています。

Release Notes/Second Life Release/3.8.5.305531 - Second Life Wiki

こちらに該当する不具合でお困りの方は、バージョンアップされることをお勧めします。
このエントリーをはてなブックマークに追加

2015年10月11日日曜日

セカンドライフビュアー内蔵の HTML レンダリングエンジンを、WebKit から CEF に変更する「Valhalla」プロジェクト

セカンドライフビュアーの「内蔵 Web ブラウザ」や「HTML on Prim(共有メディア)」では、HTML のレンダリングエンジンに「WebKit」が使用されています。

WebKit は、Web ブラウザの中で HTML のページを表示してくれる機能のことです。

The WebKit Open Source Project

WebKit は Apple が開発をした HTML のレンダリングエンジンで、Mac や iOS の標準ブラウザである「Safari」で使用されています。

WebKit を使うと、他のアプリケーションでも Safari と同等の Web の表示機能を搭載することが出来ます。

セカンドライフビュアーでは、Qt の QtWebKit を介して WebKit の機能を利用しています。

Qt - Home

LLQtWebKit - Second Life Wiki

「内蔵 Web ブラウザ」や「HTML on Prim(共有メディア)」に Web のサイトが表示されるのは、WebKit のおかげです。

また、「内蔵 Web ブラウザ」や「HTML on Prim(共有メディア)」での表示はビュアーに内蔵されている WebKit で行われていますので、パソコンにインストールされている他の Web ブラウザの影響は受けません。
どんな環境でも、セカンドライフビュアーのみで Web のサイトが表示出来るような仕組みになっています。


現在のセカンドライフビュアー バージョン 3.x では、Qt4 の QtWebKit が使用されています。
このため、HTML5 には対応していません。
また、Mac では Flash Player の描画に問題があります。

セカンドライフで動画を見る方法

Mac 版セカンドライフビュアーで Flash のコンテンツが見れない原因

これらの問題は Qt5 にアップグレードすることで解決出来るようなのですが…、


リンデンラボは、セカンドライフビュアー内蔵の HTML レンダリングエンジンを、Chromium Embedded Framework (CEF) に変更することにしました。

chromiumembedded / cef - Bitbucket

CEF は、Google が Chrome 用に開発した HTML レンダリングエンジンです。
CEF も、他のアプリケーションに組み込んで利用することが出来ます。

そして、セカンドライフビュアーにこの CEF を組み込んだプロジェクトビュアー「Second Life Project Valhalla Viewer」が、先日公開されました。

Linden Lab Official:Alternate Viewers - Second Life Wiki


Valhalla Viewer では、「内蔵 Web ブラウザ」や「HTML on Prim(共有メディア)」の表示の部分が CEF に変わっています。

CEF になって変わった点は、下記の通りです。
  • HTML のレンダリングエンジンが Chrome で使用されているものになった(見た目も挙動も Chrome と同じになった)
  • HTML5 対応
  • CSS3 対応
  • WebGL 対応
HTML5/CSS3 対応になりましたので、バージョン 3.x のビュアーで正常に表示されない HTML 5 向けのサイトも、正しく表示されるようになっています。
もちろん、従来のサイトも問題ありません。

ヘルプからブログのページを表示してみたところ。
ここも CEF で表示されています。
CEF は最新の Chrome と同じレンダリングエンジンですので、描画の性能も改善されています。


Mac で YouTube などの動画が再生されない不具合も、HTML5 対応のおかげで改善されています。

Mac で YouTube の動画を表示してみたところ。
動画の部分は HTML5 で表示されています。
再生や停止などの操作も問題無く出来ています^^
Mac でインワールドにて動画を楽しみたい方は、ぜひ試してみてください。


また、Web ブラウザの中で 3D を表示する標準技術「WebGL」にも対応していますので、インワールドで Web の 3D コンテンツを楽しむといったことまで出来るようになりました。

WebGL - OpenGL ES 2.0 for the Web

こんなリアルな 3D モデルのコンテンツも、セカンドライフビュアーの CEF 上で動きます。
HelloRacer WebGL

WebGL Water

インワールドでも WebGL コンテンツを表示/操作出来ます。
3D モデルの投稿サイト「Sketchfab」の 3D モデルも確認出来ます
Sketchfab - The place to be for 3D

セカンドライフの 3D の世界と Web の 3D のコンテンツが同時に動く世界が手に入るようになりますので、今まで以上に表現の幅が広がるかもしれません^^

もちろん、WebGL のコンテンツだけを動かす場合と比べると、セカンドライフビュアーが動いている分重いですので、あくまでも“同時に見れる”という範囲になるかもしれませんけれど…


現在のところは QuickTime や Flash のコンテンツも CEF 上で動作していますが、正式リリースまでにはプラグインの機能はサポートされなくなります
インワールドからの閲覧を前提としたコンテンツで、QuickTime や Flash に依存しているコンテンツを作られている方は、HTML5 への移行を行われる必要があります。


Valhalla Viewer はまだ開発途中の技術披露の段階のものですので、致命的な不具合が残っていることがあります。

わたしの方で確認した不具合は、下記の通りです。
  • 検索が出来ない
  • 行き先ガイドの表示が壊れている
  • プロフィールなどの表示がログインした状態になっていない
  • CEF の部分に日本語入力が出来ない(コピー&ペーストは可能)
この辺は順次改善されていくと思いますが、この辺が使えないとダメ!という方は、もうしばらく待たれた方がいいと思います。


Valhalla Viewer のバージョンは、4.0.0 になっています。
セカンドライフビュアーのバージョン 3 はもうすぐ終わりで、いよいよバージョン 4 の時代に入るみたいです^^


ちなみに、セカンドライフビュアーの HTML レンダリングエンジンの変遷は下記の通りです。

ビュアーのバージョンHTML レンダリングエンジンレンダリングエンジンを使用している Web ブラウザ(参考)
1.xGeckoFirefox
2.xWebKitSafari
3.xWebKitSafari
4.xChromium Embedded Framework (CEF)Chrome

ユーザーが意識して使えるようになったのは「内蔵 Web ブラウザ」や「HTML on Prim(共有メディア)」がサポートされたバージョン 2 からですが、実はバージョン 1 の頃も、ヘルプメニューで表示される Web ページの描画に「Gecko」というレンダリングエンジンが使用されていました。

Gecko は、Firefox で利用されているレンダリングエンジンです。

Gecko - Mozilla | MDN

セカンドライフビュアーの HTML レンダリングエンジンが変わるのは、今回で二回目になります。
このエントリーをはてなブックマークに追加

2015年10月9日金曜日

LSL に新機能「llGetAttachedList」「llGetObjectDetails(OBJECT_CLICK_ACTION)」が追加されました

LSL(Linden Script Language)に、下記の二つの新機能が追加されました。
  • llGetAttachedList 関数
  • llGetObjectDetails 関数に OBJECT_CLICK_ACTION 定数

llGetAttachedList()

llGetAttachedList では、アバターに装着されているオブジェクトの情報を取得出来ます。

LlGetAttachedList - Second Life Wiki

取得出来るのは、装着しているオブジェクトの key(UUID) の一覧です。

頭/手/足/腰など、アバター自身に装着されているオブジェクトの情報が取得出来ます。
HUD に装着されているオブジェクトの情報は、取得することは出来ません。

llGetAttachedList で取得出来る情報は、オブジェクトの key(UUID)のみですが、そこから llGetObjectDetails を介してオブジェクトの名称などを取得することも出来ます。

わたしが装着しているオブジェクトの名称を表示してみたところ

llGetAttachedList では自分のアバターだけでは無く、任意のアバターを指定して、そのアバターが装着しているオブジェクトの情報を取得することが出来ます。

この機能を使うことで、
  • イベントやゲームなどでのアイテムの装着確認
  • メモリー使用量の多いアイテムやレーティング上の装備品制限、セキュリティー対策といった目的でのアイテムの装着確認(身体検査)
  • 装着しているメッシュオブジェクトの情報も取得出来ますので、気になる他の人のメッシュ装着物の情報の確認
といったことが可能になります。

インワールドのゲームで、アイテムを装着していないとドアが開かなくて進行出来ないといった仕掛けを作ることが出来るようになります。

(今までもオブジェクト同士で不可視チャンネルでの Say を行なうことで疑似的には可能でしたが、今度は直接装着の確認が出来るようになります)

また、負荷が高いオブジェクトを装着している場合に、これまでは

「メモリーを○○KBまで減らしてください」

というアナウンスしかスクリプト側からは出来ませんでしたが、

「○×というアイテムは負荷が高いので外してください」

と、より具体的なアナウンスを出すといったことも出来るようになります。

地味な機能ですけれど、応用範囲は広い機能かもしれません。


個人的には LSL でここまで出来るなら、公式ビュアーでアバターを右クリックした際のメニューに、「アバターの装着物一覧」を表示出来る項目を追加して欲しいですね。

プリム製のオブジェクトであれば、装着物を右クリックしてそのオブジェクトの詳細を見ることはこれまでも出来ましたけれど、メッシュ製になってからはそれが出来なくなってしまいましたので…。

LSL だけではその辺を簡単に確認出来るようにするのは難しいですので、そこはぜひビュアー側でも対応して欲しいなーっと思いました^^

llGetObjectDetails(OBJECT_CLICK_ACTION)

llGetObjectDetails() に OBJECT_CLICK_ACTION 定数が追加されました。

LlGetObjectDetails - Second Life Wiki

LlGetObjectDetails のフラグに OBJECT_CLICK_ACTION を指定すると、オブジェクトに設定されたクリックアクションの状態を取得することが出来ます。

取得出来る値は、編集ウインドウまたは llSetClickAction で設定可能な値(数値)です。

編集ウインドウ

編集ウインドウでのクリックアクションの設定

llSetClickAction

LlSetClickAction - Second Life Wiki

使用方法としては、編集可能なオブジェクトに入れたスクリプトから、ユーザーがオブジェクトに対して適切なクリックアクションを設定しているかどうかを確認する場合に使用する感じなのかな?と思いました。

その際、結果に応じて、「適切なクリックアクションを設定してください」というメッセージを表示したり、llSetClickAction で自動的にクリックアクションの設定を変更するということが可能になりますので、よりユーザーフレンドリーな使い勝手を提供出来るようになると思います。

細かいところですけれど、こういう進化も大事なことだと思います^^
このエントリーをはてなブックマークに追加