2009/10/31

Solid Dots ver1.2を審査に提出

←自動翻訳とかのメニュー

←黒い輪郭(このモデルよく出来てますよねー。作った人すごい、あ、作ったの僕じゃないです)

←半分色のついた輪郭

ver1.2の新機能は以下の通り。

- 機械翻訳機能(アップロードされたシーンやコメントをボタン一発で翻訳できます)
- 作者で検索機能
- 輪郭表示機能(輪郭なし、黒、茶、半分くらいの色が設定できます)
- メモリ効率の向上

画面をみると分かりやすいと思います。

2009/09/27

Solid Dots Freeが本に載ってたよ!

Solid Dots Freeが「iPhoneアプリPERFECT vol.2」という本に載ってるのを偶然発見しました。すかさずその本は購入。メディアに載るとうれしいですね。


iPhoneアプリPERFECT vol.2のAmazonリンク

記事はこんなでした!

Solid Dots 機能紹介ビデオ作ってみた

なんだかんだ、やっぱり特殊な操作があるんで、ビデオを作ってみたです。これを見ればどんなことが出来るのか分かりやすいかなと思います。









2009/09/26

フリー版のver1.15を提出!そしてAppBankさん感謝!

フリー版のver1.15を審査に提出しました。
内容としては、ネット関連機能が有償版のver1.1とほぼ同機能になること。メインはマイリストが作れるようになることですね。

ver1.15
- マイリスト作成機能を追加(ハート破れボタンを押して、破れてないハートになったらマイリストに追加されたことになります)
- 自分で投稿したシーンへの人のコメントを削除できます
- 自分で投稿したシーンのタグの編集をロックすることができます


それから、AppBankさんのところで紹介記事を書いていただきました!
超うれしいです。あんなレビュー大手で紹介いただけるなんて。
というわけで、以下リンクご参照ください。

●Solid Dots Free -立体ドット絵モデラー-:ドット絵のモデルが作れるクリエイティブなアプリ!1325
http://www.appbank.net/2009/09/25/iphone-application/51329.php

2009/09/19

Solid Dots ver1.1 リリースしました!

ついにリリースできましたよ!新機能を象徴する画像を貼りまくります。

まずは、ファイルロードメニュー。ファイルが多くなってきて探せなくなった頃ですよね。だからほら、インデックスで飛ばせます。


そして、グリッド表示とかのオプションをアプリ起動中にも変更可能に!
アンドゥも従来のモデル外をタップと、アンドゥボタンをタップから選択できます。


ネット機能が充実しました。いろんなビューがあるので、並べ替えて使いやすくしてください。


タグ荒らし対策に、タグロック機能。鍵マークをタップするとロックと解除ができます。


マイリスト登録機能。ハートボタンを押すとマイリストに登録します。もっかい押すと解除ね。
いろいろな人のマイリストに登録されている数はハートの数で表示されます。


で、ほらね。ハートの表示が今までと変わってるでしょ。
ハートの数順表示は「人気順」です。


こんな感じです。
ほかにも細かくいろいろ追加されてますが、楽しんでもらえるといいな。
ではー。

2009/09/07

Solid Dots ver1.1リジェクトされた!ので修正するじょ!

なぜか有料版だけリジェクトされたので、ついでに機能アップとかもいれちゃおうと画策中。

・タグロック機能
・モデル投稿者は自分のモデルへのコメントを消せる機能
・マイリスト機能
・マイリスト登録数でモデルをソートする機能

といったところかな。

ちなみにリジェクトの理由は、ネットワークにつながっていない状態でネットワーク機能を使用した際に、つながってませんよというインフォを出しなさいっていうことでした。確かにそんなチェックしてませんでした。にゃん;

2009/08/09

Solid Dots ver1.1審査中


次バージョンを審査に出しました。
機能は以下の通り!

Solid Dots ver1.1
- 日本語対応
- ネットワーク関係でのクラッシュを修正
- 検索したあとのページ送りの不具合を修正
- 黒い色でも陰影がわかる程度に表示するようにしました
- ダウンロード画面のコメント等が長過ぎる場合でもちゃんと表示するように修正。
- 設定画面をアプリ内へ移行。グリッド表示切り替えも起動中に可能です。
- アンドゥをボタンでも操作できるようにしました。
- 一時ボタンの左利き対応。両利きにすると傾けて位置を変えられます。
- twitterへの投稿機能(モデルアップロード時、コメント時)

