210712
unity_beginner #12
Collision type -> 충돌한 상대에 대한 정보가 들어있다.
OnCollisionEnter을 사용 -> 유니티 내에서 정의되어있는 메소드이다.
충돌시 호출된다. -> 충돌은 게임 오브젝트의 collider가 충돌하는 것이다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Obstacle : MonoBehaviour
{
void OnCollisionEnter(Collision collision)
{
Vector3 direction = collision.gameObject.transform.position - transform.position;
direction = direction.normalized * 100;
collision.gameObject.GetComponent<Rigidbody>().AddForce(direction);
}
float delta = 0f;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
float newXPosition = transform.localPosition.x + delta;
transform.localPosition = new Vector3(newXPosition, transform.localPosition.y, transform.localPosition.z);
if(transform.localPosition.x < -3.5)
{
delta = 0.03f;
}
else if(transform.localPosition.x > 3.5)
{
delta = -0.03f;
}
}
}
참고
https://programmers.co.kr/learn/courses/1/lessons/666#note