投稿

11月, 2012の投稿を表示しています

PlayN1.5リリースとLibGdxへの意見

PlayNが1.5になった。iOSに対応した。git logを観ると10月、11月は盛んにpushされている。Michael Bayne氏が以下のことをGoogle Groupに述べている。LibgdxのMarioとMichael。二人のMは頑張っている。あまり、こんなことを調査してもしょうがないのだけど、とりあえず勉強をかねて愉しんでいる。 https://groups.google.com/forum/?hl=ja&fromgroups=#!topic/playn/pllOKWiYhM4 ボクはこの意見を読んでMichaelがライバル視している印象があった。 Michaelの発言の抜粋:「Marioはボクよりコミットが多く感じるが、それらは、小さなコミットが多いと感じている:)。それとゲームを作っていない」 2012年11月下旬現在、パッと感じているボクの印象は... PlayNは確実にプラットフォーム対応をしているという印象。しかし、3Dまで踏み込んでいない。ゲーム(AndroidとiOS版)を12月4日にリリース予定らしい、どんなクオリティか興味がある。この出来栄えよってPlayNの印象が変わることを期待。 LibGDXはiOS対応が完成されていない。iOS対応が完成しても最大の欠点はMonotuchが必要でコストがかかるし、これにより将来リスク(Monotouchの動向に気を配らなければならない、しかもMonoなので、視野を広げるとMSも絡む)や、開発の手間が増える。開発する側としては複雑すぎるのではないか? しかし、周りのユーティリティがPlayNよりは豊富(Box2d, Bullet, DecalやTexturePackerなど)なので、すぐに開発へ入り込める。 意外に重要なのはこちらのコミニティーは盛んな印象をうけること。 PS GoogleのPlayNと、インディペンデントなLibGdx。吉とでるか凶となるか。日本人と違って、向こうは1大企業が持っていると人気がでないことが多々あるw

Nexus 7 Android 4.2でデバックモードを有効にするには

設定→タブレット情報→ビルド番号を7回タップ 設定に開発者向けオプションが表示される。

Blenderのimport export plugin(Addon)を作るスタート地点

イメージ
ご存知のようにBlenderのよいところは、機能の充実や情報が豊富なことである。しかも、オープン・ソースのため、その気になれば、痒いところには90%手が届く(それでもボクの頭で理解できないことはある)。実はこれはとても大事なことで、さんざん調べあげたところ、最後の最後にプロプライエタリによって壁を閉ざされることになったということは経験上何度もある。アセンブラ解析までしたことも1,2度ではない。もちろん、9.9割の確率で無駄に終わった。こんなときは閉鎖性の壁が自分の周りにあるようで途方に暮れる。所詮、独占元にコネがあるところやお金のあるところしか情報はもらえないのである(全て解決してくれないことが多いけどw)。幸い、今は大きく時代がかわりつつある。 ボクの仕事ではBlenderのExport pluginは一番使いたいし、作りたい機能である。改造しやすいのはWavefront .obj(.mtl含む)でこれをベースすればよいと思う。 Wikipediaにもフォーマット が書かれているぐらいシンプルさが良いのだ。アニメーションには弱そうだが、COLLADA(xmlなのとSIDの曖昧さがツライ,日本の企業がかかわっているからw)のように複雑で曖昧ではないし、FBXのような閉鎖性(ヘッダーファイルがあると喜んでも、それに貴重な時間をかける暇はない)もない。wavefront .objのソースをプリントアプトして、ラインを引きながら解析すればすぐ理解できるのでオススメだ。余談だが、ボクはグラフィック業界ではCOLLADAような内容でjson形式にして、シンプルさを追求した汎用ファイルフォーマットが必要だと感じている。WebGLにも利用しやすいだろう。 場所はblender 2.64a(pathはunix系)を例にすると、 blender/2.64/scripts/addon/io_scene_obj/ である。これをフォルダごと、もってきて、リネームし改造をすればいい。 __init__.pyの内容を変更して、自分の好きな名前にして、カスタマイズスタートすればいいと思う。 各オプションのデフォルトを自分なりに変えて、それを動かしながらおこなえば開発の感覚がわかってくる。 注意としては 2.62から、基礎部分である Matrixの互換性 がなくなっている

Ubuntu 12.10とキーボードとショートカットの設定

イメージ
Ubuntuのキーボードやショートカット(マウスボタン含む)設定は複雑すぎると思う。歴史的背景があるとはいえ、 うんざり。 タブレットやスマートフォン登場後は古臭くなってしまった。 複雑さの要因は設定箇所が最低でも5箇所あるからである: 1.システム設定内、ショートカット設定 2.Compiz + Unity plugin、ショートカット設定 3.Compiz default、ショートカット設定 A. システム設定内、キーボードレイアウト B. X-window ~/.Xmodmapによる キーボードレイアウト 、 2で出来ないところをカスタマイズ 簡単にショートカット設定できるのが1。しかし、2,3で同じキーが設定されていれば無視されるか設定できない。 A,Bはレイアウト。Aは簡単だが設定範囲がせまく、キーによってはBの設定が必要。 2と3はCompizConfigツールやgconftool-2を使う(これらは効果がなかったり、不安定)。 Bは~/.Xmodmapなどを編集設定。(<あとで気がついたのだがUbuntu12.10から.Xmodmapが無視され 無効になってしまっている , リンク先の対処でxmodmap ~/.Xmodmapをスタート時に実行することによって復活可能) 例: * BはControl、Altキーの配置換えが可能、細かなレイアウト設定ができ、Macの日本語キーボード等が使いやすくなる。また¥キーの\や¥表示の制御可能。 ~/.Xmodmapの例。MacKeyboard用に変更 ! It referred to https://help.ubuntu.com/community/AppleKeyboard clear control clear mod4 clear Lock keycode 37 = Control_L NoSymbol Control_L keycode 134 = Control_R NoSymbol Control_R keycode 133 = Alt_L Meta_L !### change 134 to 116 if using Ubuntu hardy, not 8.10 or later. ### add control =