あと、要望いただいた画像の機能を追加。
ついでに、同じような選択部分に対して色を塗る機能も追加。

フリー版は以下の通り。
ちょっと制限が前よりきつくなってます。
なるべく多くの人にアップロードしてもらいたいなって思いは変わりませんが、あまりにも元データそのままで無加工の作品をアップする人が多いので、その辺りを鑑みてフリー版だけ上記に加えて以下の機能を追加。

- ダウンロードしたシーンの再アップロードをできなくしました

いじょ。

2009/07/24

PCビューワーからのコメント投稿など

 先日作成したPCからSolid Dotsの作品を閲覧するビューワーですが、PCからのアクセスでもviewsカウンタが回るようにしました。もちろんクッキーでアクセス履歴を残しているのでリロードしてもガンガン回ることはありません。教えてくれたchishowに感謝!

 あと、コメントの投稿もPCからやりたいなーと思ってたので、荒らし対策にcatpchaをつけてコメント投稿できるようなフォームをつけた。これもphpからcatpchaを扱える関数があったので、さくさくっとできた。catpcha画像の表示がたまにうまく転送されないことがあるのが難点かな。

とりあえずこんなとこー。

ビューワーのリンクは以下です。
http://xionchannel.no-ip.org/~xionchannel/index_viewer.php

2009/07/23

Solid Dots 新着投稿お知らせTwitterBot

PC用ビューワーができたのをいいことに、
新着モデル投稿のお知らせをつぶやくTwitterBotを作りました。

日本語版と英語版がありますので、
ぜひよろしく〜

●日本語版お知らせBot
SolidDots : http://twitter.com/SolidDots

●英語版お知らせBot
SolidDotsEng:http://twitter.com/SolidDotsEng

英語でも書いておきましょうか。誰も見てないだろうけど。

Now, I prepared the Twitter Bot who twees newly uploaded model news.
Please follow this account!

●Upload News Bot in English
SolidDotsEng: http://twitter.com/SolidDotsEng

2009/07/22

Solid Dots がWHAT'S HOT入り!


AppStoreにある「WHAT'S HOT」にSolid Dotsが選ばれました!

じゃじゃーん。画像を見てちょ。記念にスクリーンショット撮ったよw
iTuneからいける方もリストに載ってますねー。うれしいー。

もっとDot仲間が増えるといいな。
最近のおすすめは「重機シリーズ」と「Girlシリーズ」ですね。
特にGirlの「イヌミミ」はいいですよー。

と、PC用のビューワーができたのでリンクも貼ってみました。
トップページはこちら

2009/07/21

Solid Dots PC用のビューワーを作成中

いい作品をtwitterとかに貼付けられるように、PCから見られるビューワーを作成中。

何を使ってウェブ3Dを実現しようかと迷ったんだけど、結局のところFLASHが普及しているのでFLASH用に作ってます。とはいえFLASHのスクリプト言語ActionScriptなんて触ったこと無いので、すべてが初体験。

いろいろ調べたところ、FLASHのライブラリでpapervison3dというものがあるらしい。それを使うとそれなりに3Dを扱うことができるっぽいので、組んでみてたところ、どうもソフトウェアレンダリングでZソートというすごい代物だということが判明。時既に遅し、もう組んでしまってたので、高速化なんかほぼ望めず。シェーディングも普通にライト炊いたのでは無理。

シェーディングについては、各面別にマテリアルを用意して、マテリアルの方向別に6面分の光源計算をしてマテリアルの明度をリアルタイムに変えるというなんともレガシーな方法。パレットチェンジしているような気分です。ネタがドット絵だからむしろ良いのか?

とまあそんなこんなで、現状ここまでできました。
β版ページ

2009/07/17

Solid Dots 操作方法のTIPS

操作がいろいろありすぎてわからない人多いと思うので、こうするとやりやすいよという方法をご紹介。

Q1: 思ったところを削れない
A1: ナイフアイコンのときに、指を画面へのせた状態のままだと削られないので、その状態でしっかりと削りたいブロックにカーソルがあうようにして、それから指を離してください。これで狙ったところを削れますよ。

Q2: 思ったところに色を塗れない
A2: デフォルトだとパレット画面の塗り方設定が「Drag Painting」になっているので、連続的に塗れるのはいいですけど狙ったところを塗れない。そこで、「Drag Painting」ボタンを何回か押すとモードが変わります。「Pick Painting」にすると、1個づつですけどナイフアイコンのときのように指を離すまでは色が塗られなくなって、狙えるようになりますよ。

