Saqoosha

  1. About
  2. Archives
  3. Search
  4. Say
Language:

Cut Out the Darkness

Cut Out the Darkness

2013 年最後のおしごと “Cut Out the Darkness”。Panasonic が “ソーラーランタン 10 万台プロジェクト” ってのをやっていて、それをプロモーションするコンテンツ。

世界にはまだ 13 億人 (世界人口の 1/5) もの人が電気がない暮らしをしてるんだって。電気があることが普通すぎて無い暮らしっていうのが想像つかないけど、無いことが普通のひとがまだそんなにいるらしい。Panasonic はそういった地域に、太陽光で発電・蓄電してつかえるソーラーランタン(しかも USB バッテリーにもなる)ってのを開発した。そのソーラーランタンを 2018 年までに 10 万台送るってのが “ソーラーランタン 10 万台プロジェクト”。んで、“Cut Out the Darkness” はそのソーラーランタンにかぶせて使うランタンシェードを Web サイト上でデザインしてもらって、投稿してもらって、投票してもらって、人気上位 100 個のデザインを実際に製造して、ソーラーランタンと一緒に届けようっていうプロジェクト。

さわれる検索のときもいろいろひっかかったように、これもまだちょっとひっかかるとこはある。シェードつくるのもけっこうお金かかるし、そのぶんでもっとたくさんソーラーランタン送れるんじゃないか?とか、かぶせたら暗くなっちゃうしほんとにつかってくれんの?はずされちゃうんじゃ?とか、とか。まーでも、自分自身がそうだったようにこういうキャッチー?なプロジェクトがないと、そもそも誰にも知られないから、そういう意味での存在価値はあるんじゃないかなたぶんたぶん。

Web サイト上でいかに綺麗にシェードを見せるかっていうところをがんばったので、てきとーにデザインしてもそれなりに素敵にみえるようにがんばったので、今年は冬休み長いっぽいので、小学生のときに紙を折りたたんで切ってひろげてわーってやってたのを思い出したりしながら、やってみてくだしあ。

・・・

以下、テクニカルな裏側のおはなしつらつら。

Cut out エディットしつつ 3D プレビューを素敵にっていうところで、Flash (Stage3D) に。WebGL はまだ早い。Stage3D つってもそのまま使うのは現実的じゃないので、いくつかフレームワークを調べた。絵的に Render to Texture してシェーダーで post effect いろいろかなーというところで物色。Away3D は render to texture するまともな方法がない、シェーダーは AGAL かかないといけないめんどくさい、ので NG。Minko3D は render to texture はできる、シェーダーも AS3 (!) で書きやすいようにみえた、んだけど、AS3 で無理やりやろうとしすぎて複雑、あと、まだ若い、ってので NG。んで、結局 Flare3D になった。商用は 12ヶ月の subscription で $496 するし、オープンソースでもないんだけど、render to texture できる、シェーダーは FLSL っていう独自言語だけど、わりと素直な文法なので書きやすい、てとこが決め手。オープンソースじゃない & Stage3D はじめてっていうところでいろいろ謎につまづいたですが、サンプルもそれなりに豊富なのでまーなんとか。

床面・壁面の映り込みはフラグメントシェーダーで、対象ピクセルと光源位置から cut out をてきとうにぼかしたテクスチャをサンプリング。FLSL に if 文と atan2 がない(というか AGAL にない)のにちょっと苦労した。。画面全体の post effect は、光があふれだす感じを表現するのに HDR でやりたかったんだけど、Stage3D では floating point texture つかえないのでなんとなくそれっぽく。ブルームを WWM のときにもやった川瀬式 MGF で実装したんだけど、FLSL はマルチパス必要な post effect でも 1 のシェーダーファイルに書けちゃうのがおもしろい。らくちん。最後に色収差エフェクトも。

Stage3D は、んー、機能を絞ることで対応環境を幅広くしてるっていうことなんだろうけど、ちょっと作りづらいなー、フレームワークでうまく対応できてる範囲内ならそうでもないんだろうけど、ちょっとはみだしたことしようとするとすげえ苦労しそうな印象。あと、HTML をオーバーレイできる環境がわりと限られてるので HTML ページ内に組み込むのがデザイナー泣かせな部分ちょっとある。まー、ゲームでフルスクリーンでってのが主な使い道ですし?

ってなとこかなー。久しぶりに Flash ネタかいた気がするw

Minecraft Skin Viewer

Minecraft わたしもやってるです。最近マルチ鯖にさそってもらったのですが、デフォルトスキンが恥ずかしくて地下生活をつづけております。いいかげんちゃんとスキン描こうと思ったのですけれどもどのエディターたちもしっくりこないので自分で作りました。なまえが Viewer [email protected] がまえーにデモってたような?外部エディタの変更をほぼリアルタイムに反映させるようなビュアーだから。PSD も読めるようにしてあるので(これをちょっと改造)Photoshop で描けます。便利。例によってアプリ本体(AIR 製)は Gumroad で。ソースは Github に。ちょうど Away3D 4 の beta 出たので無駄に Stage3D 仕様になっております。ぐりぐり。

ぼくこんなんなりました。これで地上にでれるーw。

GUI frontend for SimpleHTTPServer

Chrome は file:// の URL だとセキュリティ的なアレでめんどくさいし、MAMP は document root 変更するのめんどくさいし、Python の SimpleHTTPServer は手軽なんだけどコンソール開くのめんどくさい、ので、AIR で GUI つくりました。フォルダをドロップするとそこを document root にして SimpleHTTPServer うごかしてくれる的な。Windows の Python 環境よくわからないので Mac 用だけ。んで、流行にのっとって、Gumroad で売ってみるてすとソースコードは Github に。こっちはフリー。

FBX Parser for AS3

あるやろーとおもって探したのになかったので作りました。Object ツリーにするだけですけれど。FBX って JSON っぽいなーてことで as3corelib の JSONDecoder をベースに。

Flash だけで音声合成してみるテスト

音声認識できたんなら音声合成もできるじゃろーつうことで、オープンソースの日本語音声合成エンジンの Open JTalk ていうのを Alchemy つかって Flash に移植してみました。音声合成のコアである hts_engine (+Flite) を移植したやつは発見したけど日本語ダメだったのでやってみましたえ。まあ、やっぱり遅いけど、ちゃんと動いてる、けど、日本語対応のために内部でつかわれてる MeCab 用の辞書ファイルがでかすぎるのなー。。

OpenJTalk for Flash のテストはこつら

  1. ロード待つ。(辞書ファイルが 60MB ぐらいある)
  2. テキストエリアに入力する。
  3. パラメータの意味はあましよくわかてないけれども、"FRAME PERIOD" はしゃべるスピード(でかい=ゆっくり)、"ALL-PASS CONST" 声質?、"SPECTRUM WEIGHT" 音量が変わってるようにしか?、"LOG F0 WEIGHT" イントネーション?、"LOW-PASS FILT WEIGHT" 変化なし?
  4. "SYNTHESIS" クリックして待つ。
  5. ベースの音声ファイル?は MMDAgent に含まれる Mei (normal) を使ってます。
  6. ソース一式こちら

副産物で MeCab が Flash オンリーで使えるようになった、辞書ファイルでかすぎるから実用むずいけど。