社長:今日はROFLを球体に貼り付けてみたいですね。
開発:球体にテクスチャを貼るには… ああ、地球をX3DOMで回している人がいますね。まんまHTMLを拝借して画像を貼り付けてみます…
社長、基盤:おおーっ。
開発:題して、球面デスクトップ。
社長:地図を貼り付けて回すとどうなるでしょうね?
開発:オープンストリートマップから頂いてきて、貼ってみます…
開発:昔の世界地図ではこう。
開発:Google Map を貼って星の王子さま的天体。
社長:Google Earth を私の行動半径で貼って見るとこんな感じですね。
基盤:Earthでみると、うちの屋上は不思議な構造というか素材になってるんですね。
社長:しかしこれ、3Dで大きな建物の四方の側面がちゃんと見えるって、どういう撮影方法なんでしょう?
開発:二機を並べて飛ばしてるんでしょうかね。
基盤:さすがに偵察衛星から撮ってるとかでは無いですよね。
社長:わたしの実家とその周辺もきっちり映ってるんです。子供の頃にこういうものを見られたら、世界観が変わったかもしれません。
開発:いまの子どもたちはこういうのを見てるんですねー。
基盤:何十年も昔の画像があったら良かったのにですね。
開発:何万年前とか何億年前のなら逆に気楽に合成できるかもですね。
基盤:松見公園のせんぬきは Earth で見ても異彩を放ってますね。
社長:高崎の観音様もばっちり映ってます。
開発:ああ、それでROFLなんですけど。直接球体に描く方法はまだわからないですが、まずはこういう感じで、普通に二次元画像データを球体に貼り付ければOKだということです。
基盤:極のほうまで描くにはメルカトル風に拡大してやらないといけないですね。
社長:あと、Rolling on the floor なんで、その場の自転だけじゃなくてころげ回らないといけないですね。
基盤:いま検索したら、Unicode に Rofl って割り当てられてるんですね。2016年だそうです。HTMLエンティティ的には 🤣
社長、開発:し、知りませんでした…
社長:どれどれ…
🤣 🤣 🤣 🤣開発:なるほど。さすがメタフォントですね。
社長:拡大するとひとみ的なものがあるのがちょっとガッカリです。
開発:ロードする時に一瞬別の、赤っぽい字体が見えるのはなんなんでしょう?
基盤:フォントはブラウザによらず、OSによらず、同じですね。
開発:font-family を変えてみるとどうでしょうかね…
基盤:変わらないですね。
社長:機械的に斜体にされてるのが面白いですね。
* * *
開発:さて、出発点に戻りまして。球体に絵を描く、という。必要なのはこれだけです。
<script src="/gshell/x3dom-1.8.2-dev/x3dom.js"></script>
<link rel="stylesheet" href="/gshell/x3dom-1.8.2-dev/x3dom.css">
<x3d width="200px" height="200px">
<scene><shape>
<appearance><ImageTexture url="/gshell/WD-WallPaper03.png" /></appearance>
<sphere DEF="obj" radius="3.3" />
</shape></scene>
</x3d>
開発:これで、urlで指定した画像で覆われた、radiusで指定したサイズの球体が作られ、描画される。その球体は、マウスのドラッグで回転させることができ、ホイールで拡大縮小ができる。↓
社長:script と css の明示的なロードは、x3dom が真に標準化したらいらなくなるのでしょうね。
開発:X3DOMは1Mバイト近く、そこそこでかいので、ブラウザにプレインストールされてると良いですね。
社長:でもJavaScriptのソースで1MBって十分小さいですよね。
開発:圧縮すると200KB以下になりますね。
社長:配布元のサーバからダウンロードするとかなり重いですね。こういう標準活動を、Google が GoogleDrive とかでサポートしてあげるといいんじゃないでしょうか。
開発:W3Cのサイトとか、唖然とするほど遅いですよね。
基盤:SkypeのROFLを貼るとどうなるでしょう?
開発:球面全体に引き伸ばして描いちゃうと悲惨なことになるでしょうね…
全員:やはりw
基盤:タコかイカの目みたいですね。
開発:小さめに描いた図を貼り付けてみます… … … 思ったほどは小さくなりません。どういう座標を想定しているのやら…
開発:まあ一応顔全体が半球に収まりました。ついでに球面ディスプレイとも合体させてみました。
社長、基盤:(笑)
社長:表情を変えるROFLはまだちょっと難しいので、3DのXeyesとかやってみると良いかもですね。
-- 2020-1112 SatoxITS