Home > iPhoneアプリ

【備忘録】リソースにjsonファイルを仕込んで読み込む

C:
  1. NSError *err;
  2. NSString *path = [[NSBundle mainBundle] pathForResource:@"hoge.json" ofType:nil];
  3. NSString *data = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&err];
  4.  
  5. arrHoge = [data JSONValue];

pathForResourceに拡張子を含めちゃえば、ofTypeはnilで大丈夫。
ただし.jsonはデフォルトではバンドルリソースに含まれないので、
ターゲット→アプリ名→バンドルリソースをコピー
にファイルを持って行っておく必要がある。

05月20日 

仕事

車関係

人の縁とは


ずいぶんご無沙汰の更新となります。
ちょっと方向性などで逡巡してたこともあり、なかなか手が着きませんでした。またのんびりとお付き合い頂ければ。

地元の大学院に通っていた頃、通学に車が必要な距離に済んでいたので一目惚れしたダイハツのYRVという車に乗っていました。当時はオーナーズクラブを作って独自にホームページを設置し、ネットでの交流やオフ会を企画するのが流行って(?)いて、YRVについても全国的にそういった雰囲気でした。
当時、中国地方を管轄するクラブが無かったので、時間だけはある学生の自分が立候補し取り纏め役など務めさせてもらってました。

当然、隣の地域である関西地区の集まりにも積極的に参加し、関西のノリで仲良くなり現在でもお付き合いさせて貰っている面々も。
上の写真は蒜山に泊まりがけで行ったオフ会の集合写真です。中国地方と関西地方が半々くらいw

現在は車も変わり(自分のYRVはオーストラリアで走ってます)、それぞれが結婚や環境の変化に伴って集まる機会もなかなか無くなってしまいました。

かくいう自分も生活環境はかなり変わり、現在はWebに関わる仕事に携わっているわけですが、同業者との交流やモチベーション、技術の向上のために勉強会などに参加しており、多くの方と仲良くさせて頂いています。

つい先日ですが、同業の方からお仕事の打診を頂き、仕事の内容も自分が得意とする分野だったので引き受けさせて頂くことに。
話を聞くと姫路のデザイン事務所さん経由のお仕事らしい。

そういえばYRVで仲良くしてた人が姫路でデザインの仕事してるって言ってたなぁ。久しぶりに連絡でも取ってみるかぁ。

はい。どんぴしゃ。

メールを送ったら、すぐに電話が掛かってきて「そこ、うちやでw」とw

人の縁って凄いですね。
全く絡んでないと思ってた、いや想像すらしてなかった線と線が実はどっかで接触してて。もしかしたらそういう運命だったのか星の下に生まれたのかwww

一期一会ではないけれど、これからも一つ一つの出会いを大切にしていかねば、と引き締まる思いです。

今回の再会(まだ会ってないけどw)を引き合わせてくれた全ての人・切っ掛けに感謝感謝です。

04月15日 

パノラマ関係

パノラマプレイヤーチューニング2

先日の他力本願チューニングを経て思いついた手法を元に、自分がコーディングした部分のチューニングに取りかかってみました。
結果的には6割方の目論見が通り、さらにその他周辺部分で手を入れることが出来たので、結構満足の行くチューニングになりました。

これまではマウスで視点を移動させる際に、各写真の質を落としたりしてスムーズに動かせるよう工夫を入れていたのですが、今回は土台となるベースと各写真の配置方法などを見直し、さらにポリゴン分割数や画質のパラメータとの相関とバランスの試験を繰り返し。
なかなか「これがベストの設定値!」と定められないので、リソースごとに最適な数値を出さないといけない、というのはこれまでと変わりないのですが、以前より移動中の画質低下やフルスクリーン時の負荷を大幅に抑えることが出来ました。

一般的には有償・無償のパノラマプレイヤーを使って全方位パノラマを表示している事が多いし、プレイヤーそれぞれにチューニングが為されていてこういう点に苦慮することは無いのでしょうが、自作のプレイヤーが高性能化出来たときの喜びは格別なものです。
独自機能などを付与させたい、と思ったときにも自ら実装できるのは強みですしね。

