iOS 専用 AR エロゲ:致命傷との奮闘記
iOS の AR 機能「Reality」を利用したエロゲエンジン、だいたい使えるところまでできてきました
iPhone をハッキング(単なるデータ解析)し続けたこの二週間、地獄のような日々で、挫折しそうだったのでその記録を書き殴らさせてください涙
3D ゲーム開発なら当たり前にあると思ってた機能がこの iOS の AR では全然使えなくて死ぬかと思いました
奮闘記
致命傷①:透過が使い物にならない
Reality にも PNG のアルファチャンネルを使った透過テクスチャの機能はありました
ですが 3DCG の半透過表現はラスタライズというアルゴリズムの特性上「半透過の物体の裏に後からものを描画できない」という制限があります。
なのでこの制約に則って描画順を調整しないと破綻するのですが、Reality には描画順制御の機能がありません
体のどこかに半透過のものがあるとランダムで体に穴が空いたりします。これじゃ透過処理使えない
どうにか実現できないか試行錯誤しましたがダメなようなので
Blender側で透過部分のメッシュを全て削除する形で落ち着きました。
致命傷②:シェイプキーがない
ライブラリによっては「ブレンドシェイプ」、「モーフターゲット」とか言われます。
3D では人体のポーズなどはモノと骨を紐づけて、骨を動かしてアニメーションを制御しますが、
骨単位では制御しきれない細かな動きは、頂点を直接動かすシェイプキーが使われます。
motherd がよく使っている VRoid では表情の切り替えに使われてます
そして Reality はこのシェイプキー非対応、つまり VRoid の表情データが使えない!うわあああああ!
3DCG では当たり前にある機能なので、あって当然だと思っておりました涙
自分で骨制御で表情切り替えるモデルを作ればいいのですが、やはり工数がかかります
「表情のメッシュを入れ替え」など代替案を考えましたが、それもRealityの仕様上動きません(スケルトンの移動制限)
悩みに悩みましたが、しかたがないので簡易なボーンベースの目と口開閉の仕組みを作り、 VRoid の表情データを使わないことを決めました。
開閉しかできず、しかも完全に閉じれない半開きなので豊かな表情はできませんが、一切動かないよりは生気を最低限感じられます。
致命傷③:保存データの情報なし
さすが秘密結社Appleさん、全然この Reality の仕様も保存データのフォーマットも公開してくれてません涙
プロジェクトデータを保存しては中身解析、また保存しては中身解析、、また保存(ry
の繰り返しでどうにかファイル構造を解析できました。
探し物ゲームは作れそうです
致命傷④:体と体のぶつかり合いは3Dでは難しい
まずはこんなかたちで♀と竿役のゲームでも作ろうと思ったのですが、どうしようか悩み中
これは Reality だからではないのですが 3D ってキャラ同士が密着するアニメって難しいんですよね
片方を動かしたら、もう片方がめり込まないように調整、それに合わせてさらに片方を調整、それに合わせて(ry
の繰り返しが本当に地獄
人x人(?)をやりたいと思いつつ、挑戦してみるとなんで自分は「触手」や「物理演算」に逃げてるのかを思い出させられます涙
また触手にしようかな…と言ってもそうすると Reality 用の触手システムを作らないといけませんが涙涙涙
次回
最低限の動作はできたので iOS ユーザーならプレイできるAR作りたいです
お盆休みは Let's お外でAR青姦!
と行きたいですが、お盆過ぎたらすみません汗