1月の振り返り/習作デザイン相談/習作開発進める:敵キャラの向きを変える、発見方向に瞬間移動、レイキャストの飛ばし方修正【182日目】(2019/01/25)
https://gyazo.com/007ba49e608fad865478d86b69ecbccd
Porin.icon今日はカラメルカラムの業務の作業記録だよん!
◆作業記録の目次
1. 振り返りと考え事たいむ:習作デザイン周り相談内容整理
2. 1月の振り返り
3. 習作開発進める:敵キャラの向きを変える、発見方向に瞬間移動、レイキャストの飛ばし方修正
◆作業時間のタイムトラッキング結果
https://gyazo.com/d243ff127b8fe6f7f5a28271cca01d8c
https://gyazo.com/d2ad4d3d109bbaf985445f8b9b993417
https://gyazo.com/ea38e8d40023a4d62a667463b859b1d4
Carcol.iconここからはカラメルカラム 業務内でやったことの記録だよ! 1. 振り返りと考え事たいむ
◆前日の振り返り
▼ 前回の業務の作業記録
▼ 振り返り内容
ゲーム作りの流れが未知の世界だ...
たぶんゲームだけじゃなくて、なんでもそうなんだろうけど
仕様とかコンセプトとかって結局なんだろうとかどこまで詰めるものなんだろうとか
一人でやってるときは作りながら詰めてたけど、人に頼む分には最初に固めた方がいいんだろうかとか
やったことないんだから仕方ない。覚えていこう
一連の流れを一回体験したらまだわかるようになるのだろうか...
今までは実装の方にばかり気が向いていたけど、なんかそういう、企画の作り方的なのも学んでいきたいなあ
明日調べてみよ
とりあえず落ち着いてわからないこととか悩んでることを言語化して相談しよ
頭の中だけでぐるぐる考えててもラチが開かないので書き出してくスタイルで
こういうの書き出して整理しない気になって他のことに着手できなくなるめんどくさい性格なので...
エスBOTは機能リリースのフローが整えられて安定してアップデートできるようになってよかった
チェック項目とかテストとかの流れを先に作ったのはよかった
拙いものではあるもののテストでだいたいエラーが補足できるので安心感ある
ほんのちょっと昔までテストを全然書いてなかった自分が恐ろしい
▼ 追記
「ゲーム作り難しい〜未知だ〜」とか書いていたら大野さんがこんなものを...(あなたが神か)
◆本日やりたいこと
/icons/done.icon習作相談事項整理
/icons/done.icon1月振り返り
/icons/done.iconBOT反応パタン増加計画
/icons/done.icon習作相談
/icons/done.iconデザイン相談
/icons/done.icon習作進める
◆ 朝の自由たいむ --習作相談内容整理
習作はどこまでやるのが良いか
今は思いついたことをメモしてって「後でやりたい」みたいにやってってるけどこのままだと終わりがない
最低限の完成目標は決めた方がいい気がする
どこまで作るか(スタート→ゲームステージ×3→ゴールでエンド判定表示くらいまでがいい気もするけどどうだろう)
対応するデバイス
その完成目標まで作れて、さらに余裕があったら試したいことを追加していくようにする
仕様とかも最低限の作る項目とできたらやりたい項目を分けて書くとわかりやすそう
デザインは今頼んだ方がいいのか
仮素材で一連のプロトを作ってからの方が自分の中で固まって頼みやすそう(スタート→ゲームステージ×3→ゴールでエンド判定表示くらいまでとか?)
今プロト時点で動き確認に最低限必要なものはフリー素材で用意できそうではある
ただ、構想が固まってない初期段階で人に頼まなきゃいけないときもありそうではある
デザインを頼むのにどんな情報が必要なのか
あまり自分の中でも固まってない部分も多いので、場合によっては詰め直してから頼んだ方がいいかもしれないと思い
今の状態でも口頭説明で足りそうな場合は、どんな説明が必要なのか
https://gyazo.com/ea38e8d40023a4d62a667463b859b1d4
2. 1月の振り返り
◆ 背景
月曜日の1on1に向けて
残り1週間分はあとで付け足す
◆ 振り返りノート
https://gyazo.com/ea38e8d40023a4d62a667463b859b1d4
3. 習作開発進める:敵キャラの向きを変える、発見方向に瞬間移動、レイキャストの飛ばし方修正
◆ 敵の向きを変える
Animation ClipとAnimator Controllerで4方向の向きを作成
https://gyazo.com/b9b5b4ec88833a50ee268d61c451477f
Transitionはこんな感じで
https://gyazo.com/3e6c3b9ac55041990286e83499f68bfb
トリガーをスクリプトで呼び出し
敵のパターンによって向く順番を変える
code:EnemyController.cs
void TurnFront()
{
hit = Physics2D.Raycast(transform.position, Vector2.down);
Debug.Log("front");
enemyAnimator.SetTrigger("TurnFront");
}
void TurnBack()
{
hit = Physics2D.Raycast(transform.position, Vector2.up);
Debug.Log("back");
enemyAnimator.SetTrigger("TurnBack");
}
void TurnRight()
{
hit = Physics2D.Raycast(transform.position, Vector2.right);
Debug.Log("right");
enemyAnimator.SetTrigger("TurnRight");
}
void TurnLeft()
{
hit = Physics2D.Raycast(transform.position, Vector2.left);
Debug.Log("left");
enemyAnimator.SetTrigger("TurnLeft");
}
こんな感じに
向きがわかりやすいように、いろんな方向が用意された猫素材で代用
https://gyazo.com/4a4fae44b030a3c68b67d6fafd025437
◆ 発見方向に瞬間移動
発見時敵から見て下方向にプレイヤーがいたらプレイヤーの上部に出現、発見時敵から見て右方向にプレイヤーがいたらプレイヤーの左側に出現
参考
雑メモ
https://gyazo.com/7c5a505288d04b7613aa6da52d59f479
code:EnemyController.cs
void MovePlayerSide()
{
// プレイヤーを発見した方向によって瞬間移動位置を変える
switch (findPos)
{
case DIRECTION.FRONT:
transform.position = new Vector3(player.transform.position.x, player.transform.position.y + playerController.playerRadius * 2f, transform.position.z);
break;
case DIRECTION.BACK:
transform.position = new Vector3(player.transform.position.x, player.transform.position.y - playerController.playerRadius * 2f, transform.position.z);
break;
case DIRECTION.RIGHT:
transform.position = new Vector3(player.transform.position.x - playerController.playerRadius * 2f, player.transform.position.y, transform.position.z);
break;
case DIRECTION.LEFT:
transform.position = new Vector3(player.transform.position.x + playerController.playerRadius * 2f, player.transform.position.y, transform.position.z);
break;
}
}
◆ レイキャストの飛ばし方修正
いままでコルーチン内でレイキャストを切り替えてたけど、そうすると一瞬しかキャストされないぽかったのでFixedUpdateで呼び出すように
code:EnemyController.cs
private void FixedUpdate()
{
// Update内でレイキャストを飛ばさないとレイキャスト持続しない
switch (enemyEyeDirection)
{
case DIRECTION.FRONT:
hit = Physics2D.Raycast(transform.position, Vector2.down);
break;
case DIRECTION.BACK:
hit = Physics2D.Raycast(transform.position, Vector2.up);
break;
case DIRECTION.RIGHT:
hit = Physics2D.Raycast(transform.position, Vector2.right);
break;
case DIRECTION.LEFT:
hit = Physics2D.Raycast(transform.position, Vector2.left);
break;
}
}
(了)
https://gyazo.com/ea38e8d40023a4d62a667463b859b1d4
感想や指摘などあったらどしどし連絡ください!!
もし万が一、気が向いたりして何かコメントをもらえたら超絶喜びます!!Porin.icon