쾌락없는 책임 (공부)/Unity
유니티 Vector2.Reflect로 오브젝트 반사하기 (입사각, 반사각)
허스크
2021. 7. 4. 13:54
반응형
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class LightReflect : MonoBehaviour{
Rigidbody2D rigid;
Vector3 lastVelocity;
private void Start() {
rigid = GetComponent<Rigidbody2D>();
}
private void Update() {
lastVelocity = rigid.velocity;
}
private void OnCollisionEnter2D(Collision2D coll) {
var speed = lastVelocity.magnitude;
var dir = Vector2.Reflect(lastVelocity.normalized, coll.contacts[0].normal);
rigid.velocity = dir * Mathf.Max(speed, 0f);
}
}
반응형