C#/Unity
-
20FEB19 NavMeshAgentC#/Unity 2019. 2. 20. 21:13
대충 plane 과 cube로 땅과 장애물을 만들고 1) static 설정, 2) window>>AI>>Navigation 컴포넌트를 추가해 3) Bake 한다. - 이 과정이 되게 오래걸린다. 맵 Scale 을 줄이면 시간을 줄일 수 있다고 한다. 파란색 큐브는 Human, 빨간색은 지렁이이다. Human 은 간단한 코드로 화살표로 움직일 수 있도록 하자. 지렁이에는 Add Component>>Nav Mesh Agent를 추가한다. 변수는 다음과 같다. acceleration 최대 가속도를 나타냅니다. angularSpeed 최대 회전 속도를 나타냅니다. (deg/s 단위). areaMask 이동할 수 있는 NavMesh 영역을 지정합니다. /areaMask/를 변경하면, 경로의 효율이 나빠지게 됩니다..
-
19FEB19 길찾기-A* algorithmC#/Unity 2019. 2. 19. 23:00
격자에서 8가지 움직일 수 있는 방향(노드) 가 있다. 이중 가로세로로 이동에는 travel cost 를 10, 대각선 이동에는 14로 지정한다. 이값은 직각이등변 삼각형의 변의 길이의 비가 1:1:√2 이기 때문에 근삿값으로 지정한 것. 최단경로를 찾기 위해선 이 travel cost를 최소화해야 한다. 이 과정에는 10가지 정보를 다룬다. 1 Node number : 움직일 수 있는 모든 경로의 격자마다 숫자를 붙인다. 2. X and Y Coords : x 와 y 좌표. 3. G-Cost : start node 에서 current node 까지의 travel cost 이다. 초록점 : start node 파란점 : current node 빨간점 : end node 검은점 : obstruction n..
-
06FEB19_GameObject.Find()C#/Unity 2019. 2. 7. 23:07
GameObject.Find() : 하이어라키뷰의 오브젝트를 찾는다. 같은 이름의 오브젝트가 여러 개인 경우, 맨 처음 발견되는 오브젝트를 구한다. 리턴형: GameObject transform.Find(): 자신의 자식(Child) 오브젝트를 찾는다. 자식만 찾을 수 있으며, 손자, 증손자 등 계층구조가 깊은 경우에는 그 경로를 지정한다. 리턴 형(type)은 Transform이다. ex) transform.find("Turret/Cannon/spPoint"); "Turret"이라는 같은 이름의 오브젝트가 여러개인 경우에는 transform.Find("Turret").gameObject 로 찾는다.
-
unity billiardC#/Unity 2019. 1. 20. 20:37
designed simple billiard table objects based on real size. At first time, I considered scale unit as meter. So the table size was 2.72*1.5 width. First problem I had was that the ball didn't bounce off from the wall of the table and stuck. As a solution I tried to applying physics material as well as OnCollisionEnter with following codes in order to enforce the ball to bounce off. void Bump(Coll..