1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

終:5秒で告白

1
Last updated at Posted at 2026-10-17

背景

物語は5年前から始まった...
そう、クソアプリを作ったところから...

おおよそ、2年周期ぐらいでやってくる、この感情...
「自分はもっとやれるんじゃないか」と...
3度目の正直ということで、今回はクソアプリカレンダーではなく、普通にトライしてみました

結論

成果物はこちらです
PC/スマホに対応したWebアプリです
メモリ・処理的にスマホはちょっと厳しいところありますが

制作工程

実際の時系列通りではないのですが、説明がしやすい順番で書いていきます

キャラクターを作る

確か、きっかけはiPad版VRoid Studioがあることを知ったから
iPadならPencilあるし、もっと上手くできるかも…と
結果的にはiPad版はクラッシュが多くて諦めて、PCで作業しました(pixivさん頑張って!)

で、作ったモデルはこんな感じ
私の個人的な好みとして、目が大きすぎず、ペルソナの副島さんのような絵柄が好きです
もしくはバクマンの小畑さん

image.png

勢いで量産します

image.png

ここで1個だけこだわりがあります
VRoid Studioでは目頭のあたりまでアイラインが引けませんでした
そのため、Astraに作ってもらったBlenderとMCP経由で通信するアプリを使ってアイラインを加工します

image.png
image.png

テクスチャを貼る

制服姿は手作業でテクスチャを修正してましたが私服は気にいるのがなかったので1から作ることに
Codexを使ってテクスチャを作りました(Astraだったか、Solだったか忘れました)

image.png

バリエーションを作る

カバンを持った姿も欲しかったのでリュックをAstraで作りました
そのまま作るとシェーダーをMToonにしてくれないのでVRoidと同じになるようにMToonを設定してもらいます

image.png

表示系を作る

ZennのScrapに書き留めてました

すっぴんの表示と比べて、これぐらい見た目が変わります

image.png

アウトライン(輪郭)の線をマテリアルの色の同系色にしたい、つまり顔の輪郭は茶色、青い服の輪郭は紺色みたいな感じにしたいのに1〜2年前のAIではコーディングできない…で諦めていたのですが最近試したらできたのをきっかけに、どんどんレンダリング・ポストプロセスを追加していきました

人だけでなく陰影のコントラストやブルームによる発光、路面の水溜りやアニメ映画っぽい雰囲気を目指して処理を追加

image.png

image.png

音声を作る

Irodori-TTSを使いました
Irodori-TTSは本当に素晴らしいです

ボイスデザインの機能で各キャラクタの音声を作っていきます
こんな感じでボイス案を作ってもらって選んでいきます

image.png

最終的にゲームの台本ができると音声が1000個以上必要だったのでColab CLIを使ってバッチ生成しました
利用したモデルはIrodori-TTSのLargeです

音声を生成し、Whisperで文字起こしをして怪しい奴をピックアップするというのもColab内で実施します

image.png

image.png

リップシンクを作る

オレオレリップシンクを作ります
本来、音声と口の形は人によって異なるためリップシンクにはキャリブレーションが必要です
ただアニメでそこまで正確なものは不要なのでAIに適当な閾値で作ってもらい、メインヒロインの音声で「あいうえお」の口の形を確認して違和感ないことを確認します
この処理はWASMにする方が向いているので、処理を切り出してWASM化します
また音量によって口の大きさが変わるようにして、小声なのに口を大きく開くことがないようにします

lipsample.gif

表情を作る

VRoidで作ったVRMにはExpressionが最初から用意されているので、笑顔や怒りなどの表情が最初からあります
デフォルトだと漫画みたいな顔になるのでパラメータを変更します
またカスタムな表情を作ることができるため、いくつか追加します
この例では以下を組み合わせています

  • 眉は「悲しい」で目は「嬉しい」
  • 頬を赤くするテクスチャ
  • 怒りマークを表示するテクスチャ

これで「ラッキースケベが起きてワナワナしているヒロイン感」がでた...はず

image.png

モーションを作る

mixamoのFBXでモーションを再生しています
可能であればmixamoを利用します

image.png

mixamoは戦い系の動きが多いので日常生活の動きがあまりないので追加で用意する必要がありました

ardy-miniを試す

ardyはちょっと重たいのでminiで試してみました
ガチャ要素が強く、歩くとかそういう動きは良いのですが、腰に手を当てて立つとか結構できない動きが多いので諦めました

