AndroidでFlickr

chephesさんのところでlocalhostにつなげるという記事を見て早速試してみた。 普段なら http://localhost/... と書くところを、 http://(プライベートIPアドレス)/... と変えるだけでlocalhostにつなげられる。 localhostに接続できればPHPとか動かせるので…

物理エンジン続き

とりあえずAPEのソースを読んでみた。 大体流れはわかったけど。 これを活かすことができるように頑張る!

ActionScript3.0の物理エンジン

物理シミュレータを作るためにいわゆる物理エンジンてのはどんなことをしてるのか調べようと思った。 とりあえずActionScript3.0での物理エンジンを探してみたら有名なところは次の3つぐらい。 Revive APE Fisix みんな一度はデモとかを見たことあるんじゃな…

棒にはまる

バネの続きで今度は棒を作ろうと思ってるんだけどなかなかうまくいかない。 原因はなんとなくわかってるだけに余計つらい。 12月に入り気がつけば来年になってしまうので、 そろそろコンテスト用のを作り始めないとまずい。 だから更新も不定期になりそう。…

OpenGL ESでバネをつなげる

とりあえずバネが作れたので、 それをいくつかつなげてみた。正八角形に質点を配置して、隣の質点と 向かいの質点をつないだ。 動かしてみたら若干正八角形が崩れてるけど、 バネだからこんなもんかと無理矢理納得した。 棒だとちゃんと正八角形になるのだろ…

OpenGL ESでバネ

今度はバネ。非常に簡単です。 最初、減衰振動の運動方程式解くのダルいなと思ってたけど、 加速度求めるだけならそんな必要ないってさっき気づいた。 まずいまずい。 「げんすいしいんどう」で変換して「元帥進藤」が第一候補てのも困ったもんだ。 たまにMa…

OpenGL ESでボールが跳ねる

ちょっと作ってみた。 課題がいくつか。 床とか、物体との衝突をどう処理するか。 今は床のy座標より下に行ったらボールの速度反転とかやってて。 さすがにそれじゃまずかろうということで何か考えないといけない。 このReviveのソースとか見て勉強します。 …

OpenGL ESで公転

自転ができたので今度は公転させようと思って。 回転させること自体は楽にできたんだけど回転の方向がおかしい。 ちょっと気合いいれて考えてみないと。

OpenGL ESでクォータニオン

というわけで回転できた。 割と疲れた。 はじめPapervision3Dのを参考にして作ってみたけどなんか回転がおかしいのと、 うまくクォータニオンから回転行列が作れないので他のやり方を探した。 そこで参考にしたサイトがここ。 途中経過は色々面倒だけど結局…

AndroidのOpenGL ESで変換行列

とりあえず変換行列を使った平行移動とスケール変換だけ作った。 あとは回転だけなんだけどこれはクオータニオンを使うべきなのか。 というかオイラー角だとしてもクオータニオンだとしてもめんどくさそうだ。 あとMatrix3Dというクラスを作ってみたがあんま…

特にないけど日記を書く。

なんとなくブログを毎日更新したいので 特に意味はないけど日記を書く。 そろそろ5000アクセスが近いので 記念に何か作りたいと思うけど。 いかんせん時間とアイディアが足りない。 うーん。 昨日言ってたCrayon Physicsと一緒に これはいいなあと思うのがMI…

OpenGL ESでスケール変換

一応球体とか立方体が出せるようになったので 今度は平行移動、回転、スケール変換とかの機能を付けたい。 3Dプログラミングはほとんどやったことないんだけど、 こういう変換をする場合は元データの値を変えるんじゃなくて、 変換行列みたいなのを持ってお…

AndroidのOpenGL ESで違和感

昨日書いたSphereへのテクスチャマッピングの違和感。 こしさんにコメントを頂き解決しました。 まだOpenGL ESの座標系に慣れてなかったり、 各メソッドが何やってるのかを把握しきれてないところがあるので 色々頑張るっていかなければ。 前に作ったCubeと…

Androidで日本語入力

Androidで日本語入力できたらなと思ってたらIMEを作ってる人が! すげー。これは楽しみだ。 というかIME作るのって予想以上にというか予想通りというか、ものすごい大変な作業そうだな。。

AndroidのOpenGL ESで地球をこの手に

というわけで球体へのテクスチャマッピングができました。 それに伴ってSphereの頂点の決定法も変更。ほぼPlaneと同じ感じになりました。 つまりSphereクラスのcreateメソッドの中身をごそっと変えた。 作ってて頂点数が256以上になるとおかしくなることに気…

AndroidのOpenGL ESでマインスイーパ3D