Q3: 狙ったところにブロックを盛れない
A3: Q1と同様に、指を離すまでは確定されないので、狙ったところにカーソルをあわせるようにしてみてくださいな。

Q4: アンドゥーはないの?
A4: モデル外の部分をタップするとアンドゥーできますよ。

Q5: 左下のコマンドアイコン「グローブ」「ルーペ」「スポイト」の使い方がわからない。
A5: 左下にある「グローブ」「ルーペ」「スポイト」などはそこに指が置かれているときだけ有効になる一時的な機能です。たとえばグローブは、ナイフで削っている作業の途中にモデルを一時的に回転させたい場合に使用します。そのときにはグローブに左親指をのせて、右手で画面をドラッグすると、ほらモデルが回りました。で、左手をコマンドアイコンから離すとナイフモードに戻りますのでサクサクモデルが作れます。同じくルーペも指をのせている間だけ拡大されます。スポイトも指をのせている間だけスポイトモードになるので、左手でスポイトを触りながら、右手で色を吸い取りたいブロックを触ってください。

まずはこんなところでしょうか。
公式サイトの方にもFAQとして今度載せておきますね。
次バージョンにはヘルプをアプリ内にいれるかなぁ。

2009/07/16

Solid Dots レビュー記事紹介

●white dev. の日記
「Solid Dots」
http://d.hatena.ne.jp/whitedev/20090714/1247541646#c

●iPhone 3G Wiki blog
「かわいい立体ドット絵ツクール」
http://blog.sohaya.com/2009/07/14/solid-dots/

●これがiPhoneクオリティ!
「「Solid Dots -立体ドット絵モデラー」自分でドット絵を作成できるアプリ。共有も可能!」
http://www.iphone-quality.com/apps/solid-dots/

●CreativeApplications.Net
「3966 Solid Dots [iPhone]」
http://www.creativeapplications.net/iphone/solid-dots-iphone/

現時点で以上のものをみつけましたー。
レビュー記事をこんなに書いてもらえるとはしあわせだ。

2009/07/14

ASCII.jpで記事になったよ!

なんか、いつのまにかASCII.jpで記事になってるー!
ぜんぜん気づかなかったのだけど、twitterでこの記事紹介してくれる方がいて発見。

うーん。なんだか感慨深い。
でもこういうのって勝手に記事になるもんなんだね。知らなかったw

みなさんに楽しんでもらえると良いなー♪

記事は以下のリンクから。
http://ascii.jp/elem/000/000/435/435677/

Solid Dots ver1.0



立体ドット絵モデラーの審査が通りました!
フリー版もあるので、試してみてくださいな。

以下はアプリの説明ページ。
http://xionchannel.no-ip.org/~xionchannel/solid_dots/index_j.html

2009/07/10

審査結果が出ません

7/1にバグ報告がきて、翌日に修正版を提出。
それからいままで音沙汰無しです。

そろそろだと思うんだけどなぁ。
でも、その前に出したCubing Timer ver1.3は3週間くらいかかったんだよなぁ。

いい加減どうにかしてください。のんびりやさんのアップル。

2009/06/29

Solid Dots審査に出しました


立体ドット絵モデラーのアプリですが、本日審査に出しました。
早く公開できると良いなぁ。

Cubing Timer ver1.3


Cubing TimerのiPhone OS3.0対応版の審査が通過しました。

新機能は以下の通り。

- OS3.0へ対応
- ユーザーインターフェース(Reset, DNS)を少しわかりやすく修正。

ま、ボタンの文字変えただけなんで、たいしたことないですけど、今までわかりにくかったのは確かなので。

2009/06/24

完成間近





 ようやく、ちゃんと形が作れるようになりました。ネットにもアップできるようになってますし、もうアプリも完成ですね。今はフリー版の対応を考えている感じです。アプリの紹介HPも作らなくちゃなと思ってます。

2009/06/20

複数SDKはやっぱだめだった

 先日の複数SDKの件ですが、結局のところだめでした。XCodeが起動する際にどこのフォルダのXCodeが起動するかが不定になるようで、新しいSDKフォルダに切り替えても古いXCodeが起動したりしてなんだか安定しない。

 そうこうしているうちに、正式版の3.0SDKが出たので、すべて削除して、あらためてSDK1つだけ入れることにしました。現状これで3.0のiPhoneへアプリの転送ができてます。ver2.2アプリなどもそのまま転送できるのでテストできますね。

 さあ、もう一踏ん張り。もうすぐアプリ完成するぞー!(あと1週間程度でなんとかしたい。。。)

