유니티:충돌 이벤트

학교의 모든 지식. SMwiki
Sam (토론 | 기여)님의 2020년 9월 7일 (월) 20:24 판 (새 문서: {{유니티}} = 충돌 이벤트 = 스크립트를 만든 후,<syntaxhighlight lang="c#"> MeshRenderer mesh; //오브젝트의 재질에 접근. Material mat; void Start(...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
둘러보기로 이동 검색으로 이동

틀:유니티

  1. 유니티:개요
  2. 유니티:기본 조작
    1. 유니티:에셋스토어
  3. 유니티:카메라
  4. 유니티:오브젝트
    1. 유니티:데이터 입력받기
    2. 유니티:오브젝트 이동(오브젝트 조작)
    3. 유니티:힘으로 오브젝트 이동
    4. 유니티:충돌 이벤트
    5. 유니티:오브젝트 작성 tip
    6. 유니티:프리팹
  5. 유니티:코딩기초
    1. 유니티:C sharp 코딩 편의기능
    2. 유니티:MonoBehaviour
    3. 유니티:이벤트 메서드
    4. 유니티:컴포넌트 조작하기
  6. 유니티:UI
  7. 유니티:게임 내 화면
  8. 유니티:플레이어
    1. 유니티:모델
    2. 유니티:캐릭터 이동
    3. 유니티:애니메이션
    4. 유니티:주인공 시점
  9. 유니티:맵
    1. 유니티:투명한 벽 만들기
    2. 유니티:내비게이션
  10. 유니티:씬
  11. 유니티:몬스터
  12. 유니티:아이템
  13. 유니티:음향
    1. 유니티:배경음
    2. 유니티:효과음
  14. 유니티:빌드
  15. 유니티:VR
    1. 유니티:VR:UI
    2. 유니티:VR:VR로 변환
  16. 유니티:팁

충돌 이벤트

스크립트를 만든 후,

    MeshRenderer mesh; //오브젝트의 재질에 접근.
    Material mat;
    void Start() {
        mash = GetComponent<MeshRenderer>();
        mat.mesh.material //필요한 속성을 가져온다.
        }
        
    private void OnCollisionEnter(Collision collision) //Collision =충돌 정보 클래스. 콜리더를 매개변수로 받아온다.
        {
        if(collision.gameObject.name=="My Ball"){  //어떤 오브젝트와 충돌할 것인가??
        mat.color=new Color(1,1,1); //충돌이 일어나면 색을 바꾼다.
        }
        }

On만 입력해도 다양한 함수의 선택지가 나온다.

충돌관련함수 설명
OnCollisionEnter 충돌이 일어날 때
OnCollisionStay 충돌중
OnCollisionExit 충돌이 끝났을 때

Collision 충돌 정보 클래스.

전염병 전파 시뮬레이션을 만드는 데에도 좋겠다.


공간

물리적 물체처럼 반응하진 않지만, 내부에 들어오면 반응한다.

Collider 컴포넌트 안에서 is Treeger를 체크한다.

void FixedUpdate() {
    
    
OnTriggerStay(Collider other)
{
    if(other.name=="Cube")
        rigid.AddForce(1,2,3, ForceMode) //내부에 들어오면 일정한 힘을 받게끔.

온콜리더 함수와 동일한 형태이다. Enter, Stay, Exit가 있다.