Blenderで精確な作業

イメージ
グラフィックツールを使う上では、amatureを使わない短編アニメーションやイラストを作成するためならば、あまり必要がないテクニックかもしれません。しかし、 amature を使ったアニメーション、物理シミュレーション、ゲーム、建築物や設計などの分野では精確な作業が必要になります。 Blenderでは Precision work in Blender の記事が参考になりました。どうしても3Dツールは浮動小数点の不正確性やマウスなどの入力精度のため、ある程度、これらの癖を回避するテクニックが必要です。 詳細はリンク先を参照してもらって、概要は以下のようになっています。 using units  ユニット(単位)を精確に 3d axis  3Dの各軸 keyboard numeric input and axis constraints  キーボードによる数値入力と、座標軸に沿った編集  manipulators  マニュピレーターを活用 the transform properties toolbox  変換・プロパティ・ツールボックス上で入力 numeric input for modifiers  モディファイアのため数値入力 3d cursor  3Dカーソルを精確な配置 object origin  オブジェクトの座標系 object snap  オブジェクトスナップ(定移動) grid snap  グリッドにスナップ snap menu  スナップのメニューについて show edge lengths  エッジの長さを表示 pivot point  pivotポイント transform orientations  座標系の変換 align  並べる align rotation with the snapping target  ターゲットに沿って並べる divisions  分割を活用して精度良く 上記以外でボク自身が使うのはNormalの表示や、その方向を揃える。AmatureのWeight表示のAddon(少々不安定)を利用して、精確なboneへの割り当てを心がけるといったことが思い浮かびました。また、不安定要素が入る機能(eg:ModifierのDecimateやMeshRedu

Gimp 2.8.2 Export jpegの拡張機能と不都合

イメージ
Gimp 2.8.2 Export jpeg(Ubuntu 12.10 2012年11月現在 Stable)では、Advance OptionでProgressiveがCheckされている。このまま、ゲーム・エンジン(例えばLibGdx)などのjpegロードで使うとCrashすることがあるので注意しなえればならない。ゲーム開発者はProgressiveをアンチェックすることをオススメする。 参考: http://badlogicgames.com/forum/viewtopic.php?f=11&t=5742&p=27479&hilit=gimp+jpeg#p27479 参考: jpeg progressive wikipedia

GamePlay 3Dゲームエンジン

イメージ
GamePlay 3Dゲームエンジン、C++で書かれているオープンソース、フリーのクロスプラットフォーム3Dエンジンであり、physics engineは Bullet を使っている。Desktopからmobileまで利用できライセンスはApache2のため、使いやすい。 C++とOpen GLを使っているため、ポータブルで高速、おそらくシンプルだがアジャイルではない。その他、注目なのは現在 LibGdx にGamePlay-encoderの導入が計画され、javaとの親密性が高まりテストしやすくなると考えられる。 尚、対応フォーマット、Autodesk fbx, COLLADAをBlenderで確かめたところTextureの割り当てが変わってしまう(eg normalとmaskなど含む、Blenderでimport&exportを行う)。現時点では手動でテキスチャを割り当てなければならないか? Canadaで作られているのも中立性があって(?) 好感がもてるエンジンである(そのためかBlack Berryに対応、スポンサーかもしれない)。 ドキュメントもしっかりしており、チュートリアルに対してもドキュメントが丁寧である。とても、とっつきやすく注目している。

Level Editor (マップ・エディター)

イメージ
ゲーム開発でよく使うツールといえばマップ・エディタ(Level Editor/Map Editor)です。ゲーム開発のときは自前で作るものでしたが、最近、Open Sourceなどで使えるマップエディターが増えてきています。以下はそれを探した時にみつけた情報です。ボクが探しているエディタは2D構わないのですがJSONの出力ができ(もちろん、フォーマットはコードによってカスタマイズ可能なこと)、Box2Dなどの物理エンジン用にベクターが引ける機能があるものです。 Titledがこれらの機能あって候補になっています。ほかにBlenderを使ったLevel Editorは使い慣れるのに時間がかかりますが応用範囲は広いこと(特に3Dへ切替が容易)が利点です。幸いなことにボクはBlenderをよく使うので、この方法を応用するかもしれません。またInkscape応用もシンプルで良い道具だと思います。 Level Editorとは 参考: http://en.wikipedia.org/wiki/Level_editor フリーを含め、いろいろなものがある。Ubuntuで利用できるもの中心に探した。また開発が頓挫しているものは出来るだけ省いたつもり。 以下は注目しているツールやその応用 http://www.mapeditor.org/    Tiled PPAは https://launchpad.net/~mapeditor.org/+archive/tiled http://blog.greweb.fr/2012/04/blender-as-a-2d-game-map-editor-proof-of-concept/   Blenderを使ってLevel Editor http://wiki.xmoto.tuxfamily.org/index.php?title=How_to_create_smooth_levels_using_Inkscape     Inkscapeを応用する例 その他のツール http://www.ogmoeditor.com/  Ogmo windows向け C#で書かれている。 http://game-editor.com/Main_Page  Geme-editor  ゲーム開発ツール http://code