Metalライブラリ「RoxigaEngine」サイト公開

「macOS」の「Xcode」の「Objective-C」言語で「Metal」プログラミングする3Dライブラリ「Roxiga Engine」とそのサイトを公開しました。


http://engine.roxiga.com

3Dデータは「Autodesk FBX」形式をRoxigaEngine専用形式に変換して表示できます。
FBXファイルは、ボーンアニメーションした1オブジェクトで1マテリアル1テクスチャが必須です。
この変換には「macOS」アプリ「FbxToCSharp」を使います。

「RoxigaMain.mm」ファイルにコードを記述するだけで、3Dゲームなどの3Dコンテンツが作れます。

できればこのRoxigaEngineの入門書を執筆できたらと思っています。

Xamarin.iOSのMetalで3Dプログラミング

「Visual Studio for Mac」で「Xamarin.iOS」の「Metal」をいじっています。

でも「FBX SDK」は「C++」なので、「Cocoa」の「Objective-C」で、FBXファイルを「CSharp」ファイルにモデルデータとアニメーションを配列として書き出すところまでプログラムができました。

困ったところは、「シェーダー」でコードからボーンの番号を「int」型で送ったらうまくいかず「float」型でボーン番号を送ったらうまくいきました。

また「SetVertexBuffer」の「offset」を変更することでアニメーションさせているのですが、オフセットのサイズに「sizeof(float)」の値も乗算してやる必要がありました。

また「DirectX」や「OpenGL」ではデフォルトでZバッファが効いていましたが、「Metal」は常にZバッファを上書きする
DepthCompareFunction = MTLCompareFunction.Always,
だったのを、既存のZバッファより手前に描かれるときにだけ描画する
DepthCompareFunction = MTLCompareFunction.Less,
に変更するのに気づきませんでした。

UrhoSharpのプロジェクト設定方法

「Xamarin」の「UrhoSharp」の設定方法を4つ紹介します。

①プロジェクトフォルダで「右クリックメニュー」の「オプション」メニューで、「ビルド」→「全般」→「ターゲットフレームワーク」→「.NET Portable」→「Change」ボタンを押し、「.NET Framework」「Windows 8 or later」「Windows Store apps(Windows 8)」「Xamarin全部」にチェックを入れ、それ以外のチェックは外します。
これで「UrhoSharpパッケージ」が追加できるようになります。

②3つのフォルダのそれぞれを「右クリックメニュー」で「追加」→「NuGetパッケージの追加」で、右上の検索窓に「UrhoSharp」を入力し、選択して「Add Package」ボタンを押します。

③Droidフォルダを「右クリックメニュー」の「オプション」メニューで、「実行」→「構成」→「Default」→「Intent」タブ→「明示的インテント」→「Activity」でActivityを指定すると、「Back」ボタンでActivityを終了できるようになります。

④iOSフォルダを「右クリックメニュー」の「オプション」メニューで、「ビルド」→「iOS Build」→「パッケージ」→「PNG画像の最適化」のチェックを外します。
これで「RGB(A)」→「BGR」で色が入れ替わらなくなります。

英語版「共通点を探せ!」の「Spot the common」

スマホアプリ版はNTTドコモのコンテストでグランプリも取った「共通点を探せ!」の英語版を公開しました。


http://english.vexil.jp

「Spot the common」というサイト名にしましたが、正確には「Spot the point in common」かもしれません。

よく似た2つの絵を見比べて間違い探しするクイズとは逆に、異なる絵から共通点を探す脳トレクイズです。

PCブラウザだけでなく、スマホブラウザでもお楽しみ下さい。

スクロール間違い探し「ZEXIO」をHTML5に

間違い探し脳トレクイズ「Zexio.net(ゼクシオ・ドット・ネット)」をバージョンアップしました。


http://zexio.vixar.jp

画像が左右にスクロールして、画面から見えなくなったところで1箇所変化があるので、それを探す間違い探しゲームです。

以前はFlashで作っていたのですが、廃れてきたので、今回HTML5+JavaScript+cssで作り直しました。

comicoで自作3D漫画「Rebirth」を公開

漫画を読んだり投稿できるWebサイト・スマホアプリの「comico」「comicoPLUS」に、自作3D漫画「Rebirth」を投稿しました。

Rebirth+
http://www.comico.jp/user/385237288/article/

物語は、アメリカ留学したヒロイン「サクラ」と謎の力を持つ主人公「ヒスト」が付き合っていたのですが、その間にマフィアのドン「ガイア」が現れ、地球の運命が左右されることに発展していく話です。

是非「オススメ」の「ハート」をクリックして下さい!

僕には何ができるか模索してて、試しにマンガを描いてみました。
でもマンガを書くのはあまり向いてないかなあ…。
だけど「失敗したってチャレンジしたってこと」なので、挑戦もせずに諦めるよりはマシだと思うことにします。

C#言語でスマホアプリ開発はUnityとXamarinで

シンプルなのにパワフルで人気のプログラミング言語「C#」を使って、iOSやAndroidやWindowsとの間でクロスプラットフォームするIDE(統合開発環境)を紹介します。

■2Dや3Dゲームを作るならゲームエンジン「Unity(ユニティ)」がオススメです。
http://unity3d.com/jp/
10万ドル未満の収入の個人でも会社でも無料版が使えます。
Windows版とMac版があります。

■ツールを作るなら「Xamarin(ザマリン)」がお勧めです。
https://www.xamarin.com
個人か、年商100万ドル未満の会社なら無料版が使えます。
Windows版とMac版があります。

どちらもC#言語も使えて、無料プランがあるのが嬉しいですね。

Yahoo!カテゴリで「スマホ対応」マークを付けてもらうには?

「ROXIGA.COM」というホームページをYahoo!カテゴリで「スマホ対応」のマークを付けてもらいました。
http://dir.yahoo.co.jp/Computers_and_Internet/Mobile_Computing/Cellular_Phone_and_PHS/Cellular_Phone/Mobile_Games/

「スマホ対応」マークの付けてもらい方は、まず最初にYahoo!カテゴリにホームページを登録してもらいます。
それからカテゴリサイトの「変更」の手続きで「スマホ対応」をお願いしたら、スマホに対応している場合は多分必ずマークを付けてもらえます。

このやり方で、「HTML5研究所」というホームページも「スマホ対応」のマークを付けてもらいました。
http://dir.yahoo.co.jp/Computers_and_Internet/Programming_and_Development/Programming_Languages/JavaScript/Games/

Twitterで発言したらYahoo!カテゴリに登録してくれた

先日Twitterでこうぼやきました。

「ドコモの賞でグランプリ、GMOの賞で音楽部門大賞、Sonyの賞でファイナリストになった自作Androidアプリ達のサイト「ロクシーガ(ROXIGA.COM)」がYahoo!カテゴリに載せてもらえない。なぜ?」

するとYahoo!カテゴリの公式アカウントさんがそれを見たらしく、運よくYahoo!カテゴリに掲載してもらうことができました。
http://dir.yahoo.co.jp/Computers_and_Internet/Software/Operating_Systems/Android/Applications/
http://dir.yahoo.co.jp/Computers_and_Internet/Mobile_Computing/Cellular_Phone_and_PHS/Cellular_Phone/Mobile_Games/

コメントにもあるように、ゲームやアプリだけでなく、プログラミングするための3Dライブラリやそれを自分で解説した入門書の紹介や、英語版まで作ったので、充実した内容だと思っていたので、やっぱり掲載される基準を満たしていると思っていました。
http://roxiga.com