Unityでジャンクゲームを作っているっぽい

会社帰りにGPD PocketにUnity入れてゲーム作ってます

【CEtest2】16_CorgiEngineで放物線な攻撃を作る

公式を調べる

corgi-engine-docs.moremountains.com
↑のProjectilesの所にThrown Object classって記載があった
とりあえず、何かあるらしい
MinimalGrenadeが参考になりそう

ベースを用意

とりあえず、bullet2を複製してbullet3_enemyとする
LayerをProjectileに変更
Projectileコンポーネンを削除しておく

ThrownObjectコンポーネントを追加

とりあえず、何も変更しないで使用してみる

Rigidbody2D

とりあえずサンプルと同じ値にする

enemyを複製

MyTestEnemy3を複製してMyTestEnemy4を用意
このままで

武器も複製

TestWeapon1_enemyを複製してTestWeapon2_enemy

問題発生

実はCorgiEngineの敵の射撃方向は自力で制御しないとなのでした
ここでクラスの継承とか必要なのかとイロイロと調べてドはまり
サポート等にイロイロと質問して解決
実は凄く単純で、自力で射撃したい方向で武器プレハブを回転させれば良いのでした

武器プレハブ回転スクリプトEnemyWeaponRot

よくあるスクリプトを書く

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class EnemyWeaponRot : MonoBehaviour{
	[Header("Shot Angle")]
	public float z;

	void Start(){
		this.transform.rotation = Quaternion.Euler(0.0f, 0.0f, z);
	}
}

スクリプトアサイ

TestWeapon2_enemyにEnemyWeaponRotをアサイ

これで、放物線な攻撃ができた
もしWeaponAimを設定していたら無効化する事。でないとスクリプトの値が反映されない
youtu.be
もう少しゆっくりと放物線を描いて欲しいなぁ

放物線の調整

bullet3_enemyの調整

Rigidbody2D

Gravity Scaleを小さくして、重力を小さくする

ThrownObjectの調整

Speedで弾の発射速度を調整
Auto Orient Along Trajectoryをチェック入れると、弾が放物線に沿って自動で回転してくれる。優秀!

やっと、やりたいことができた!
youtu.be

考え続けるの大事よね