
Mathf.Clamp : 최소 최대값을 설정하여 float값이 범위 이외의 값을 넘지 않도록 합니다.
CurrentHealth = Mathf.Clamp(CurrentHealth, 0, MaxHealth); 이렇게 쓰면
CurrentHealth = CurrentHealth > MaxHealth ? MaxHealth : CurrentHealth;
CurrentHealth = CurrentHealth < 0 ? 0 : CurrentHealth;
이 두 줄을 줄여쓰게 된것이다.
Find함수는 하이어러키창에서 계속 string값을 찾아야해서 안좋다 프레임드랍이 심해질수잇ㅇ므
체크표시를 꺼놓으면 스타트랑 업데이트가 돌지않음 (이벤트함수)
체크표시가 꺼져잇으면 Find로도 찾을수없다
activeself = 자신이 켜져잇는가 (부모가 꺼져도 자신만 켜져있으면 True)
activeinhierarchy = 하이어러키창에서 켜져잇는가 (부모가 꺼져면 false)
Find대신 겟컴퍼넌트로 가져와라
겟컴퍼넌트는 GetCompoenet<>(); 이렇게
모노비헤이어가 없으면 컴포넌트에 스크립트를 넣을수없다
벡터3는 구조체다
Vector v1 = new Vector3();
transform.postion = v1 하면 위치가 덮어씌워진다
더하고싶으면 transform.postion += v1 하면 된다
transform.Translate 도 똑같다
회전은 로태이트랑 벡터에 잇는 오일러랑 쿼터니움값 두개잇다
transform.Rotation = Quaternion.Euler
x는 x가 기준이 되어 회전하는것이다
x축을 잡고 돌리는것
transform.eulerAngels += v1; 이랑
transform.Rotate(v1) 이랑 똑같다.

점프할때 y값만 변동해주고 나머지 x,z 값을 유지하거나 할때 사용
transform.LookAt(Cube.transform) 하면 큐브가 해당 오브젝트를 계속 바라본다
2D에서 쓰면 Z값도 변할수 있어서 주의 요함.. 위처럼 사용하면 된다고 하심
transform.SetParent(Cube) ()안에 있는 오브젝트를 부모로 만든다
트랜스폼을 사용하는 이유 부모가 움직이면 월드좌표상에서 자식도 움직여서 그렇다
transform.GetChild(2).name n번째자식 이름 따오기
GetSiblingIndex() 내가 몇번째 자식인지
SetAsFirstsibling() 첫번째자식으로 이동
SetAsLastSibling() 마지막자식으로 이동
SetSiblingIndex() 해당 인덱스로 이동
만약 (4) 라면 5번째로 이동 , 4아래로
코드로 게임오브젝트 만들기
GameObject obj = new GameObject() 하면 만들어짐
obj.name = "이름" 하면 이름 바뀜
obj.AddComponent<>(); 하면 콜라이더생김
typeof가 뭐엿지? 잘못봄
어떤 상황에 쓰이냐
게임 진행중 박스를 하나 만들고 싶다 하면 이런식으로 만듬
Quaternion.Identity 본인의 회전값을 가져가겟다