2009/06/08

SDKチェンジ、微妙にうまくいかない

 シンボリックリンク張り替えでのSDKチェンジですが、shスクリプトあるいは、アップルスクリプトを使用してリンク張り替え後に自動的にXCodeを起動するようにしてみたところ、一見うまくいくけど、iPhoneシミュレータを起動させてデバッグしようとするとうまくいかない。どうやら内部パスが/Developerからのものではなく、本体のパスで記述されてしまうためにデバッガが正しく動作しないみたい。

 で、なぜかFinderから/Developer以下のXCodeを選択して起動させるとそういう不具合はない。なんなんでしょうね。Docへ登録した/Developer以下のXCode起動も問題ない。スクリプトから起動させるアプリだけが不具合を被る様子。あれか、アプリ起動コマンドのまえにシンボリックリンクの宛先の解決をしてしまうのかもしれんな。まいった。

 というわけで、ワンタッチでリンク張り替えてXCode起動はあきらめて、リンク張り替えとXCode起動の2タッチで我慢することにしましたとさ。

2009/06/07

iPhoneSDK複数インストール

 iPhoneSDKのベータが出てたりするので、とりあえず旧バージョンを残したまま新バージョンもインストールできるような方法を探してました。で、別のフォルダにインストールしたり、別アカウントを作ってインストールしたりという書き込みをいろんなところで見るのですが、やり方わかんなかったので、以下の方法にしてみました。

1、旧バージョンの入っている/Developerを別の場所に退避。(例えば/iPhoneSDK221/Developerとか)
2、新バージョンを通常インストール。/Developerにインストールされます。
3、新バージョンを別の場所に退避。(例えば/iPhoneSDK30beta5/Developerとか)
4、退避したそれぞれから都合によって/Developerへシンボリックリンクを張る。

以上で好きなようにSDKバージョンを切り替えながら作業ができますね。
で、それをもう少し簡易にやるのに、2つほどシェルスクリプトを用意して、シンボリックリンクを削除して張り直すようなシェルスクリプトを各バージョン別に用意しました。

とまあこんな感じです。
betaがとれて、正式版になったらSDKを切り替えて使用する必要はなくなるのかもですね。
(現状は3.0から2.xへ実機用appがインストールできないみたいですね)

2009/05/18

ダウンロードリスト


とりあえず、リスト画面を作ってみた。
いろいろとバグの巣でなかなか大変でした。

まだまだいろいろ大変そうですが、がんばります。

2009/05/07

アップロード機能できました


このGW中にいろいろやって、ようやくアップロードの機能も実装できました。

iPhone -> Dynamic DNS -> 自宅サーバー -> php -> MySQL という流れでデータが流れます。

Ubuntuのマシンを新しく作成して、自前のサーバーにしました。phpを好き勝手使いつつ、容量もそれなりにないと困るので自前で用意してしまった方がいろいろ楽かと思ったので。最近はatom搭載のべアボーンキットがあるので、格安にサーバーが作れますね。25000円程度で組めました。

添付の画面はアップロード用画面。サムネール画像とタイトル、コメント、タグ設定をして投稿という感じを考えてます。まあ、ニコニコ動画みたいなもんですかね。

今日はここまで。
明日からはダウンロード機能の方の整備ですな。

2009/05/04

セーブ画面できた


セーブとロードができるようになったので、画面デザインやりました。
まだ、アップロードとダウンロードの機能は実装してませんが。ネット関連のメタファーに迷ったけど、こんなもんでしょう。

2009/05/02

セーブデータに四苦八苦

セーブデータの対応をしてます。

PNGにオリジナルチャンクを追加する方向で検討中。
PNGの仕様書をあさってみたり、エンディアンの変換で戸惑ってみたり。

とりあえずセーブできるところまで作った。ロードはこれからですが、ファイルサイズが200KBを超えるような感じ。ネットにアップロードすることを考えてるけど、このサイズで大丈夫かな。

さてさて、どうなることやら。

2009/04/27

パレット改良


テクスチャ選択画面と釣り合うようにクオリティアップさせました。機能は変わらず。

2009/04/26

盛るぜ〜盛るぜ〜、超盛るぜ〜♪


