unity1weekのお題「Flow」の作品制作です。完成しました。
クエリちゃんの表情をランダムで変える
クエリちゃんのサンプルを見て、表情をどう変化させているのか確認しました。
まずクエリちゃん自身にQuery Emotional Controllerというスクリプトがついています。これは表情マテリアルを登録するスクリプトっぽい。
次にボタンのスクリプト「GUI Controller」の中身を見ます。
Change Faceという表情を数字で変える関数を作り、updateの中でその関数を呼び出していました。
ということでそこらへんを組み合わせて、2秒ごとぐらいに表情をランダムで変えるスクリプトを作りました。
また落下(ゲームクリア)した時は目がぐるぐるになるようにしました。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class facechange : MonoBehaviour {
[SerializeField]
protected GameObject queryChan;
private float timeleft;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
timeleft -= Time.deltaTime;
if (timeleft <= 0.0) {
timeleft = 2.0f;
if (ranking.rakka == 0) {
int a = Random.Range (1, 24);
ChangeFace ((QueryEmotionalController.QueryChanEmotionalType)a);
} else {
ChangeFace ((QueryEmotionalController.QueryChanEmotionalType)23);
}
}
}
void ChangeFace (QueryEmotionalController.QueryChanEmotionalType faceNumber) {
queryChan.GetComponent<QueryEmotionalController>().ChangeEmotion(faceNumber);
}
}
何秒ごとに処理を行うかは下の記事を参考にさせていただきました。
あとはクエリちゃんのHead_02_MouthOpenを非表示にしないと口が動いてくれません。
今まで二重顎みたいに見えていたのこれのせいか。
あとFingerも3種類あるのでどれか一つだけを表示にしないと重なって表示されていました。
画面効果
Post processingを使って画面効果をつけていきます。
詳しい説明は上の記事で解説しています。
こんな感じでつけました。上が効果付き。遠くをぼかして、ambient Occlusionという影がつく効果をつけ、あとはMotion Blurで動いたら勢い線が入っているような感じにしました。
ただこのままだとUIや別視線viewにも効果がついてしまったので、もう一つUIだけを写すカメラを作り、Clear Flagsを「Don't Clear」にして、Depthを1より大きくしてメインカメラより前に出します。メインカメラにはUIが写らないようにします。
NCMBのランキング
サンプルをunityで動かすまでは簡単にできました。
ただ自分のに組み込むにはまだ私の力では難しいかな〜
ゲーム性を思いついた!
前回も使った、オブジェクト間の距離を測るやつを使って、街のどこかにある目標オブジェクトに接触したらクリアにしたらいいではないか!
落ちてしまったらゲームオーバーってことにしたら今までのを生かせるし。
は〜天才だ。
距離のやつはほんとに単純なので、すぐに実装できました。シビアな衝突判定が入らない時は距離を使うべし。
Vector3 Apos = objA.transform.position;
Vector3 Bpos = objB.transform.position;
float dis = Vector3.Distance(Apos,Bpos);
こんな感じです。disに距離が入ります。publicでゲームオブジェクトをあてはめれば完成!
対象物は街アセットに入っていた祭り舞台にしました。ついでにそこから付属のわっしょい音声を流して車との距離で大きさが変わるようにしました。
UI作り
ゲームの方向性が決まるとタイトルとかも作りやすいですね。イラレでUIを作りました。こっちの方がフォント自由に使えるので楽。
完成!
Matsuri City Driving | ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう
今回もなんとか完成しました。
3回目ですが、毎回学びが多いです。
unityroom及びunity1週間ゲームジャムという場を作ってくださったnaichi様に感謝しています。
今回はassetモリモリで重いゲームを作ってしまったので、次回は2Dのシンプルなかっこいいやつを作りたいと思いつつ、3Dが好きなのでまた同じような感じになってしまいそう。