2020年の12月に拙著「Python3 3Dゲームプログラミング」を出版しました。
https://www.kohgakusha.co.jp/books/detail/978-4-7775-2129-6
ところがなぜか、いくつかのオンライン書店で「Pythonではじめる3Dゲーム開発」というタイトルに間違えて登録されているようです。
理由はわかりませんが、両者とも同じ「Python3 3Dゲームプログラミング」の画像が使われているはずなので、確認してご購入してください。
2020年の12月に拙著「Python3 3Dゲームプログラミング」を出版しました。
https://www.kohgakusha.co.jp/books/detail/978-4-7775-2129-6
ところがなぜか、いくつかのオンライン書店で「Pythonではじめる3Dゲーム開発」というタイトルに間違えて登録されているようです。
理由はわかりませんが、両者とも同じ「Python3 3Dゲームプログラミング」の画像が使われているはずなので、確認してご購入してください。
現在、フキダシの指示に従って3Dデザインしていくだけで3DCGが上達する「お手本モデラー」を開発中です。
さらにプロのデザイナーが3Dデザインする過程を記録してフキダシのお手本にして、プロの技術が学べる予定です。

https://otehon.cco24.com
そこで困ったプログラミングの解決策をシェアします。
ディズニー傘下の「Pixar」がオープンソースで公開している3Dモデルの曲面化ライブラリ「OpenSubdiv」でエラーに悩まされました。
頂点や面の3DデータをOpenSubdivに渡したらそれを、指定したmaxlevelまで曲面にしてくれます。
最初はそれほど苦労しなかったのですが、公式サイトを見て解決したことがあります。
https://graphics.pixar.com/opensubdiv/docs/subdivision_surfaces.html#non-manifold-disconnected-vertex
普通の3Dプログラムでは面を構成する頂点インデックスが頂点を指し、面の頂点インデックスで使われない頂点があってもOKです。
ところがOpenSubdivはなぜか独立した頂点があるとエラーが出ます。
特に三角形のあるモデルに、ラインなどがあると独立頂点となってエラーがでます。それなのにReleaseビルドだとエラーが出ないこともあり、Debugビルドでは必ずエラーになるので、最初エラーに気づきませんでした。
そこで独立頂点を無くして、すべての頂点がいずれかの三角形面や四角形面に属するようにしたら無事解決しました。
2Dと3Dで円周上の点の座標を求めるとき、XとYのベクトル、XとZのベクトルでsinとcosが逆になることに気づきましたか?

その原因は、2DではX軸にプラスの方向、つまり右方向が回転角度が0度になります。
それに対して3Dでは、Z軸に手前の方向が回転角度が0度になるからです。
本当は3DもX軸にプラスの方向を回転角度を0度にすべきかもしれません。
「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,
に変更するのに気づきませんでした。
「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」で色が入れ替わらなくなります。
漫画を読んだり投稿できるWebサイト・スマホアプリの「comico」「comicoPLUS」に、自作3D漫画「Rebirth」を投稿しました。

http://www.comico.jp/user/385237288/article/
物語は、アメリカ留学したヒロイン「サクラ」と謎の力を持つ主人公「ヒスト」が付き合っていたのですが、その間にマフィアのドン「ガイア」が現れ、地球の運命が左右されることに発展していく話です。
是非「オススメ」の「ハート」をクリックして下さい!
僕には何ができるか模索してて、試しにマンガを描いてみました。
でもマンガを書くのはあまり向いてないかなあ…。
だけど「失敗したってチャレンジしたってこと」なので、挑戦もせずに諦めるよりはマシだと思うことにします。
シンプルなのにパワフルで人気のプログラミング言語「C#」を使って、iOSやAndroidやWindowsとの間でクロスプラットフォームするIDE(統合開発環境)を紹介します。
■2Dや3Dゲームを作るならゲームエンジン「Unity(ユニティ)」がオススメです。
http://unity3d.com/jp/
10万ドル未満の収入の個人でも会社でも無料版が使えます。
Windows版とMac版があります。
■ツールを作るなら「Xamarin(ザマリン)」がお勧めです。
https://www.xamarin.com
個人か、年商100万ドル未満の会社なら無料版が使えます。
Windows版とMac版があります。
どちらもC#言語も使えて、無料プランがあるのが嬉しいですね。
「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でこうぼやきました。
「ドコモの賞でグランプリ、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ライブラリやそれを自分で解説した入門書の紹介や、英語版まで作ったので、充実した内容だと思っていたので、やっぱり掲載される基準を満たしていると思っていました。
https://roxiga.com
「Vixar Studio for HTML5」の商用利用は有料です。
https://vixar.jp/html5/
商用利用は必ず作者の許可が必要です。
ただし個人で非商用目的ならフリーソフトです。
今回のバージョンアップから、標準のJavaScriptだけでなく「jQuery」のプログラミングの入門講座も設けました。
今後は「jQuery」入門ドキュメントを増やしていこうと思っています。
遅くなりましたが「VixarStudio for HTML5」は、短いコードを少しずつ追加していって、その場でプログラムをコーディングして実行できる、HTML5+CSS+JavaScriptプログラミング入門のための実習システムです。