OpenSubdivで独立頂点があるとエラーが出る不具合

現在、フキダシの指示に従って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ビルドでは必ずエラーになるので、最初エラーに気づきませんでした。
そこで独立頂点を無くして、すべての頂点がいずれかの三角形面や四角形面に属するようにしたら無事解決しました。

Webサイト「macOS研究所」日本語版・英語版の公開

ゲームやツールやデモのmacOSアプリやiBooks電子書籍が無料でダウンロードできるホームページ「macOS研究所」「macOS Lab」を公開しました。

今まではiOSアプリと一緒にWebサイト「Cyberdelia.net」で公開していたものを分離しました。
ホームページの設計は、ジャンルごとに1つのテーマに特化したコンテンツがいいと聞いたので。まあmacOSで動くiBooks電子書籍はmacOSアプリと一緒だと考えています。

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

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


https://engine.roxiga.com

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

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

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

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#言語も使えて、無料プランがあるのが嬉しいですね。

3Dツールの「ビクサー」、2Dツールの「ソフトウェア研究所」

以前までオリジナルのWindows用3D・2Dツールを公開していたVIXARから、2Dツールだけ「ソフトウェア研究所」に移転しました。


https://software.vixar.jp

でも元々VIXARは3Dがメインのサイトだったので、2Dツールはあまりパッとしません。

何でもあるホームページだと、訪問客が何のサイトかわかりにくいかな?と思ってジャンル別にホームページを分けて来ました。

本当はたくさんのコンテンツを作るより、優れた1つのコンテンツを徹底的にブラッシュアップできたほうがいいとは思いますが。