忍.jpというサイトの無料ホームページスペースに登録してみた。
今度こそ大丈夫なはず。
サーバー建てようかと思ったけども、通信を使わないアプリor使ってもデータのダウンロードのみなら、無料ホームページスペースで十分と思った。
右の「 iアプリダウンロードページ」も更新した。
2006年05月20日
2006年05月19日
アプリ公開場所
アプリ公開場所としてFC2を使っていたが、*.jamのアップロードは禁止されているらしく、アップロードしても1日くらいすると消されてしまう事に気がついた。
どっかイイ所探すか、自分でWebサーバー建てるか、とにかく確保しないとなぁ。
どっかイイ所探すか、自分でWebサーバー建てるか、とにかく確保しないとなぁ。
ドライブアプリ(試作品)作成開始
アニメーションを使わないで済む物を考えた。
動物や人なんかは複雑なアニメーションが必要なのでパス。
車や飛行機などの乗り物は簡単なアニメーション(orアニメーション無しでも)それっぽく見えそうなのでなんとかなりそう。
建造物や山なんかは全く動かないので作れる。
と、色々考えた結果、街中を車で走り回るようなアプリが思い浮かんだので、ソレを作って見る事にした。
理想は Grand Theft Auto みたいなゲーム。まあそれは多分無理なのでチョットしたレースゲームにでもなればイイなぁと思いつつ作業開始。
まずはモデルデータ作成。
少し慣れてきたとは言え、やっぱり時間が掛かる。
細かいところまで弄りだすとキリが無い。
まさに『画には終わりがない ただ描くのをやめるだけ』。適当な所で見切りを付けないと貴重な作業時間をどんどん使ってしまいます。

とりあえずこんなカンジで。
実機でどう表示されるか見たかったので、前進と後退が出来てグルグル見回せるアプリを作った。

相変わらずエミュレーターだとチラつくが実機ではチラつかない。
ここで必要な機能を考えて見た。
・前進、後退、転回
・障害物にぶつかった時の処理
・傾斜の角度に合わせて走行するように
・マップ(コース)データの保持と再現
・2Dの描画(コース地図とかタイムとか)
作ってるうちに他にも色々出てきそうだけど、とりあえず上記を実装したい。
全ての実装が終わる頃には出来る事と出来ない事が分かってくると思うので、そのときにどんなアプリを作るのかちゃんと考えて完成品を目指そうと思う。
試作品名としてドライブアプリと命名した。
動物や人なんかは複雑なアニメーションが必要なのでパス。
車や飛行機などの乗り物は簡単なアニメーション(orアニメーション無しでも)それっぽく見えそうなのでなんとかなりそう。
建造物や山なんかは全く動かないので作れる。
と、色々考えた結果、街中を車で走り回るようなアプリが思い浮かんだので、ソレを作って見る事にした。
理想は Grand Theft Auto みたいなゲーム。まあそれは多分無理なのでチョットしたレースゲームにでもなればイイなぁと思いつつ作業開始。
まずはモデルデータ作成。
少し慣れてきたとは言え、やっぱり時間が掛かる。
細かいところまで弄りだすとキリが無い。
まさに『画には終わりがない ただ描くのをやめるだけ』。適当な所で見切りを付けないと貴重な作業時間をどんどん使ってしまいます。
とりあえずこんなカンジで。
実機でどう表示されるか見たかったので、前進と後退が出来てグルグル見回せるアプリを作った。
相変わらずエミュレーターだとチラつくが実機ではチラつかない。
ここで必要な機能を考えて見た。
・前進、後退、転回
・障害物にぶつかった時の処理
・傾斜の角度に合わせて走行するように
・マップ(コース)データの保持と再現
・2Dの描画(コース地図とかタイムとか)
作ってるうちに他にも色々出てきそうだけど、とりあえず上記を実装したい。
全ての実装が終わる頃には出来る事と出来ない事が分かってくると思うので、そのときにどんなアプリを作るのかちゃんと考えて完成品を目指そうと思う。
試作品名としてドライブアプリと命名した。
2006年05月16日
アニメーションエクスポート 保留
アニメーションをエクスポートできない問題は結局解決できていないが、次に進む事にした。
かなり後ろ髪引かれるけど、いつまでもハマってても飽きてくるので。
一応、チュートリアルを見ながらAmatureを設定したけど、エクスポートすると...
・アクションデータのスケールの値がおかしい
・0番目のフレームしか出力されず、その内容も正しくない
・エクスポーターのスクリプトを弄って、全てのフレームを出力しても内容は正しくない
ってカンジです。
スクリプトを弄ってて気になる点がいくつかあったので、いつかもう少し見てみようと思う。
その前にエクスポーターがバージョンアップされればイイな。
かなり後ろ髪引かれるけど、いつまでもハマってても飽きてくるので。
一応、チュートリアルを見ながらAmatureを設定したけど、エクスポートすると...
・アクションデータのスケールの値がおかしい
・0番目のフレームしか出力されず、その内容も正しくない
・エクスポーターのスクリプトを弄って、全てのフレームを出力しても内容は正しくない
ってカンジです。
スクリプトを弄ってて気になる点がいくつかあったので、いつかもう少し見てみようと思う。
その前にエクスポーターがバージョンアップされればイイな。
2006年05月11日
エクスポートできた!・・・けど
色々試したり調べたがエクスポートの問題を解決出来なかった。
だんだん「エクスポーターのバグじゃねーの!?」とか思っちゃいました。
そこで、エクスポータースクリプトのソースを見てみることにした。
バグがあるようだったら自分で直してやる!とか思ってたんだけど、ソースを見ている間に自分に重大な過ちがあった事に気がついた。
以下、MascotCapsule V3 exporter script for Blender のreadmeより引用。
最新版がいいだろうとか思ってBlender2.41を使ってました。
クソ、俺のアホ!
で2.37aで試したらエクスポートは無事に行えた。
おっし!とか思ったらまた問題発生。
コンバーターでMBACとMTRAに変換し、PVMicroでプレビューした所、なんか形が変わってしまっている。
↓Blenderで作成しエクスポートした時の形

