習作:タスク整理、Androidビルド用に調整、死神攻撃モーション作成、プレイヤーの状態でポイント状況を表現、BGMとSEを入れる【185日目】(2019/01/29)
https://gyazo.com/efefaa3ca4fb00aeb2a794e86eae1ce3
Porin.icon今日はカラメルカラムの業務の作業記録だよん!
◆作業記録の目次
1. 振り返りと考え事たいむ
2. 習作:タスク整理、Androidビルド用に調整、死神攻撃モーション作成、プレイヤーの状態でポイント状況を表現、BGMとSEを入れる
◆作業時間のタイムトラッキング結果
https://gyazo.com/868d971f606b1a238238b278b6ae5001
https://gyazo.com/58e803f95168aed81c0f652adaffc8a0
https://gyazo.com/ea38e8d40023a4d62a667463b859b1d4
Carcol.iconここからはカラメルカラム 業務内でやったことの記録だよ! 1. 振り返りと考え事たいむ
◆前日の振り返り
▼ 前回の業務の作業記録
▼ 振り返り内容
デザイン頼むやりとりに少し慣れてきた気がする
ゲーム開発でのコミュニケーションの取り方はまだ感覚がわからない部分もあるけど
それもやりながら慣れてくことだろうし
他の人のやり方も見ながら慣れてこ
何事も経験だなあ
デザイン入れて、ビルドしてスマホで実際に動きを確かめるって大切だな...
ちょっとでも形になってるだけで、「ここはもっとこうした方がいいな」が思いつきやすい
特にゲームは動き方とかがダイレクトに面白さに影響してくるからなおさらなんだろうな
アニメーションをスクリプト書く前に確認したい気がしてきた
まずスクリプト書いてゲーム実行して動き確かめてはけっこう時間かかる(簡単なのだったらそれでいいけど)
ちょこっと「こういう動きだとどんな感じなんだろ」が実装前に試せるとやりやすそう
GIFを自分で作るのはちょっとカロリーが高い
動きの確認とかはアニメーションクリップで確認しながらがいいのでは?
聞いてみよう
優先順位を決めねば
ビルドしたものをチェックしていろいろまたやりたいことが出てきたりした
が、時間は有限なので優先順位を確認せねば
ゲームやってて違和感ある部分はマスト、こうしたらもっと面白いかも要素は後回しに
◆本日やりたいこと
習作相談
デザイン依頼続き
習作作る
タスク整理
特に動きを改善していきたい
https://gyazo.com/ea38e8d40023a4d62a667463b859b1d4
2. 習作
◆ タスク整理
プロト見つつ優先順位などを整理
GitHub Projectのボードに並べる
https://gyazo.com/a187bf0986cb2ac87de1c6c688c0b0c1
◆ Androidビルド用に調整
オブジェクトの配置とか、ソーティングレイヤーとかを調整
◆ 死神の攻撃モーションを作成
▼ ルートモーションを設定
死神が鎌を振り上げるときと振り下ろすときで若干高低差を出したかった
その際に、アニメーションクリップでの設定だと絶対値指定になってしまい、他の死神に適用できない
調べてみたらルートモーションなる便利なものがあるらしい
結論簡単に設定できてめっちゃ便利だった
クリップ側でGenerate RootMotionボタンをクリックして、ゲームオブジェクト側でApply Root Motionをチェックするだけ
PrefabにApplyしたらが原因なのかわからないけど一回壊れたのはなんだったんだろ
参考
▼ アニメーションを呼び出し
あとはアニメーターコントローラーを設定して
https://gyazo.com/5254de6fec8f41b5d0397dfbd83a9cd2
スクリプト内で呼び出す
code:EnemyController.cs
IEnumerator Attack()
{
// TODO 攻撃モーション
yield return new WaitForSeconds(0.5f);
enemyAnimator.SetTrigger("Attack");
// プレイヤー消滅
yield return new WaitForSeconds(0.5f);
StartCoroutine(playerController.Die());
// 消滅まで待機
yield return new WaitUntil(() => !player);
// ゲームオーバー
StartCoroutine(stageDirector.GameOver());
}
素敵なイラストは社内のデザイナーさん作(神)
https://gyazo.com/60896da4fddbb9122f719c6fec353ef6
◆ プレイヤーの状態でポイント状況を表現する
ポイントが+のときはオーラがだんだんおおきくなっていき、ポイントがマイナスのときはだんだん色が青くなってくように
プレイヤーの大きさを変動してくと当たり判定とかちょっと大変になる
オーラはゆらゆらさせたいので消しはしないことに
https://gyazo.com/f19890c2d80b9ae37e70818eb824b9b4
◆ BGMとSEを入れる
BGMを管理するスクリプトを作成して、DontDestroyOnLoadをつける
code:BGMDirector.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BGMDirector : MonoBehaviour {
public AudioClip[] audioClips;
private AudioSource audioSource;
private enum BGM
{
NONE = -1,
STAGE = 0,
GAMEOVER,
NUM
}
void Awake () {
audioSource = GetComponent<AudioSource>();
DontDestroyOnLoad(this.gameObject);
}
public void PlayStageMusic()
{
audioSource.Play();
}
public void PlayGameOverMusic()
{
audioSource.Play();
}
public void StopBGM()
{
audioSource.Stop();
}
}
SEも同じように作る
SEとBGMを同時に流したいこともあるので一応別扱いに
code:SEDirector.cs
using UnityEngine;
public class SEDirector : MonoBehaviour {
public AudioClip[] audioClips;
private AudioSource audioSource;
public enum SE
{
NONE = -1,
GOODITEM = 0,
BADITEM,
DAMAGE,
SWITCH,
NUM
}
void Start () {
audioSource = GetComponent<AudioSource>();
DontDestroyOnLoad(this.gameObject);
}
public void PlaySE(SE se)
{
audioSource.clip = audioClips(int)se; audioSource.Play();
}
}
(了)
https://gyazo.com/ea38e8d40023a4d62a667463b859b1d4
感想や指摘などあったらどしどし連絡ください!!
もし万が一、気が向いたりして何かコメントをもらえたら超絶喜びます!!Porin.icon