ブラウザにキャッシュとして残っている場合があるので、一度キャッシュを削除してみてください。

下のパノラマは先日、元同僚が総料理長を務める飲食店の1店舗をサンプル用に撮影させてもらったときの物です。
HDRでダイナミックレンジを広げて黒潰れや白飛びを抑えています(夕日が眩しかった…orz)。

↑クリックすると全方位パノラマを見ることが出来ます。

○○ウォーカー的な雑誌に掲載されたのを切っ掛けに、昼のランチも夜の営業も満員御礼状態で大忙しらしいのですが、とっても良い店なので興味のある方は一緒に飲みに行きましょう。
プレミアムモルツが390円ですよ!

パノラマプレイヤーチューニング

うちが提供しているパノラマプレイヤーはPapervision3Dをベースにしたオリジナルのプレイヤーなのですが、少しパフォーマンス面で気になるところもあったのでチューニングしてみることにしました。

初めに組んだ頃よりPV3Dのバージョンも上がっているので、最新の物で再ビルドしてみる。さらにブランチバージョンとして、「cs4」「fp10」という2つのバージョンがあることを知り、その2つでもビルドしてみることにしました。
Flash Player 10からFlash自体も3D機能が付与されているので、それに最適化されているのかな?という想定です。(要は自分のソースに手を入れずにベースの改善に期待する他力本願w)

結論で言うと、3つのパターン全てでパフォーマンスの改善は見られませんでした。
PV3D自体にあまりパフォーマンス的なチューニングが施されてないのか、オフィシャルの3D機能に最適化されていないのか?(バージョンアップの履歴を追ってないのでアレですが…)

ということで、次に試してみたのはPV3Dを使わずオフィシャルの3D機能を使ってパノラマを実装してみる。。。

についてはパフォーマンスの点も渋いし、他にも表示面でちょっと問題が…

と、4パターン試してみたのですが色々と試していく中でパフォーマンスに影響してそうな要因と解決のパターンが出てきました。
こちらについては追って実装してみたいと思います(ここでようやく自分のソースに手を入れる算段ですwww)。

今年も高槻の桜は綺麗。-芥川-


高槻で自分が知っている桜の名所は、有名な摂津峡公園とこの芥川河川敷。土手沿いに整備された遊歩道と、それに沿う形で咲き誇る桜はまさに「桜のトンネル」を歩いている感覚です。
続きを読む »

Google独自の3D「O3D」で全方位パノラマを再生してみる

HTML5規格ではブラウザ上で3Dがウンタラ、とかありますが、イマイチ資料など目に付かず。

ブラウザでイケる3D APIといえば、MozillaのCanvas:3Dか、GoogleのO3D。んで、ようやく策定の始まった(?)WebGLと。
HTML5はWebGL規格になるのかな?誰かkwsk。

0203ま、そんなん待ってても仕方ないので、いっちょ実装してみることに。
互換性を大事にAPIを単純にしてしまってるCanvas:3Dではなく、結構エグいことが出来るO3Dを選択してみました。O3Dのイケてるところは、GPUを活用できちゃう、という点。
Actionscript3+Papervision3Dでなくても、高速に綺麗に3Dの描画が行けるんちゃうか?ということなんですなぁ。

ということで、実装した感じは…
の前に、再生するにはプラグインをインストールする必要があるので、まずは

http://code.google.com/intl/ja/apis/o3d/

上記URLページの右側にある「O3Dのダウンロード」を押してプラグインをインストールした後、いったんブラウザを再起動してから、

http://www.studio-bloom.net/public/o3d_pano/

をご覧くださいませ(環境によっては表示されない場合もあります)。
あぁ、ChromeかFirefoxでお願いしますよ。Mac?知らん。

画像の読み込みが終わるまでグレーになってますが、しばらくお待ちください。マウスでクリックしたまま動かすとグリグリできます。