↓エクスポート>変換>プレビューした時の形

MBACだけでプレビューすると形は変わってなくて、MTRAを反映すると上記の画像のような形になってしまっていた。
引き続き調べないとなぁ...。
けど一歩前進した気分。
−−−−−追記−−−−−
エクスポートされるBACとTRAはテキストファイルなので中を見てみた所、TRAの中のscale.*の値がなんか変な気がした。
"root_bone"のスケールは100となっているのに、そのほかのBoneは10.0となっていた。
これを手動ですべて100に修正し、再度MTRAにしてみたら想定通りの形となった。
けど、アニメーションはBlenderで設定したのとはだいぶ違う動きとなっている。
これはバグなんじゃないのかな??
いや、しかし、早とちりの前例があるのでもうちょっと調査してみようと思う。
だんだん「エクスポーターのバグじゃねーの!?」とか思っちゃいました。
そこで、エクスポータースクリプトのソースを見てみることにした。
バグがあるようだったら自分で直してやる!とか思ってたんだけど、ソースを見ている間に自分に重大な過ちがあった事に気がついた。
以下、MascotCapsule V3 exporter script for Blender のreadmeより引用。
1.1 動作環境
OS:Windows XP (日本語)
Blender version:Blender2.37a
最新版がいいだろうとか思ってBlender2.41を使ってました。
クソ、俺のアホ!
で2.37aで試したらエクスポートは無事に行えた。
おっし!とか思ったらまた問題発生。
コンバーターでMBACとMTRAに変換し、PVMicroでプレビューした所、なんか形が変わってしまっている。
↓Blenderで作成しエクスポートした時の形
↓エクスポート>変換>プレビューした時の形
MBACだけでプレビューすると形は変わってなくて、MTRAを反映すると上記の画像のような形になってしまっていた。
引き続き調べないとなぁ...。
けど一歩前進した気分。
−−−−−追記−−−−−
エクスポートされるBACとTRAはテキストファイルなので中を見てみた所、TRAの中のscale.*の値がなんか変な気がした。
"root_bone"のスケールは100となっているのに、そのほかのBoneは10.0となっていた。
これを手動ですべて100に修正し、再度MTRAにしてみたら想定通りの形となった。
けど、アニメーションはBlenderで設定したのとはだいぶ違う動きとなっている。
これはバグなんじゃないのかな??
いや、しかし、早とちりの前例があるのでもうちょっと調査してみようと思う。
2006年05月08日
アニメーション
アニメーションに挑戦しようと思い、ソレ用のモデルを作った。

今まではキューブやスフィアやシリンダーなど、Blenderで簡単に作れる既定のメッシュを組み合わせてモデリングしていた。
継ぎ目が無い方がアニメーションに向いていると思い、今回は体の部分だけ1つのスフィアを変形させて作ってみた。
既定のメッシュを組み合わせるのに比べると格段に難易度が上がる。この方法で上手くモデリングできるようになるには、かなりの慣れが必要だと感じた。
あんまり上手く出来なかったが、とりあえず形にはなったので、Armatureというのを使ってアニメーションに挑戦してみた。
Blenderチュートリアル通りやってみたら動かす事が出来た。