初期の固まりよりも大きく盛れるようにしてみた。それと同時に、固まりのサイズに応じて注視点とスケールが変わるようにした。これによってメモリ上は大きく確保しておいて、表示物だけ初期値を小さく作っても、のちのちの増殖に対応できるようにした形になります。

2009/04/25

Space Deadbeef

 今日、業界の人との飲み会にいってまいりましたが、まさか昔僕の1つ上でいらした先輩がiPhoneゲーム作ってたとは!
 というわけで、ご紹介します。

 Space Deadbeefという横スクロールシューティグ。敵をフリックすることでロックオン、離せばミサイル発射!指をタッチしているところに向かって自機は進んでいくので、敵の攻撃をさけることもできるというゲームです。感覚的にはRayforceに近いですかね。まさかこんなゲームがiPhoneでできるとは。そして無料です。やっぱり先輩は違うなぁと思った次第です。

 みなさんもよろしければぜひ!

http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=297048779&mt=8

2009/04/24

アイコンを整備しました


テクスチャ選択の画面。なかなかよくできた。

でも、これがよくできすぎてて色選択のパレットがへぼく見える。
どうにかしないとな。

パレット自体をもっと年季の入ったやつにするか。あるいは、試験管に変えようか。

2009/04/23

好きな写真を貼れるよ


カメラを使ったりアルバムの写真を使ったりで、好きな写真を貼れるようにしました。
これでかなり遊べるんじゃないかなと。

そろそろセーブデータについて考えようかなという段階に近づいてきました。

2009/04/21

テクスチャ投影


 テクスチャの投影ができるようになりました。カメラから平行投影、あるいはパースペクティブに投影のようなことができます。とりあえず木のテクスチャ貼ってみたら木を崩しているような感じになりました。いやぁ、楽しいなあ。

 UV値は投影が指示された時点でその場で投影計算をして算出してます。3D空間上の頂点をフレームバッファへ投影し、その座標からテクスチャ上の2D座標へスケール調整するような感じですね。その際に、カメラ座標系にするか、スクリーン座標系にするかで奥行きに対してのつぶしが変わりますので、パースがかかったりかからないで平行投影になったりするということになります。

2009/04/19

Cubing Timer ver1.2

昨日ですが、ようやく審査が通りました。
新機能は以下になります。
お待たせしました。これでスクランブル後の色配置を見る以外はできあがって、練習用に使えるようになったかと思います。

JP
- 計測履歴をメールで転送できるようになりました。
- ローリング計測ができます。(12回以上計測するとローリングアベレージ表示になります)
- 計測結果を消去して再計測ができるようになりました。
- OS2.0以降に対応。

ENG
- You can send the measurement history by mail.
- You can measure rolling average. (It is changed to the rolling average mode when measuring it more than 12 times. )
- You can delete the measurement result, and can measure it again.
- It can run in OS2.0 or later.

ズーム機能


 ズーム機能を入れました。あと、カメラを回す機能もついでに。インターフェース的には左下のアイコンを触れているときだけ臨時で機能がオンになる仕様。これならiPhoneを左手で持ちながら一時的にズームにして、右手で色を塗ったり操作できるという感じになります。

 こないだのレイキャストによるコリジョン計算が、プロジェクションの逆マトリクスを使用して原点からカメラ座標へ逆変換するということをしてるのですが、この逆変換がどうやらカメラの移動に関しては効かない様子。カメラ座標を若干移動した分に関しては自前で逆変換しないとだめなようでした。

2009/04/18

より正確なコリジョン計算を


 なかなかいろいろな進展がありました。

 まずは、描画で、面と面の継ぎ目部分をつないでしまうと隣の面の側面が表面まで出てきてチラチラしてしまう問題がありましたが、それを完全に解消しました。隣のキューブの存在の有無を調べてそれに応じて面の表示をするかどうかを変えるようにしたところ、表示もきれいになったのは当然として(左の画像)、画面に描画されている無駄なポリゴンがなくなったことでだいぶ高速に動作するようになりました。いまでは20x20x20くらいでもヌルヌルです。

 そして、コリジョン関係をより丁寧なものに変更。見えている中での判別としたかったので、キューブが隣り合う面のどちらから見えているのかによってオブジェクトとしての法線を用意し、その法線とレイキャスト用のベクトルでキューブが見えているかどうかを判定するようにしました。それによって、すべてに対してレイキャスト計算をしないでよくなったため、若干の高速化も達成。高解像度キューブでの動作が多少快適になりました。

 あと、カメラ操作。ちょっとしたアイデアでしたが、画面端の方をフリックする際には視点座標系のZ軸を中心に回転するようなニュアンスにしました。普通の3Dツールだとそういうのはありませんが、これはこれでいい感じかと。

 そんなこんなで盛りだくさんな更新でした。そろそろ完成が見えてきたかな?

