AGFさんのプロモーションで代官山T-SITE「GARDEN GALLERY」に5月2~12日の間だけオープンしていた、「ティーハート フルーツティー工場見学」の制作をプロトタイプ さんよりお誘いいただき、アニメーションパートをお手伝いさせていただきました。
小人がフルーツの種からフルーツティーのスティックを作っていく過程を見学するという、とても楽しい内容となっています。
詳しくは下の動画でご覧になれます。
VIDEO
僕は3箇所のモニタに表示されるアニメーションの制作を担当させていただきました。
素敵なイラストはしょうじさやかさん。
モニタ1
モニタ2
モニタ3
こちらに詳しい記事が出ていました。
・サイネージとゾートロープを使ったAGFの紅茶工場アトラクションがすごい : ギズモード・ジャパン
現場で作業中にティーハートのいい香りが漂ってきて以来、ほぼ毎日ティーハートを飲んでいるのでしたw
2013 年 5 月 13 日| 制作 | No Comments
今回はアッキーとマッキーとで九重へ登山に行ってきました。
すでに3月に入っていたので、雪もなくなっているのではぐらいに思っていたのですが・・
登山口時点での予想以上の寒さアンド強風に「引いたー!」と言っている二人
登山開始早々に持ってきてた服を全部着込んでその上からカッパも着ることになりました。
風が強い時はカッパを着ると体感温度が全然違いますね。
いざ登り始めてみると・・・
楽しいなー!
久住分かれの地点に来ると風がすごいことになってきます。
たまによろけるぐらいの強風
久住分かれの避難小屋で昼食休憩
昼食が終わったら久住山に向かったのですが、進行方向から風が吹いていて雪が顔にパチパチ当たって痛かったので、3分ぐらいで避難小屋に引き返しましたw
そこからは、ちょうど避難小屋にいたベテランの方々と星生山を目指すことにしました。
こっちのルートは風があんまり吹きません
山頂なう現場
これは速い
たまらないバランス
旅人
一瞬だけガスが引いて、辺りに絶景が広がりました
コーヒータイム中。マッキーが持ってきてた湯気でふやかして食べるお菓子。美味しかった
九重は最高でした。コースもまだいろいろあるし、他の季節にも来てみたいものです。
2013 年 3 月 4 日| 日常 | No Comments
今回はANEを試してみました。
ANEとは、AIRからデバイスのネイティブコードと連携できる仕組みのことで、今回のテストではAIRから複雑な計算処理だけをネイティブコードに任せて、AIRを爆速で動かしてみます。
今回のテスト内容は↓この記事をかなり参考にさせていただきました。ありがとうございます。
・Air Native Extension(ANE) 実行速度実験2 + 画像処理 » Every day is Carnival
テスト内容は、
(1) 動画を毎フレームごとに
(2) 1200×800px のBitmapDataにdrawして
(3) 緑色以外の部分だけグレースケールに変換する
というものです。
(3) の部分だけをネイティブコードにお任せします。
元の動画はこちら を使いました。
ネイティブコード(C++)で計算してみた動画です。環境はWindows7です。
FPSは 30 出ています。
これ以上BitmapDataのサイズが大きくなると、フレームレートが落ちてくるのですが、2010年に買ったノートPC(Core i7)なので、最新のデスクトップPCだともう少し大きなBitmapDataも処理できるはずです。
C++での画像変換処理のコードはこんな感じです。(参考blog記事 に少し手を加えただけです。)
FREObject grayScale(
FREContext ctx,
void* funcData,
uint32_t argc,
FREObject argv[]
) {
FREByteArray ba;
int32_t w, h;
FREAcquireByteArray(argv[0], &ba);
FREGetObjectAsInt32(argv[1], &w);
FREGetObjectAsInt32(argv[2], &h);
uint32_t *p, *data = (uint32_t*)(ba.bytes);
int r, g, b;
p = data;
for(int y = 0; y < h; ++y) {
for(int x = 0; x < w; ++x) {
r = *p >> 8 & 0xff;
g = *p >> 16 & 0xff;
b = *p >> 24 & 0xff;
if(r>g || b>g){
r = g = b = (r+g+b)/3;
}
*p = b << 24 | g << 16 | r << 8 | 0xff;
p++;
}
}
FREReleaseByteArray(argv[0]);
return FREObject();
}
そして、比較用にAS3だけで同じ画像変換処理を行ったものはこちらです。
FPSは 2 しか出ていません。
AS3には暴力的な計算処理みたいです。
AS3での画像変換処理のコードはこんな感じです。
private function grayScale(bmpData:BitmapData):void{
bmpData.lock();
var color:uint;
var r:uint;
var b:uint;
var g:uint;
for(var i:int = 0; i < bmpData.height; i++){
for(var j:int = 0; j < bmpData.width; j++){
color = bmpData.getPixel(j, i);
r = color & 0xFF;
g = (color>>8) & 0xFF;
b = (color >> 16) & 0xFF;
if(r>g || b>g){
r = g = b = (r+g+b)/3;
}
bmpData.setPixel(j,i, (b<<16)|(g<<8)|r);
}
}
bmpData.unlock();
}
ネイティブコードの方がかなり早いことが実感できました!
次は、openFreamworksのライブラリ等とも連携してみたいなー!
2012 年 11 月 30 日| 制作 | No Comments
3Dプリンタのキットを購入しました。
Lunavast Prusa 3Dプリンターキット っていう商品です。
届いた部品
部品をよく見ると、3Dプリンタで出力されたようなプラスチックのパーツ(左側の黒い物体)も入っています。
後は、ボルトやナットやステッピングモーター等、市販で買えるようなパーツが結構入っています。
ということは、ボルトやナットをうまく組み合わせて、足りないパーツだけ3Dプリンタで出力すれば、また別のオリジナル機械が作れてしまうんじゃないかと夢が広がっていきます。
こりゃ~テンションマックスやー!
これを組み立てていきます。
なんとか完成!
緑色のホースみたいなのがプリントされる樹脂で、これを熱で溶かしながら目的の形を作っていきます。
ではさっそくテストプリント、スイッチオン!
モーターの音「キュイーンキュイーン」
僕「すげー!」
モーターの音「デロデロデロデロ」
僕「たまらーん!」
結果
途中で底面がズレて移動してしまいこんな感じになっちゃいましたが、ズレ対策をとったり、ハードもソフト側の設定も微調整してもう少し精度を上げていきたいと思います。
それにしても自分で組み立てた機械が動くというのは実に気持ちがいいですな!
2012 年 10 月 20 日| 制作 | No Comments
最近読んで面白かったマンガです。
鉄工所で働くナッちゃんが、毎回やってくるちょっとややこしい内容の仕事(機械の修理や製作等)を工夫しながら解決していくといった内容の工作マンガです。
機械作りの工程が、大雑把にですが分かってきて面白いです。
このマンガを読むまでは、鉄製品のパーツの大部分は、鉄の塊を削ったり、溶かした鉄を型に流し込んだりして作るのかなーと漠然と思ってたんですが、このマンガを読んでいると板や棒状の鉄を曲げたり削ったり溶接したりネジで固定したりするだけで、かなりの色んな形が出来てしまうんだなーと分かりました。
言われてみれば3Dグラフィックソフトでも、プリミティブな形の組み合わせでいろんな形が作れますしね。
後、主人公のナッちゃんがものすごい楽しそうにものづくりをするので、こっちも仕事等が楽しくなってくるという点でもオススメのマンガです。
2012 年 10 月 16 日| 日常 | No Comments