1つ気になったのはArmatureの根元が置いてあるあたりの頂点が「VertexGroups」に登録していないのにも関わらず勝手に変形してしまうことだ。
そういう仕様なのか、そういう設定があるのか、謎だけどとりあえずたいして問題にはならないと思い保留。
で、早速MascotCapsule形式でエクスポート。
そうしたら何やらエラーが出てエクスポートできない。
メッシュにマテリアル設定がされていないと上記に似たエラーが出るけど、Armatureにはマテリアルの設定はできないみたいだし...。
なにか他の設定が足りてないのかな、と思い色々見てみたけどやっぱりエクスポートできない。
アニメーションは是非使いたい機能なので何とか解決しないとなぁ。
引き続き色々試してみようと思う。
今まではキューブやスフィアやシリンダーなど、Blenderで簡単に作れる既定のメッシュを組み合わせてモデリングしていた。
継ぎ目が無い方がアニメーションに向いていると思い、今回は体の部分だけ1つのスフィアを変形させて作ってみた。
既定のメッシュを組み合わせるのに比べると格段に難易度が上がる。この方法で上手くモデリングできるようになるには、かなりの慣れが必要だと感じた。
あんまり上手く出来なかったが、とりあえず形にはなったので、Armatureというのを使ってアニメーションに挑戦してみた。
Blenderチュートリアル通りやってみたら動かす事が出来た。
1つ気になったのはArmatureの根元が置いてあるあたりの頂点が「VertexGroups」に登録していないのにも関わらず勝手に変形してしまうことだ。
そういう仕様なのか、そういう設定があるのか、謎だけどとりあえずたいして問題にはならないと思い保留。
で、早速MascotCapsule形式でエクスポート。
そうしたら何やらエラーが出てエクスポートできない。
AttributeError: 'Armature' object has no attribute 'getBones'
メッシュにマテリアル設定がされていないと上記に似たエラーが出るけど、Armatureにはマテリアルの設定はできないみたいだし...。
なにか他の設定が足りてないのかな、と思い色々見てみたけどやっぱりエクスポートできない。
アニメーションは是非使いたい機能なので何とか解決しないとなぁ。
引き続き色々試してみようと思う。
2006年05月05日
PCクラッシュ
なんか突然Windowsが立ち上がらなくなった。
メモリが怪しいなぁと思いつつもOSを復旧インストール等を試したが直らず、4枚刺さっているメモリの内怪しい2枚を抜いたら動いた。
が、今度は復旧インストールをしたせいでグラボのドライバが当たらなくなってしまった。
いっその事フォーマットして再インストールしようと思い始めたはイイけど、インストール+設定でエラい時間食ってしまった。
まあこんな時もある。
とりあえず復旧できてよかった。
メモリが怪しいなぁと思いつつもOSを復旧インストール等を試したが直らず、4枚刺さっているメモリの内怪しい2枚を抜いたら動いた。
が、今度は復旧インストールをしたせいでグラボのドライバが当たらなくなってしまった。
いっその事フォーマットして再インストールしようと思い始めたはイイけど、インストール+設定でエラい時間食ってしまった。
まあこんな時もある。
とりあえず復旧できてよかった。
2006年05月03日
キー入力に応じるiアプリ
明日からGW!今日はがっつりiアプリを作れるぞ。
今回はキー入力に応じて視点を動かすアプリを作ってみた。
とりあえず、テキトーにモデルを作った。
前回までに使ったモデルでも良かったんだけど、Blenderの練習も込めて簡単な町並みを作った。
町並み全てを1つのモデルとしたが、普通は建物1つを1つのモデルとすべきなのかもしれない。
Belnderからエクスポートしたら位置がずれてしまう建物があった。
色々試したが解決できなかった。
今日はコーディングがしたかったので、ズレた建物は削除し、問題は置いておいた。

PVMicroでプレビューした所。
このモデルを表示して、左右で視点をグリグリ変えれるアプリを作ってみる。
今回苦戦したのは視点をグリグリ回すために必要な計算方法(三角関数)。

最初は上の図の青の範囲が見えてるとして、右キーをチョット押したら赤の範囲が見えるようにしたい。その際、カメラの位置をAに移動させたいんだけど、この時にサインやらコサインやらを使った(分かりにくい図で恐縮です)。
DoJaに用意されているMathクラスにサインやコサインを計算するメソッドがあるんだけど、使って見ても思った通りの値が返ってこなかった。
マスコットカプセル メモ 様の解説を読んでやっと理解できた。
どうやら角度は4096分円単位で指定するらしい。
それが分かれば後はキー入力に応じて角度の指定を変えてやればイイだけ。
けど、DoJaのMathクラスはオプションAPIだったのが気になる。
もしかしたらコレじゃなくてサインとかコサインを計算する方法があるのかな?

