自分でゲーム作って、自分で楽しんでいたりしていたのですが、やっぱりいろんな人に見てもらいたいという気持ちはあるんですね。
そこで自作ゲームを公開したのですが、誰かやってくれると信じてゲームのネタバレで書きます。
このブログは技術ということでその辺も書きます。
まず、ゲーム自体は移動するだけのものです。
あるエリアに入るとプレイヤーに向かって歩いてきます。
それからまた後ろのドアから帰ろうかな(という設定)としてエリアに入ると、言いたいことがあるという話になります。
それから場所を離れて、もう一回後ろのドアから帰ろうかな(という設定)としてエリアに入ると「好き」と告白されます。
これはすんなりいった場合です。
ほとんどの人が、それまでに胸を触ってしまったりして驚かれてしまうと思います。一回でも触ってしまうと嫌いルートしかありません。
5回以上触れば明確に「嫌い」と言ってプレイヤーから離れていきます。
いわゆるゲームオーバーでこの後は教室を歩き回って見学するか、怒った顔のままのヒロインを触りまくるかしかありません。
個人的に「嫌い」と言われて振り返って去る雰囲気は好きです。
実はこのゲームは「好き」と言ってもらえればそれでいいのですが、その後の楽しみ?もあります。
「好き」モードになると
・何をしても怒ることはありません。
・帰ろうかなと後ろの引き戸の引き手に触れる度にポージングしてくれます。(帰らないでモード突入)
・ヒロインの体の一部に触れると反応するようになります。
まあ、ここまできたら何も進まないので自由に動いてください。
ポージングしてもらって近づくと顔が消えてしまったりするので、ホラーゲームの要素ありにしておいてください。(原因は調べていません)
ロッカーも開くんですよ。
技術的なことは3Dのモデリングしていたらそれの技術者になってしまうくらい時間がかかってしまうので、ヒロインはVroid、教室はAssetで用意しました。
感謝です。
ヒロインはほとんど標準モデルですが、髪の毛だけポリゴンが多かったのでVroidで簡単な髪の毛を作成しました。
3万近いポリゴンから1万7千ポリゴンまで減らせました。
そのままUniVRMで読み込みましたが、シェーダーがMToonのままだとカクカクしましたので大部分をMobileシェーダーにしたところ滑らかになりました。
髪の毛はMToonのまま。(替えると白髪に)
スカートは裏面も欲しかったのでMToonのまま。
胸、スカートが手に反応するようにコライダーを付けて触ると揺れるようにしました。(これは絶対いるかと思いまして)
UniVRMのライブラリにあるBlinker.csでまばたきできるようにしました。
喋りに関してはVoiceRoidを使用。
「紲星あかり」を購入したものの使い道がなくようやく日の目を見た感じです。
その音声とRipSyncを使っています。
とにかく今までquestの実験をしてみて、それを集大成にした感じです。
最終的には今はなき「elf」の同級生VR版をプレイしてみたいとは思いますが、それを私が作るのはほぼ無理です。キャラクター作りやフラグ管理、シナリオなど大変です。
私が求めたのは何かときめきや遊び心といったものが表現できればと思い作りました。
elfの場合、ときめきはともかく、画面を色々とクリックするとそれに反応してアニメーションしたりするのが楽しかった記憶があります。
今のVRに関してもこのドアは動くのだろうか?この道具を持って投げてみたらどうなるだろうか?とプレイヤーは思うはずです。
ロッカーが開くのはこういう感覚から面倒でも作りました。
結果的にロッカーには何も入っていませんが・・・
(構想では開けると誰かが入っていて、「これから起こること黙っててあげる」と言ってそっ閉じの演出をしたかったのですが面倒で)
今後はこんな感じでカジュアルゲームと呼ばれる範囲で何か作っていきたいなと思っています。
5chQuestスレから来ました。
ゲームプレイしてみました。キャラと教室のアセットの質感がよくマッチしていて全体の雰囲気いいですね。
他のエントリーですが、「CharacterCameraConstraintコンポーネント」の件が参考になりました。
これの存在をしらず移動などで物体にめり込んだり境界を越えて移動できてしまって悩んでしましたが解決しました。
情報ありがとうございます。
それと毎回ビルドとやってらっしゃるようですが、地味に時間がかかって面倒ですよね?
うちの環境ではALVR(例の7.0パッチを当てたもの)経由でUnity環境プレビューできていますよ。
実行時、手の角度が実機と若干差が出るのと、A,Xボタン押下が検出できない以外は問題なく動いています。
BuildSettingで”PCのほうの”PlayerSetting->XRSettings->VirtualRealitySDKsにOculusとOpenVRが追加されていれば動くようです。
SteamVRでコントローラが検出されないときもありますが、いったんSteamVRを落として、Unity実行するとSteamVRが勝手に起動されてコントローラも正常に認識します。
プレイしていただきありがとうございます。
また、記事を参考にしていただきありがとうございます。
CharacterCameraConstraintを付けないと体がそのままでカメラだけ動いているような動きをしますね。
私も悩みました。
ALVRはまだ試していません。
毎回ビルドは本当に面倒です。
一度試してみます。
情報をいただきありがとうございました。
ALVR経由のプレビューの件の補足ですが、BuildSettingのPC側ほうの設定も必要ですがプロジェクト自体はAndroid用にスイッチしたままで問題なく動きます。
例のバージョンアップ以降、ALVR経由だとCustomHandが出ない現象が起きていましたがCustomHandにアタッチされているHand.csのOnInputFocusLostファンクションの中身をすべてコメントアウトすることで表示できるようになりました。
ありがとうございます。
まとまった時間が取れたら試してみます。
> 近づくと顔が消えてしまったりする
目前まで近づいてもポリゴン透過しないようにする設定は、CenterEyeAnchorのCameraコンポーネントで、ClippingPlanes Nearを0.01とかに設定すればいいよ
試してみましたが、やっぱり消えてしまいました。
ヒロインが立っている場合は消えないのですが・・・
せっかくなので調べてみました。
http://kan-kikuchi.hatenablog.com/entry/UnityMaskMan_Massage
https://vinsatoo.hatenablog.com/entry/2018/08/07/165805
これをすると消えなくなりました。
次回作では反映したいと思います。
きっかけをいただきありがとうございます。
[…] ブログにてネタバレしています。 http://hondasoft.com/2019/08/18/%e5%90%8c%e7%b4%9a%e7%94%9fvr%e3%81%ae%e3%83%8d%e3%82%bf%e3%83%90%e3… […]