平面プリミティブ6面を配置して、それぞれにテクスチャを貼り付けてるんですが、平面同士の境目が見えてしまってるんですよね…(PV3Dでは境目も出ないし動作が軽い)

境目を消すには、正方体プリミティブを作って各面にテクスチャを貼ることで解決できないかな?と思いつつ。ただ正方体プリミティブの面ごとにテクスチャを変える方法がイマイチ掴めず。。。ちょっと描画かプリミティブのパラメータをいじったらイイ感じにならないかな?と思ったりしてます。

結果としては、画質なんかはイイ感じなんだけど、GPU使ったりしてる割には妙に重い。PCの問題なのか、ブラウザの問題なのか?V8エンジンを使用すると速くなるよ、とのTipsもあるんだけど…(Chromeだけかよ!)

しかも、なぜかうちのノートPCではテクスチャ画像を読んでくれなくて(オフィシャルのサンプルも)再生できませんでした。
ちょっとここら辺はAPIの熟成を待つしかなさそうですねぇ。。。

再生するにはプラグインの導入が必要だし、一般的に使用されるようになるか、というのは疑問ちょっと疑問。WebGLも策定から各ブラウザへの実装がどれほど時間の掛かることか、と考えると、現状のAS3+PV3Dはしばらく鉄板な気がします。

01月27日 

仕事

武庫之荘の整体「いむら整体院」ホームページ公開

公開自体はちょっと前に行ってて、実績ページにも掲載したんですが改めてご紹介。

武庫之荘で開院された、ちょっと変わった整体を施される「いむら整体院」さまのホームページを公開しました。
シンプルで簡単な作りにしてます。

施術を見せるための写真撮影も担当しました。みんな身内ばっかりなんですけどねw
モデルになってくれた、立ち仕事・酒飲みすぎの人の体が案外状態が良かったのには少し負けた気がしましたが、そんな人でも施術後には「体軽くなったわー」と。実際、公開はしてないけど施術前後の写真を見比べてみると、猫背気味だったのがシャキっとしていい感じの姿勢に。

文章については原稿を頂き、こちらで加筆・修正して…という流れです。
SEOなんかを意識した文章作りはまだまだスキル不足で。。。頑張っていかねば、と思う今日この頃。

ブログはライブドアの無料ブログを使用してます。妙に引き込まれるおもしろい文章ですよw
ブログへのリンクとなってる「relax」の画、ジャケットだかポスターだかのパクりなのですが、「分かる人が見たら、クスっと笑ってくれる」趣味がバレるものだそうです。
(この画へのコダワリがなかなかw)

保険の効く一般的な整体屋さんとは違って、行けば一発バッチリ回復・首ゴキゴキで気分爽快、というのではなく体を本来あるべき姿へ戻してくれる施術なので、初めて行くと変な感じかもしれませんが実際に効果は抜群!

是非一度行ってみては?

01月22日 

パノラマ関係

EyeSee360 GoPano

本日、はるばるアメリカからこんな物が届きました。
JK5T2373
ちょっと背景に生活感が出まくってるので、無理矢理ボカシ入れましたがw

箱の中身は~
JK5T2374
こんなんです。

で、装着すると、
JK5T2379
こうなります。

もう街中で扱ってたら職質頂くこと請け合いw

ナニする物ぞ?と言った感じですが、これを使うと横360°、縦100°の範囲のパノラマを1ショットで撮影出来るようになってしまうのです。
1発で撮れてしまうので、その後の編集作業がかなり軽減されるため、単価の安いパノラマの提案が可能に。

画質が少し落ちて天地もないけど、安価にパノラマを導入されたいお客様へお勧めするサービスです。例えば賃貸とかの不動産など。
興味のある方がいらっしゃいましたら、お問い合わせのほど。。。

実際のサンプルは、明日の昼にでも三ノ宮で撮ってこようかと思ったり。

