立方体に写真を貼り付けるツールを作りました
管理人の青木ガンバロです。
今回は、を紹介いたします。
2次元の写真画像を3次元の立体画像の表面に貼り付ける技術はテクスチャマッピングと呼ばれ、映像関連の分野で既に広く使われています。
民間では、デジタルカメラが登場して以来、写真をSNSなどに添付して発信することにより、人びとの間で共有して楽しむという文化が定着してきており、立体画像を見かける場面も多くなってきました。
立体画像は、ゲームのキャラクタを見れば分かるように、その表面にいろいろな絵柄が貼り付けられています。
そういう巷でよく見かける立体画像は、高度で複雑な計算が見えないところで行われており、ハード、ソフト両面の専門的な技術があるからこそ実現しているのです。
そのため、一般の人びとがデジタル写真を立体画像にしようとする場合は、専門的なソフトツールを使っていわゆる画像処理を行うことにより実現するのが普通です。
ところが問題は、その専門的なソフトツールを使うこと自体が簡単なことではないということです。うまく運ばないと取りかかっても挫折するはめになったりします。
今回紹介するツールは、専門的なライブラリは使用せずに、必要十分である簡素な画像処理だけを実装することによって高速なテクスチャマッピング処理を実現しています。
しかし、画像処理に直接関係しない画像ファイル生成には既存のライブラリを使っています。
この結果、より簡単にデジタル写真を立体画像に貼り付けることができると思います。
今回は、貼り付ける対象の立体画像に立方体を選びました。
立方体は、ご存じのように、5種類しかない正多面体の一つの正6面体であり、サイコロなど最も馴染みのある正多面体です。
正6面体の頂点の一つと反対側の頂点を北極南極に見立てると、地球を立方体に変形したようになるので、その形であらかじめ地球画像を貼り付けた立体画像をデフォルト画像にしています。
この立方体画像にデフォルトの地球画像の代わりに任意のデジタル画像に置き換えることによって貼り付けを行います。
立方体全面に貼り付けることを全面貼り付けと呼んでおり、貼り付けるデジタル画像をドラッグ(タッチ)&ドロップするか画像ファイル選択をすれば一瞬で全面貼り付けが終了します。
また、立方体の表面は6個の正方形ですので、それぞれの正方形に別々の計6個のデジタル画像を貼り付けることもでき、これを一面貼り付けと呼んでいます。
この一面貼り付けも、貼り付けるデジタル画像をドラッグ(タッチ)&ドロップするか画像ファイル選択をすれば一瞬で一面に対する貼り付けが終了します。
貼り付けられた画像をお客さん(以下ユーザー)に取得してもらう機能をどう実装するかには悩みましたが、以下の方針を設定して処理することにしました。
こうして、静止画がPNGファイル、動画はWEBMファイル形式でダウンロードして頂くことにしています。
立方体貼り付けツールは完成しましたが、立方体表面は平面ですので、「3次元曲面に写真を貼り付ける」というツールのタイトルには合っていません。
そこで球面貼り付けツールも作ることにしました。
次の記事では、書くことにします。
今回のような貼り付けツールは、どれだけ役立てるかものなのかまるで分かりませんが、「簡単で分かり易い」ものを作るというモットーをこれからも追求していきたいと考えております。