2009/04/17

色塗れるぞ


 パレットで選んで、ブロックに色を付けられるようになりました。ただ、塗る先の選択がなかなか思った通りにいかないので、座標の判定方法を変えてみました。
 以前は、3D空間上の座標をスクリーン座標系へ変換し、スクリーンをタップした座標を比較、あたったもののうち手前にあるものを優先で選択させるという方法をとってましたが、今回はカメラ座標からスクリーンをタップした座標を通過するベクトルが、3D座標上のブロック(球で判定してますが)にあたるかどうかを判別し、手前のものを優先するとしました。ま、ちょっとはましになったけど、やっぱ奥のものを選ぶのが難しい。混み合っているところを選択させるには、カメラのズームを入れないとだめかもですね。なにかいいズームのUI考えないとね。

2009/04/15

パレット作成中...


結構おしゃれにできてきたんではないかと。

これでカラー選択して、ボックスに塗っていければなと。

2009/04/12

コマンドメニューつけてみた


掘削の機能をいろいろ用意して、選ばせるメニューをつけてみた。武器とか並んでて楽しそうでしょw

・手袋:物体を回してみるモード
・短剣:1個づつブロックを消すモード
・モーニングスター:中心の1個とその周り上下前後左右を1個づつ消すモード
・長剣:なぞった部分を貫通しながらズバズバ消していくモード
・岩:ブロックを1個追加するモード

ってのをとりあえず実装。消すモードはいいんですけど、追加するモードの追加部分の選出がうまくいかないなぁ。一番手前でなおかつ隣り合うブロックが存在していることを条件にしているけど、それだと思った場所にブロックを置けないことがあるんですわ。見えてる中で一番奥ってのを割り出せるといいんですけどね。

・フラスコ:色をつける
・本:セーブとか

なんてのを考えてますが、当分先かな。

2009/04/10

Cubing Timer またもリジェクト

メール送信についてのUI設計に問題があるとのことです。これについては指摘はありませんでしたが、履歴の削除ボタンや全選択ボタンについても同様のことがいえますね。要は何かを行おうとした際に、条件を満たしていなくて実行できない状態であることをユーザーにわからせないといけない、あるいは、実行できない状況であれば、原因はともかく実行できないんだなと思わせるようなアフォーダンスが無いとならないわけですな。至極当たり前のことでした。チェック不足というか、自分本位になりすぎてたな。反省します。

現状は、履歴が1つも無い状態で削除ボタンやメールボタン、全選択ボタンを押しても何も起きない。全選択ボタンは反応がないだけでまだましだが、削除やメールについては「メール送信しますか」のようなダイアログを出して実行させた上で何も起きないので、たちが悪いですね。

本日訂正版を提出できそうなので、新バージョンはまた来週までお待ちください。

2009/04/09

形が作れるようになったお!


タップした場所のブロックを消せるようになりました。タップした座標(スクリーン座標)と3D空間上の座標を比較するのに結構手こずった。いろいろ調べたところ、以下のような変換が必要でした。

モデル自身の座標 → モデルビュー座標系 → プロジェクション座標系 → ビューポート座標系 → スクリーン座標系

ここで見落としがちなのが「プロジェクション座標系」から「ビューポート座標系」への変換ですね。てっきり、プロジェクション行列をかけた時点で奥行き情報がつぶれてスクリーン上の座標になるのかと思ってたので、得られた数値に定数を掛けたり割ったりで調整しようとして失敗してました。というわけで、プロジェクション変換後に奥行きに従って縦横に座標をつぶすような処理が必要だったわけですね。

詳細は、以下のページを参考にしたので、メモおいておきます。
capa's blog on JUGEM ワールド座標→スクリーン座標変換
MWsite オブジェクト座標系からウインドウ座標系までの変換(JOGL)

さて、先日の隠面消去問題ですが、手抜き対処で対応しました。要は表面よりも側面が弱くなればよいので、側面と表面の接続をあきらめて、隙間があいてしまっても表面を前に出しておけばチラつかないわけです。添付画面の前面と側面の際を見ると細い線が出てますが、これは隙間です。いや、そこを埋める処理もしてみたけど、描画がかなり重かったのでね。ポリゴン数も増えちゃうし。なので、これでいいことにします。

