前回構想だけ書きました。
本当は一つづつ作って言ったほうがいいのかもしれませんが、私はちょっとずついろんなものに手を出しながら進めるのが好きなので、それぞれのシーンの土台を作っていきます。
全体
移動やtipの表示などのVR部分はVRTKを使います。
サンプルが充実しているので、初心者でもやりやすそう。
あと全体的にアセットはいっぱい使っていきます。下の記事はVRをしている人がまとめてくださったものなのでとても役に立ちそう!
【全部タダ!】無料で使える Unity Asset 50選 -3Dモデル編- | syyamalog
シーン遷移
ホーム画面から各シーンへの遷移は、ドアとの距離での判定にしました。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class scene : MonoBehaviour {
/// <summary>
/// /ドアと自分の位置の距離で、シーン遷移を判定するスクリプト
/// </summary>
public GameObject me;
public GameObject doorgun;//ガンシュミレーター
public GameObject doorkare;/// VR彼氏のどあ
/// Start this instance.
/// </summary>
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
Vector3 Mepos = me.transform.position;
Vector3 Gunpos = doorgun.transform.position;
float disgun = Vector3.Distance(Mepos,Gunpos);///銃との距離
if (disgun < 1) {
SceneManager.LoadScene("gun");
}
Vector3 Karepos = doorkare.transform.position;
float diskare = Vector3.Distance(Mepos,Karepos);///彼との距離
Debug.Log("Distance : " + diskare);
if (diskare < 1) {
SceneManager.LoadScene ("karepip");
}
}
}
メニューボタンの押下を感知するスクリプトなどはこちらにまとめてありました。
メニューボタンを押したら、「ホームに戻る」と「ゲームをやめる」を選べようにしたいです。
ガンシュミレーター
アセット
銃は下のアセットを入れてみました。
とりあえず広げてみました。おおー。PUBGで見たことある銃の名前が並んでいます。
また雰囲気を作るために軽率に下記の環境アセットを入れて見ました。墓地
敵役はこのモンスターアセットを入れようかなと思ったけど、まだ早いかな。
銃を打てるようになってからにします。
銃を撃つ
銃をつかめるようにして、トリガーを引いたら球が出るというシンプルな感じにします。
VRTKサンプルの中に銃を撃つサンプルがありました。gunという名前のスクリプトを銃につけてやっていますね。
またgunの下にBulletという名前の弾を銃口先に置いて非アクティブにしています。
全部でこれだけのスクリプトをつけている。
gunの設定はこんな感じに。
VR彼氏
こちらのアセットを使わせていただきます。
というかこれぐらいしかフリーのアニメ調の男キャラっていないのでは??
プロ生ちゃん的な存在のイケメンをください。
早く自分でモデリングできるようになろう。
それはそうとこのアセットすごくいいですね!モーションも服も豊富!
viewerシーンで全てのモーションと服を確認できます。
規約とかは下のサイトのFAQに書いてありました。すごく寛容な規約。
部屋
イケメンの部屋でお話ししたいので、sweethomeで作りました。
「イケメン+部屋」で画像検索して出てきた部屋を参考にしました。
マテリアルをトゥーンからstandardにしたらこんな感じになります。
今回はstandardにします。
動かしたり、いじったり
こっちを向いてくれるスクリプトをつけたのですが、なぜか目玉がめっちゃオーバーに移動する。どうしたものか・・・
setlookatweight関数を使っているのでこれの数値をいじればよくなるのかな?
でも他のモデルでもちゃんと動くから、モデルの設定のせいなのか。
あとテクスチャをいじって、青髪青目にしたのですが、それをcollaborateでアップしようとするとMD5 does not muchっていうエラーが出てアップロードできない。
フォーラムに同じ質問がありました。計算中らしい。
結局unityを再起動したら治りました!
一旦休憩
一応VRでも動作確認はしているのですが、研究室のパソコンでやっているので動画とるのめんどくさいので動画はしばらくないかもな