最後にフォグ効果を追加して、一応完成した。
が、エミュレータで動かすと物凄くチラつく。
ちょっと前にMascotCapsuleのガイドか何かで「ポリゴンは重ならないようにモデリングしろ」的なのを読んだのを思い出した。
今回作ったモデルはバッチリ重なりまくってます。
次回から気を付けようwって事で、実機で動かして見たところ、チラつきはホトンド見られなかった。この辺は機種依存なのかもワカラン。
今日は以上。次回はアニメーションに挑戦したい。
今回はキー入力に応じて視点を動かすアプリを作ってみた。
とりあえず、テキトーにモデルを作った。
前回までに使ったモデルでも良かったんだけど、Blenderの練習も込めて簡単な町並みを作った。
町並み全てを1つのモデルとしたが、普通は建物1つを1つのモデルとすべきなのかもしれない。
Belnderからエクスポートしたら位置がずれてしまう建物があった。
色々試したが解決できなかった。
今日はコーディングがしたかったので、ズレた建物は削除し、問題は置いておいた。
PVMicroでプレビューした所。
このモデルを表示して、左右で視点をグリグリ変えれるアプリを作ってみる。
今回苦戦したのは視点をグリグリ回すために必要な計算方法(三角関数)。
最初は上の図の青の範囲が見えてるとして、右キーをチョット押したら赤の範囲が見えるようにしたい。その際、カメラの位置をAに移動させたいんだけど、この時にサインやらコサインやらを使った(分かりにくい図で恐縮です)。
DoJaに用意されているMathクラスにサインやコサインを計算するメソッドがあるんだけど、使って見ても思った通りの値が返ってこなかった。
マスコットカプセル メモ 様の解説を読んでやっと理解できた。
どうやら角度は4096分円単位で指定するらしい。
それが分かれば後はキー入力に応じて角度の指定を変えてやればイイだけ。
けど、DoJaのMathクラスはオプションAPIだったのが気になる。
もしかしたらコレじゃなくてサインとかコサインを計算する方法があるのかな?
最後にフォグ効果を追加して、一応完成した。
が、エミュレータで動かすと物凄くチラつく。
ちょっと前にMascotCapsuleのガイドか何かで「ポリゴンは重ならないようにモデリングしろ」的なのを読んだのを思い出した。
今回作ったモデルはバッチリ重なりまくってます。
次回から気を付けようwって事で、実機で動かして見たところ、チラつきはホトンド見られなかった。この辺は機種依存なのかもワカラン。
今日は以上。次回はアニメーションに挑戦したい。
2006年05月02日
実機で動かしてみた
今日はあんまり時間が取れなかったので、実機での動作確認をしてみることにした。
iアプリはインターネット経由じゃないと端末に入れられないので、テキトーに無料ホームページを作った。
当面は無料ホームページに置いてダウンロードしようと思う。
カンタンなトップページを作り、そこからダウンロードページへリンクを張る。
Eclipseでビルドしてると勝手に「Download.html」というページを作ってくれる。超便利。
で、JAMとJARを設置して試してみたが失敗する。
どうやらこの無料ホームページ(FC2)は相対パスのリンク先を勝手にテキトーな絶対パスに書き変える事があるらしい。
絶対パスにして再挑戦したらダウンロードできた。
そして早速動かしてみる。エミュレーターで見たのと同じように携帯で動いた!
当たり前なんだけど、やっぱり実機で動かすと一味違う物ですね。
ついでにアプリ置き場のQRコードを作って、このブログの右上に貼り付けた。
iアプリはインターネット経由じゃないと端末に入れられないので、テキトーに無料ホームページを作った。
当面は無料ホームページに置いてダウンロードしようと思う。
カンタンなトップページを作り、そこからダウンロードページへリンクを張る。
Eclipseでビルドしてると勝手に「Download.html」というページを作ってくれる。超便利。
で、JAMとJARを設置して試してみたが失敗する。
どうやらこの無料ホームページ(FC2)は相対パスのリンク先を勝手にテキトーな絶対パスに書き変える事があるらしい。
絶対パスにして再挑戦したらダウンロードできた。
そして早速動かしてみる。エミュレーターで見たのと同じように携帯で動いた!
当たり前なんだけど、やっぱり実機で動かすと一味違う物ですね。
ついでにアプリ置き場のQRコードを作って、このブログの右上に貼り付けた。

