Webcomic.tv

動画・音声・インタラクティブ性などで織り成す新スタイルのマンガ制作日記

iPad版:ムンク風

2011-09-25 18:58:13 | iPad版制作日記

今日のiPad版制作日記のタイトルは【ムンク風】です。上の画を見れば一目瞭然ですが、ムンクの「叫び」のように画面が歪んでます。

現在、iPad版電子コミック【Wings ウイングス】の6ページ目を制作中なんですが、このページでムンクの「叫び」のように画面を歪ませる効果を施すことにしました。

実際のムンクの「叫び」は、そんなに画面が歪んでいるわけではなく、夕焼け空の赤い雲やフィヨルドの背景が波打つような描線で描かれ、一方人物が立っている橋はパースのかかった直線で描かれています。

そして骸骨のような顔をした人物がいかにも不安感を発散していて、全体的に歪んだ画面として私の脳裏に強烈に焼き付いているんですね。

マンガの世界でもこのムンクの「叫び」は、たびたびパロディ化されて登場します。ギャグマンガで「Oh,No!!!」みたいなコマで、このポーズをよくします。最近はあまり見ませんが。

Wingsのこのページでは、主人公レナが大空で失速・落下し、目が覚めたら独房に...

「え!?...ここは?...何これ!!...刑務所!?...どおなってんの?」という感じで両手で顔を押さえる。

脳が理解不能に陥り、不安感と共に画面が歪む → 次ページへ...

という流れです。

【時空マジシャン】のOPムービーでは、水面の揺らぎのシーンでずいぶん悪戦苦闘してしまいました。

今回はこのシーンに費やせる時間がそれほど無いので、プログラミングで歪みを表現せずに、あらかじめ画像にフィルターをかけてアニメ表示でうまく処理したいと思ってます。

つまりまだやってないんですよね( ̄∇ ̄*)ゞ。画像にフィルターをかけた段階で、『そうだ、そろそろブログを更新しなくちゃ...』というわけで制作を中断して、この文章を書いているところです。

ところで、AppleからiOS Developer Programの会員登録の更新を促すメールが届きました。また年会費を納めねば。

去年の今頃は、一年後には【時空マジシャン】Chapter.1のiPad版が完成していると思ってましたが...その後、Packager for iPhoneを断念してXcodeでObjective-Cで取り掛かり、長編の【時空マジシャン】はやめて読切作品に切替えることにして...というようなことをやっているうちに早一年。

まだメモリ管理の課題などが前方に立ちはだかっていて、何か喉につっかえたまま制作を進めているような感じです。

iPadもiPad2が出て、そのうちiPad3も出るでしょう。Androidタブレットなどは、Sony TabletとかXi対応タブレットとか次から次へと登場する一方、WebOSのHPは早々撤退。シャープGALAPAGOSも生産終了(来年も新モデルを出す!?)。

すごい勢いで携帯端末/タブレット業界が進んでいってます。その急流を横目で眺めながら、私は川岸に近い流れの緩やかなところを筏でゆっくり進んでる感じ。ときどき川の淀みで止まりながら。

でも筏で急流に漕ぎ出して沈んでしまったら元も子もないし...

でもそろそろ急流に耐えうるカヌーに乗り換えたい今日この頃。





iPad版:ページめくりを作り直し

2011-09-17 19:18:18 | iPad版制作日記

さて、iPad版電子コミック【Wings ウイングス】の制作はここのところ足踏み中。でも制作が終盤に入ってから大幅な変更や修正がないように、今のうちに十分悩んで気になるところは修正してしまおうと思ってます。

足踏み中なので上の画像も主人公レナが前回と同じくベッドで寝たままです( ̄∇ ̄*)ゞ。といってもカメラ位置を変えたり、寝顔にズームインしてレンダリングし直してはいますが。

なぜ足踏みしてるかというと、思ったとおりにプログラムが動かなかったり、iPadシミュレータで動作確認中にストンと落ちたりして原因が分からないまま2~3日経ってしまったりという場合がけっこうあります。

昔、FlashでWebコミックを作り始めたときも、そうだったかもしれません。いや、でもFlashのときは何か特に難しいことをやろうとしなければ、そんなに足踏みすることはなかったように思います。

やっぱりこのようなコンテンツを作るために特化したツールのFlashと、ソフト開発の統合開発環境(IDE)であるXcodeではだいぶ勝手が違うんですよね。

プログラマーにとってはやりにくい(?)Flashのタイムラインも、私のようなコンテンツクリエイターにとってはありがたいものです。

そういった概念がないXcodeでは、時間の流れも自分で作らなければなりません。なんて愚痴ってみても仕様がないんですが...

制作序盤では、慣れるまでにかなり時間を要すると予想してたけど、予想以上に苦戦してます。

とはいえ、アニメの表示や切り替えのタイミングをperformSelector:(指定秒数後にメソッドを実行する)で処理を実行したり、UINavigationControllerクラスでページ遷移の構造を作り込んだり、デリゲートで処理を投げたり、@propertyと@synthesizeを使って値を渡したり取得したり、等々しているうちに徐々にですが調子が出てきました。

