前回に引き続き、今回も参加させていただきます。
今回のお題はあつい
Unity 1週間ゲームジャム 今週のお題「あつい」 | 無料ゲーム投稿サイト #unityroom https://t.co/2uhr9rdqDr #unity1week
— naichi (@naichilab) September 2, 2018
お題出ました〜!では今週もよろしくお願いしまーす!
よろしくおねがいします。
アイデアだし
書きながら考えてます
・トマシープちゃんが溶ける。(Melt shaderを使って)
・地面のあついところを避けて歩く(影?)
・水を使った何か。
・サマー仮面
・熱盛!!!
アセット見て何か・・・
・砂漠のなにか
・気球
・猫舌、熱い飲み物・・・
猫舌はおもしろいかも!
と思ったけど、実装できそうなゲームを思いつかない。
熱いステーキと水を交互に飲み食べて、猫舌ゲージがマックスにならないようにステーキをできるだけいっぱい食べる・・・とか
できる気がしないし面白くない
そして実際に熱い日差しの下に出た時のことを考えた。
はっ!日傘!!!日傘だ!!
太陽の方向に従って日傘の角度をよけるゲームにします!!!
用意
日傘っぽい?
モデルはマイムちゃんを使います。
あとスタンダードアセットの水を敷いて、空はみんな大好きFantasy Skybox FREE
橋
音
水
ピコん
http://taira-komori.jpn.org/game01.html
影とシェーダー
影を落とすのが重要になりますが、普段使っているUnlitシェーダーだと影が落ちないので、こちらのサイトを見て影が落ちるシェーダーを作りました。
[Unity] Unlitなシェーダで影付け | Cocoamix.jp
また傘の裏側が描画されていないの、Cull OffをStandardShaderに加えました。
[Unity] マテリアルとシェーダーについて/裏面も表示する – Shade3D チュートリアル
回転
太陽はこんな感じのスクリプトで3秒おきに角度がランダムに変わるようにしました。
void Update () {
timeleft -= Time.deltaTime;
if (timeleft <= 0.0)
{
timeleft = 3.0f;
transform.rotation = Quaternion.Euler(50, Random.Range(0.0f, 360.0f), 0);
}
日傘はまず回転の中心軸を手元にしたいので、なんやかんやで変えました。
最初は空のゲームオブジェクトを使ってできるかと思ったけど、うまくいかなくて、シリンダーとか2重構造とかなんやかんやしたら、できました。説明できない
そして回転は
transform.rotation = Quaternion.Euler(-30.0f,a, 0);
です。とりあえず
スライダーで傘を回転できるようにしました。
スライダーからの値の取得の仕方がよくわからなかったけど、スライダーにこのスクリプトを付けたらうまくいきました
ただ最終的に、マウスの横移動で動くようにしました。
Vector3 pos = Input.mousePosition;
num = 300 * pos.x / Screen.width;
a = (int)num;
kasa.transform.rotation = Quaternion.Euler(-30.0f,a, 0);
判定
さて、判定
今回は太陽と傘の角度が同じになったらぴったり隠れるという判定ができたので、判定は簡単ですね。
前回とおんなじ感じ
角度の誤差が+-30度以内ならポイントが加算されます。
WebGL
途中でwebGLにビルドしたら影がめっちゃぼんやりになっちゃった。
クオリティを上げたら若干くっきりになった。
あと、Hardshadowにしたらくっきりなった。
ゴール
ゴールテープをClothで作った。
挙動が意味不明。
ゴールテープを長くしたら変な挙動になる。
サムネとか
めっちゃいい絵撮れた!
サムネ
どっちがいいかな?
その他スタート画面とエンド画面。
今回は手抜き
完成
日曜日に公開になります。
https://unityroom.com/games/higasa
大体一日で完成しました。
判定部分らへんは前回とおんなじ感じなので、前回の記事を参考に作りました。
自分の記事は世界一役に立つな~~~