イラストから作る

Codexでイラストを生成し、Colab CLIで画像→SAM3D Bodyの姿勢推定をします
その後、接地・IKの制約を入れながらmixamo形式のFBXに変換します

sam3d_mesh_views.png
sam3d_pose_2d.png

破綻をチェック

衣装の貫通を確認し、下の衣装のテクスチャを消したり肌マスクをかけたりします
AIで自動チェックできないかと思ってやってみましたが、自分でわかっていた以上の発見はなかったです

image.png

また、体の貫通があるのはわかっているのですがOpusで調整してもなかなか...というところなので、「人間はその方向に関節は曲がらない」というもの以外は修正できていないところがあります

image.png

背景を作る

背景には1枚絵の背景と、簡易的な3D背景を作りました
簡易3Dは箱や板にテクスチャを貼ってそれっぽく見せている背景です
遠近感を出すために表示時は遠くの風景はぼかしが入るようにしています
Opus+Codexでガリガリ作ってもらいます

image.png

image.png

ここまででエンジンとStudioアプリが完成

こんな感じでStudioアプリができました
台本があれば簡単な指示でAIがシナリオを作れるようになりました
解像度的に顔のアップとかは粗が目立つので、「極端な接写をしない」などのルールをインストラクションとして書いてます

image.png
image.png

効果音を作る

効果音ラボさんの効果音を利用していましたが、探すのが面倒になってきたのでStable Audio Openで生成するようにしました
新しいモデルでもないし、ちょっと怪しい音もありますが、8割ぐらいはまあいいかな・・・という感じ
これもColabでバッチ生成しました

BGMを作る

Sunoは無課金ユーザーなのでGeminiでLyriaを使って音楽を作りました
まあまあ良いです

ゲームシステムを作る

よくある感じのゲームシステムで作りました

  • 1日X回行動すると1日が終わる(今回は2回)
  • 強制イベントが発生する
  • 選択肢で好感度・フラグが制御される
  • 選択肢でオートセーブがされる

image.png

オリジナリティとしては夜にヒロインから連絡(TV電話、通話、メール)が来ることがあります

image.png

すべてを3Dで準備はできないのでカットイン画像や一枚絵画像を組み合わせて誤魔化します
最近はTiboリセットが頻発してるのでガンガン作ります

image.png

パフォーマンスチューニング

事前ロード

VRMモデルが結構重たいのでモデルはアプリSTART時に事前ローディングします
音声・背景はシナリオ開始前の幕間でローディングします

メモリリーク対応

通しで動かしてるメモリ利用量が1GBを超えてました
調べるとThree.jsのキャッシュは消えずに溜まることがわかったのでキャッシュはしないようにしました

モバイル対応

レンダリングを色々いじった関係で描画が重たいです
そのため一定のフレームレートを下回ると一部レンダリング処理をOFFにします
そのほか、処理を何回か見直して計算回数を減らしました(例えばThree.jsのgodraysの処理を見直すなど)

シナリオを書く

以下の流れで作りました

  • 出だしを考える
  • Gemini 3.8 Flashと壁打ち
  • Gemini 3.8 Flashに全部書いてもらう
  • Opus 5.5で見直して修正してもらう
  • 自分で読んで書き換える

作業にはオレオレ執筆ツールを使ってます

image.png

結果、5万文字ぐらいのボリュームになってます
正直、気力が持たず、結構妥協している部分があり、展開が変・言葉足らずだったりヒロインによって作り込みの差があります...

テストプレイ

プレイして、気になった点をメモに書き留め、Opusに丸投げを繰り返す日々です

おまけでBoothでモデルを公開

GitHubのpublicなリポジトリにもモデルは入ってるのですが初めてBoothにも出品してみました
無料なので気に入ってもらえたら宣伝しておいて下さい笑

完成?

たぶん、いつまで経っても完成はしないと思うのでキリの良いところで公開しちゃいます

感想

個人的にはだいぶ頑張ったのですが、ぶっちゃけそんなにプレイはされないだろうなとは思ってます笑
またその道のプロの方をXで見かけると、当然ですが全くレベルが違うなと...
このシリーズは1回終わって、次を作るぞ

この記事について気に入ってもらえたら、是非「いいね」やXのフォローなどお願いします

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?