そして実は一番の目的は、こいつを使ってパノラマの動画など撮ってみようではないか、という点なのです。最近はお手軽にパノラマ動画を撮影出来るガジェットをSonyさんが発表しちゃいましたけどね…

やはりセンサーサイズを考えても解像度的に画質はサンプルを見るまでも無く、と思っていたりで棲み分けは出来るんじゃないかと。
動画については、Canon iVIS HF S11と、Canon EOS 5D Mark-II(借り物)の2機種でサンプルを撮っていこうと画策中。タブン次のEOS 60Dで動画機能も載るだろうし、頑張って稼いで新しいカメラの導入を…

01月14日 

パノラマ関係

パノラマ結合ソフト

全方位パノラマは特殊な雲台を使用してズレの無い写真を撮影した後、それぞれの写真を結合する必要があり、いろいろなソフトウェアがリリースされています。

20~30%ほど重なり合った隣り合う写真同士の、同じ箇所を特定することで2枚の写真を繋ぎ合わせて行きます。この「同じ箇所」を特定していくアルゴリズムなどがそれぞれのソフトウェアの特徴ともなっている訳なんです(他にもいろいろな画像処理その他で特徴はありますが)。

そんな中、オープンソースで開発が進められているパノラマ作成ソフトがHugin。正確には、上記の「同じ箇所」を特定するプログラムやレンズの収差を補正するソフトやら画像同士を結合させるソフトやらを統合して使いやすくしてくれるソフトな訳ですが。

で、今回のお話は「同じ箇所」を特定する部分で。
学術的には「Feature Point Detection」という分野で、ニホンゴで言えば「特徴点抽出」ですな。

以下、長文かつ文字ばっかりで一つも面白くないことを予めお断りしておきますw(リンク先もwikipediaばっかりだし)
続きを読む »

12月27日 

パノラマ関係

360 Precision Adjust Gigaがやってきた

パノラマネタです。

主力カメラとレンズの構成が1D Mark-II + EF 17-40 F4Lに変更となり、総重量1.5kg超え…
これまで使用していたパノラマ用雲台のNodalNinja5Lで室内撮影では納得できる精度が出なくなり。

ということでもっと頑丈で高精度な雲台にしようかといろいろ物色し、

  • Monfrotto 303SPH MULTI ROW PAN HEAD
  • NOVOFLEX Panorama VR-System PRO
  • Really Right Stuff TheUltimate-Pro Omni-Pivot Package

と国内購入・海外取り寄せでも7~9万円ほどの物をリストアップ。
うーんうーんと悩んでた所、ふと何故かヤフオクで検索してしまった「360Precision」

偶然その日に落札日が設定されており…
落としてしまいました。360Precision Adjust Giga。新品なら日本円で10万円超えです…
JK5T1652

となりのNN5と比べてもでかいです。携帯性悪いです。

しかし剛性感バツグン。ビクともしませんとも。

んで、困ったことに…調整がめっちゃしづらい。
水平アームもカメラスライダーも、六角レンチでネジ2本を締め込むので簡単には動かなくなるため、一度決めてしまえば後は野となれ山となれ(違

しかし微調整が…難しい。。。とりあえず今日は諦めて寝ます。。。

ちなみにNN5はKiss X2 + SIGMA 10mm F2.8 EX DC FISHEYE HSMの組み合わせにセッティングしてます。
撮影枚数少なくできるのでいいんですが、やはり出来上がりの解像感などが…こちらは簡単撮影用です。

さらに今後、1回のシャッターで360度のパノラマが撮影できる特殊なミラーを導入予定です。
こちらは天地の幅が狭くなる&画質がかなり落ちるのですが、その分価格を抑えて提案できるかと思います。
さらにさらに、そのミラーを使えばパノラマで動画を撮影するととが出来るようになるので。。。

そんな感じで、高画質全方位パノラマ・普通(?)画質全方位パノラマ・低画質パノラマ・パノラマ動画、となんだか微妙にパノラマ関係に力を入れつつ、来年も頑張っていきたいと思います。

次の記事 »