2009/04/08

開発情報メモ

日本人がつまずかないための
iPhone開発ポイント

http://www.atmarkit.co.jp/fwcr/design/benkyo/iphone01/01.html

基本的な内容でしたけど、上記の記事はなかなか参考になります。
有料公開のために、前もって手続きしておくかなぁ・・・。

かなり軽量化、そして隠面消去問題

 まずはかなりの軽量化を達成。23x23x23程度まではすいすい動くようになりました。32x32x32でもなんとか動く感じ。そこまでいくとカクカクですが。
やはりモデル合成が効いてますね。頂点バッファに使用できる変数がunsigned short型なので65536個までの頂点しか保持できない。そこで、ぎりぎりまでを1モデルにして、以降を別モデルとするような合成ルーチンを作成。
 さて、そして2枚目の図の方ですが、いままでキューブの切れ目がわかるように若干間隔を開けて表示してましたが、ぴったり隣り合うようにしたら、見えない側面が表面とのZテストでちらちらでてきたしまった!さて、どうしようかという問題発生。あーうー。

2009/04/06

多少軽くなりました


いろいろとチューンナップして、多少軽くなりました。やった点は以下の通り。
・強引な1ストリップ化をやめて最小限の面でGL_TRIANGLESを使用(無駄なポリゴンが消えてフィルアップかと)
・見えないキューブは非表示に(すべての隣り合う面にキューブが存在している場合は自身を非表示に設定)
・カメラ操作の仕組みを変更(まずあたらしい回転変換、その後累積か移転変換をかける、合計の回転変換をバッファに記憶という流れ、glRotateを使ったらおかしいという問題ではなかった。ローカル/グローバル座標系に対しての理解が甘かっただけでした)

というわけで、添付画像は16x16x16個、合計4096個のキューブが出ているように見える状態です。ま、実際ドローされているのは外周だけなので1352個ですが。
これに加えて、前回のエントリーに書いたモデル合成を使用すればさらにいけるのではないかと考え中。

2009/04/05

描画が重いです。。。


テストで立方体を10 x 10 x 10の合計1000個表示していますが、とても重いです。フレームレートにして秒間15〜20フレームくらいでしょうか。高速化手段はVertex Buffer ObjectとかIndex Buffer Objectを使用してますが、焼け石に水ですね。やっぱりglDrawElementsの回数が多すぎるのかもです。なので、次は表示前にモデルを合成して見ようかなとか思ってます。

カメラ操作は指で動かした方向をとってきてglRotateでモデルビューを回転させてるので、たまにおかしな動きをします。このあたりもプロジェクションビューに切り替えて、カメラの回転もマトリクス使った方がいいような気がしてます。手探りなんでよくわかってませんが。

そんなこんなで、3Dは覚えること多すぎてなかなかすすまなーいw

2009/04/02

3D勉強中

OpenGLなんて触ったことないのですが、勉強中です。
とりあえずティーポットが指で回せるようになりました。

難しいねー。世の中のプログラマさんはすげーなと。

再申請となりました

先週提出したver1.2にバグがあることが判明しましたので、再提出となりました。
バグ自体はすぐ解消したのですが、ビルド設定をうっかり削除してしまって、復旧するまで1日費やしてしまったw
本日修正版を提出したので、来週にはメール機能がついているバージョンを使用できるかと思います。

2009/03/26

ルービックキューブ公式大会

3/28にルービックキューブの公式大会「大阪大会」が行われますね。
僕は予定があって参加できませんが、参加されるみなさんがんばってください。応援してます。

日本ルービックキューブ協会オフィシャルサイト

2009/03/25

審査待ち

ver1.2審査待ちです。
機能は以下の通り。

- 計測履歴をメールで転送できるようになりました。
- ローリング計測ができます。(12回以上計測するとローリングアベレージ表示になります)
- 計測結果を消去して再計測ができるようになりました。

残るはスクランブル結果の色表示ですね。
仕様検討中です。

2009/03/24

メール送信機能!


メールで記録を送信することができそうです。アプリは終了しちゃいますが、メールアプリに切り替わって好きなアドレスに送信できるという感じになります。いやぁ、意外に簡単だったw

2009/03/22

機能追加ほぼ完了かな

