unity11 raycast 일반적으로 fps처럼 대상을 과녘하자마자 바로 피가 나오는 현상이나, , 목표지점을 클릭하면 해당지점으로 이동하는 것은 raycast로 가능하다 말 그래돌 광선을 쏘는 것이다. 광선을 쏴야하니 맞은 쪽은 collision을 가지고 있어야한다. raycast 예제 void OnMouseClicked(Define.MouseEvent ent) { if (ent != Define.MouseEvent.Click) return; //Returns a ray going from camera through a screen point. // Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); int mask = (1 2022. 7. 10. coroutine 일반적으로 100만의 for문이 존재하는데 그것을 다 실행하지 않고, 1만 마다 잠시 쉬었다가 다시 실행해주는 c#의 아주 좋은 기능이 있다 그것은 coroutine이다.! 아래의 예제를 보자 yield를 이용해서 미룰 수 있다. 예제 class Test { public int Id = 0; } // coroutine에서 특정 tick에서 멈췄다가 다시 실행하거나 이런 것들을 가능하게 한다. // 함수의 상태를 저장 . 복원 가능 // 원하는 타이밍에 함수를 잠시 stop / 복원하는 경우 // return -> 우리가 원하는 타입으로 가능하다 class도 가능하다 class CoroutineTest : IEnumerable { public IEnumerator GetEnumerator() { for (.. 2022. 7. 9. 0708 제노니아. https://assetstore.unity.com/packages/2d/environments/pixel-art-top-down-basic-187605#description (배경 에셋)// https://pipoya.itch.io/pipoya-rpg-tileset-32x32 (배경 에셋 ) https://www.spriters-resource.com/pc_computer/ragnarokonline/?source=genre (라그나로크 온라인) vecotr3로만 하면, gimblock 문제가 발생해서, quaternion을 사용한다. is Kinematic -> rigidbody를 붙여도 물리법칙을 무시할 수 있다. is Trigger -> 물리연산을 하는 것이 아니라 트리거 이벤트만 발생하.. 2022. 7. 8. state 패턴. 애니메이션들은 형태가 굉장히 많은 데 그것을 모두 bool 값으로 관리하면서 if else를 두면 굉장히 더러워보인다. 이것을 깔끔하게 하기 위해서 상태를 enum값으로 두면 해당 상태에 맞는 함수를 호출하면 깔끔하다. state pattern이다. 예시 public enum PlayerState { Die, Moving, Idle, Channeling, Jumping, Falling, } private PlayerState _state = PlayerState.Idle; void UpdateIdle() { //애니메이션 wait_run_ratio = Mathf.Lerp(wait_run_ratio, 0, 10.0f * Time.deltaTime); Animator anim = GetComponent();.. 2022. 7. 8. 이전 1 2 3 다음