だらだら〜自由自在〜

インディーゲーム制作チーム GAME GABURI でプログラム担当してます

Reading 3DPlatformTutorial 4th

65〜78の途中まで

GameOverシーン

StartMenuとさほど変わらず。GUI使ってGameOverって文字をちょっとカスタムしたフォントで書きましょうってやつ

障害物(レーザー)

Laserトンネルのとこのレーザー棒を作る。LineRendererってやつでレーザーは描画するみたい。
詳しく見てないのでわからんがLineRendererはプリセットではないかもしれない。

レーザーとPlayerまたはEnemyとのアタリとダメージ

ためになるのはここ。コリジョンとダメージは次のように実装(LaserTrap.js)
レイキャストで判定してるのと、Colliderを通してPlayerとかのGameObjectにメッセージを送ってる。

	if (Time.time > lastHitTime + 0.25 && Physics.Raycast(transform.position, transform.forward, hit, laserWidth))
	{
		if (hit.collider.tag == "Player" || hit.collider.tag == "Enemy")
		{
			Instantiate(hitEffect, hit.point, Quaternion.identity);
			hit.collider.SendMessage("ApplyDamage", damage, SendMessageOptions.DontRequireReceiver);
			lastHitTime = Time.time;
		}
	}

敵(Robot)

一定範囲に近づくと攻撃してくるロボットの作成。
Lerpzみたいに出来物を組み合わせて良く感じ。Lerpzのパンチがなんかでないので要調査!
このロボットのEnemyDamage.jsのDie()で自身のGameObjectを削除してとかなんか面白いことやってるので
その処理の結果を見るためにもLerpzのパンチを出して敵を倒すことが必要。
でも眠いので今日はこのへんで…