要望されていた、ローリングアベレージ対応が大きいですが作業ほぼ終了です。
記録をメールで出すってのは大掛かりなので保留にしておいて、あと対応すべきはスクランブル結果が色の配置で見れる機能ですかね。これについてはどういうレイアウトにするか考えないといけませんねー。

とりあえず現状の状態でver1.2として提出しようかなぁ。ふむぅ。

2009/03/21

Cubing Timer ver1.1

審査通りました。
新機能は以下のとおりです。

Cubing Timer ver1.1
・計測履歴表示
・5x5x5で60回スクランブルでも表示がちゃんとするように

下記リンクでiTune開きますー。
http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=306802722&mt=8

2009/03/20

なかなか審査とおらないね

日曜に提出したのでそろそろ審査通過するはずなのだが、今週は忙しいのだろうか。まだ審査通過の連絡きません。5x5x5で60回スクランブルを表示させる必要のある方もうしばらくお待ちくださいね。

関係ありませんが、開発に使用していたiPhoneのデータが飛びました(- -;
どうもPCへ同期したときのバックアップがおかしいなと思ってたら、バックアップファイル壊れてたようで、復帰した後の同期でデータが壊れてて戻せないっていうという仕打ち。とほー。旅行で撮った写真とか全滅ですわ。これからはこまめにバックアップされるように気を使います。特に開発に使用してると不意におかしくなることもありますからねー。要注意です。

2009/03/18

次期バージョン改造中

次に組み込む予定の機能は以下の通り。
基本的に、皆様にご指摘いただいた点を改良します。

ver1.1はすでに審査中ですが。
そっちは、以下。
・計測履歴表示
・5x5x5で60回スクランブルでも表示がちゃんとするように

ver1.2では以下を組み込もうかなと考察中。
・Rolling Average対応
連続して12回以上どんどんすきなだけ回し続けて、その中から連続した12回で一番早いものを表示する機能。

・DNF以外のタイム表示。POPとか、失敗したからノーカウントで今のタイム消去というもの。

あと何かありましたっけ。
あー。メールで送信とかか。そういうのは大掛かりになりそうなので、iPhone OS 3.0になってから対応しますね。コピペでメールに送れればよさそうですし。逆に、コピペで選手権用のスクランブル読み込み機能も欲しいかもです。

そんなこんなで、自分のキューブの練習が滞っているうちに、ライバルについに追い抜かれたー!!!先に30秒切りの世界へ行ってしまわれた。とほー。俺もがんばらなくっちゃ。

iTune Connection設定不備でしたw

iTune Connectionというサイトでアプリの公開設定ができるのですが、どの国にオープンにするかというような設定がいつのまにかクリアされてしまっており、それによってどの国にも公開されていない状態になってました。おかしいなぁ。というわけで、僕の設定不備でした。現在はもうAppStoreに復帰しています。いやーびっくりした。

削除された!?

なんか、今日AppStoreみてみたら、Cubing Timerなくなってるー。なぜ?メンテ中ってことなのだろうか。うーむ。

2009/03/10

アプリ登録きた!

アップルストアに無事登録されました。
無料なので落としてみてください!!

2009/03/07

TabBarむずかしい

履歴画面にTabBarを追加したいとおもったのだが、やりかたがよくわからんです。
特にdelegateをどこにつけたものか。そもそもtabが画面に出ないし。

2009/03/05

履歴機能つけてみた


計測した記録を履歴にしておくことができるようになった。いらなくなった記録の削除も可。あとは、ベストタイムでソートするとかできるといいのかなぁ。

2009/03/03

ローカライズの問題

Mac上でiPhoneシミュレーターなら動作するが、実機だとローカライズが反応しません。なぜでしょう?
同じ症状のひといないかなー。

先日のマルチタッチは単純なミスでした。タッチイベントを受けたいUIViewの手前にUIButtonがおいてあり、そこにイベントが吸収されてしまって奥のUIViewまできてなかったというものです。たはは。

2009/03/02

いろいろ修正中

アップルの方ではまだ審査中みたいですが。
自分で使ってみてバグとか不便なところとかあったので、修正中。

きっと、アップルからもバグで差し戻されそうな予感。

スタックタイマーみたいに、両手で開始・停止ができるようにしたいのだが、マルチタッチ検出がよくわからんです。ググろう…。

2009/02/28

Cubing Timer



AppStoreに提出してみた。
キュービストの人にはかなり便利なのではないかな?
ていうか、自分が欲しかったので作りましたwww


アプリ公開準備中。

ブログも用意したお!おっおっおっ!