そんなことをしながら前に書いたコードもちょくちょく手直ししています。

5月8日のブログで書いた、ページ遷移の構造作成手順もガサッとやり直しました。

新たな手順は以下のとおりです。


 1.まずUIViewのサブクラスをページ枚数分作成する。

 2.上記の各クラスにマンガ1ページ分を作り込む。

 3.そしてUIViewControllerのサブクラスを作成し、上記全ページを管理する。

 4.3のインスタンスを生成し、UINavigationControllerクラスのインスタンスのinitWithRootViewControllerメソッドで初期化する。

 5.全ページに共通する処理(ページめくりなど)は別クラスにまとめて記述。


また今回もざっくりと書きましたが、上記手順で作り直しました。

まだ数ページしか作り込んでいない序盤なのでこのようなやり直しも可能ですが、終盤でプログラムも対症療法的にあれこれいじってあるものを、大幅に修正するのはつらいです。

あの5月8日の時点では、まだ【時空マジシャン】をiPadで続き物として作ろうと思ってたんですね。甘かった。

今では、読み切り作品のこの【Wings ウイングス】の完成にすべての力を注ぎ込んでいる状況。

そういえば、サッカー日本代表のザッケローニ監督が、先日のW杯アジア3次予選の北朝鮮戦後(1-0で日本勝利)に、「一滴一滴が海を作る」と言ったそうです。

この言葉は彼の母国イタリアの格言で、小さいものでもたまっていけば海になるという意味です。北朝鮮戦は厳しい戦いでぎりぎりの勝利だったけど、一滴一滴のようにポイントを積み重ねていけば、やがて大きな勝利につながると言いたかったわけですね。

私もこの格言が、身にしみる心境です。




iPad版:メモリ管理の方針を立てねば

2011-09-10 18:48:37 | iPad版制作日記

電子コミック【Wings ウイングス】の3ページ目を制作中。

上の画像が三コマ目のレンダリング画像です。う~ん、こうやって見るとパースがあまりかかってなくてレナの身体も部屋の備品も薄っぺらいですね。もっとパースを強くしてレンダリングし直さなくては。

粗末なベッド、トイレ、テーブル代わりのスツール等があるこの独房で、レナはしばらくの間生活することになります。

【Wings ウイングス】というタイトルなので、かもめのジョナサンみたいに広々とした大空を飛び廻る物語と思いきや、こんな狭くて暗い独房に閉じ込められちゃってどうなってるんでしょうか。

ストーリーを最初に話してしまうとおもしろくないので、この制作日記と共に徐々に...ね。

ところで今日の制作日記の題名は【メモリ管理】。なんともマンガの制作とはかけ離れたカチカチな感じの題ですよね。

でもiPad版電子コミックを制作する上でメモリ管理という問題は避けては通れません。Flashで作るときは、ガーベッジコレクションという便利な機能にまかせておけば、自動的にメモリ管理をしてくれました。

iPadアプリの開発では、自分で明示的にメモリ領域の確保と不要になったメモリ領域の解放を行う必要があります。不要なオブジェクトがメモリ上に溜まってしまうと、やがてメモリ不足でアプリが落ちてしまうので。

そのあたりをあまり考えずに電子コミック制作を続けて、終盤でこの問題に直面すると非常に厳しいので、今のうちにしっかりと方針を立てておくことにしました。

そんなわけで本を読んだりネットで調べたりし始めたんですが...

なんかまた胸のあたりがザワザワして、暗雲が立ち込めてきたような気分になってきました。

私の作る電子コミックは、巨大な画像を複数枚使ったアニメやサウンド・音声等をふんだんに駆使して表現するものです。しかもアニメを表示しているその裏で透明のアニメを動かして、タイミングを見計らってフェードインしたりするので、メモリを大量に消費して動きが遅くなったり強制終了する可能性が高いと思われます。

そのあたりのことを調べていたら、画像ファイルを読み込むときにUIImageのimageNamed:メソッドを使って画像オブジェクトをキャッシュに溜め込むと、オーバーフローをおこしてアプリが落ちると書いてあるではありませんか。

やってました!アニメを表示するときに、配列に画像ファイルをimageNamed:メソッドを何回も使って読み込んでいました。しかも全画面サイズのでかい画像を...

『う~~~む、このやり方は使えないかもしれない...』

さらに、画面遷移に関しても問題が発覚!

以前、ページ構造で悩んでいるときに、ページをめくったり戻ったりする画面遷移の管理にUINavigationControllerクラスを使うことにした、ということを書きました。

でもこのやり方だと、ページを読み進んでいくと画面のすべてがメモリに残るため、やがてメモリ不足で落ちるので注意!とのこと...

『なんてこった...』

まだ本編は数ページしか作り込んでいないので、この段階でこのことに気づいたのは良かったのですが...さて、どうするか。

このメモリ管理の問題に関しては、まだ取り掛かったばかりなので、解決策を模索したり、別のやり方に変えたり、いろいろと試行錯誤が必要です。

この問題はこれからもちょくちょくと書くことになると思います。

マンガ自体の制作に集中できるようになるまでには、まだ道が遠そうです。