OpenGL ESの練習を兼ねてマインスイーパを3Dで作った。 3Dのマインスイーパというとここが有名っぽいけど、それとは全然違うゲーム。 というか2Dを3Dにしただけという。 それっぽく遊べるので結構面白い。 あとonKeyDownメソッドでキー入力が取得できなくて…

OpenGL ESでSphere

OpenGL ESのプリミティブを手軽に作る第三弾のSphereです。 Cubeの時よりは作りやすかったけど、面を作るところで結構悩んだ。 これでPlane、Cube、Sphereの三つができてマウスピッキングも(一応)できるようになったので、 何か作れるんじゃないだろうかと…

OpenGL ESで似非マウスピッキング

やはりマウスピッキングはOpenGLでやってるような方法は使えないみたい。 なので違う方法を考えた。けどちょいちょい穴があるので似非マウスピッキングということで。 結局何をしてるかというとglReadPixelsメソッドでクリック位置の色情報を取得し比較して…

GL_DEPTH_TEST動く

gl.glEnable(GL_DEPTH_TEST); とすると動かないと先日の日記で書いたが。これが解決した。 結局OpenGLContextをnewするときに引数にOpenGLContext.DEPTH_BUFFERを指定していないだけだった。 悩んだ悩んだ。悩んだだけに解決して嬉しかった。

OpenGL ESでのマウスピッキングつづき

昨日言ってたGL_SELECT(GL_SELECTIONは間違えでした。)とglReadPixelsについて少し調べてみた。 これはOpenGLでの話なのでOpenGL ESではどうなのか。驚きの結果になった。 まずGL_SELECTの方法。 OpenGL ESにはglRenderModeメソッドがない。 つまりセレク…

OpenGL ESでのマウスピッキング

あるオブジェクトがクリックされたかを知るには、 GL_SELECTIONを使うかここにあるみたいにgetReadPixelsメソッドを使うといいみたい。 どちらにしろお手軽にはいかないみたい。うーん。

OpenGL ESでCube

そんなわけでOpenGL ESをPapervision3Dみたいに扱いたい計画の続き。Cubeを作ってみた。 ソース見てもらうとわかるけど非常にめんどくさいしごちゃごちゃだし。どうにかならないかな。 そんで陰面除去するときに、cheprogrammingを参考に、 gl.glEnable(GL10…

Emulatorへのファイルの転送方法

リソースファイルからは比較的容量の大きいメディアファイルは再生できないようなので、 普通の曲なんかを再生するにはAndroidのエミュレータにファイルを転送しておく必要がある。 転送にはadbコマンドを使う。エミュレータが起動した状態でターミナル(Mac…

MediaPlayerつづき

前にソースは今度と言っていたMediaPlayerの話。 一応動くは動くんだけど再生できるファイルとできないファイルがあったりする。 再生の仕方は前にも書いた通り。res/rawフォルダの中に再生したいファイルを入れ、リソースIDで指定する。 うーん。もう少し調…

OpenGL ESも使えなくちゃ

やっぱり3Dというのは魅力的で。使えるなら使いたいものです。 ということで色々試してみた。 最初に思ったのは「こりゃめんどくさい」ということ。いちいち頂点自分で決めるの?とか。 元々ActionScriptでPapervision3Dを使ってたので余計にめんどくさく感…

Animationするぞ

なんか面白いのできた。 AndroidにはAnimationというのがあって、 色々値を決めると勝手にアニメーションしてくれる優れもの。 といいながらあんまり触ってないので実態はよくわからないけど。 気持ちとしてはActionScriptのTweenerとかそんな感じ? という…

BitmapFactoryで画像を作れ!

今までリソースからBitmap形式の画像を取得するには、loadImageメソッドを自作し対応していた。 しかしBitmapFactoryを使うことでこれが非常に簡単になるのだ。なるのだ!そのやり方は、 Bitmap bmp = BitmapFactory.decodeResource(res, id); これだけ。res…

Widget解説第二回 "EditText"

そんなわけで第二回。 前回い忘れてたけど基本的にレイアウトファイルは使わない方向でいきます。 対応するアトリビュートは例えばEditTextなら、 http://code.google.com/android/reference/android/widget/TextView.html の最初の方にある"XML Attributes"…

MineSweeperつづき

前にGridVIewで作ったMineSweeperを普通に作ったらどうなるのかと試してみた。 そしたらやっぱり楽だった。 でもこれはAndroidの機能とか特に使ってないので面白味がない。 だからそろそろOpenGL ESとかを使ってみようと思う。 まだ直すところが沢山あるので…

Widget解説第一回 "TextView"

Androidには便利なWidgetがいくつもあるがそれを使いこなすのは難しい。 そこで自分のためということも含め使い方の解説をしていきたい。 今回とりあげるTextViewはテキストを表示するだけでなく、例えばボタンのラベルとかにも使われている。 そんなわけで…