Programming83 [Unity] 05. 충돌(Colliders) Colliders Collider의 종류 이벤트, 트리거, 메세지와 같은 개념. 물리적 충돌이 발생했을 때 수행할 작업을 지정할 수 있는 컴포넌트이다. 1. Box Collider 가장 기본적인 상자 모양의 콜라이더로 캐릭터가 충돌을 일으키면 다른 씬으로 전환되는 포탈을 만들 수 있다. // CharacterController가 다른 물체의 Collider와 // 닿았을때 자동으로 호출되는 매서드 (반드시 충돌체가 있어야함) private void OnControllerColliderHit(ControllerColliderHit hit) { // 닿은 물체의 이름이 "portal" 일때 if (hit.collider.gameObject.name == "Portal") { Debug.Log("portal을.. 2019. 3. 7. [Unity] 04. 애니메이션(Animation) Character Controller Slope Limit : 등판 각도 Step Offset : 계단 높이 Skin Width : 폭 너비(반지름의 10%가 이상적인 설정값) Min Move Distance : 최소 이동 거리 Center & Radius : Capsule Collider 컴포넌트와 같은 역할로 Character Controller에 내장되어 있음. 다른 물체와 접촉이 되었는가 안 되었는가를 물리적으로 계산함. 몸체에 맞게 하는 경우(연산이 많이 들어감) 또는 일반적으로는 캡슐 모양으로 준다. public float movSpeed = 5f; //이동 public float rotSpeed = 120f; //회전 CharacterController controller; //컴포넌트(기능.. 2019. 3. 7. [C#] for문으로 최소공배수 구하기 Solution 1 int max = 0; Console.WriteLine("첫 번째 숫자를 입력하세요"); string str1 = Console.ReadLine(); int num1 = Int32.Parse(str1); Console.WriteLine("두 번째 숫자를 입력하세요"); string str2 = Console.ReadLine(); int num2 = Int32.Parse(str2); if (num1 < num2) max = num2; else max = num1; for(;true; max++) { if (max%num1 == 0 || max % num2 == 0) break; } Console.WriteLine(max); }Solution 2 int num0 = 0, num1 = 0;.. 2019. 3. 6. [C#] while문과 do while문 비교 while문 while (true) { 실행문 } // 실행문을 무한히 반복하는 무한루프() 안이 참인 조건일 때 계속 반복하고, 거짓일 때 종료하는 문법. 프로그래밍의 시초인 자동화를 위한 문법 중의 기본이라고 볼 수 있겠다. while문을 실행하려면 시작 조건, 종료 조건, 실행문이 필요하다. 즉, '언제부터 언제까지 무엇을' 반복적으로 실행한다는 의미이다. int num = 0; //시작조건 while (num < 10) //종료조건 { Console.WriteLine("나무를 {0}번 찍었습니다", num++); //실행문 }do while문 처음부터 조건을 검사하지 않는 상황도 있다. 먼저 사용자로부터 변수 값을 입력받아야 할 때 등등. 이때, 최초 1회는 무조건 한번 들어와서 실행하고 그 다음.. 2019. 3. 5. [Unity] 03. 지형(Terrain) 1. Paint Texture [마우스 우클릭 → 3D Object → Tettrain 생성] 이때, Terrain은 중심점의 위치가 모서리를 기준으로 (0,0,0)으로 찍히기 때문에 Position을 설정할 때 주의한다! [Inspector → Paint Terrain → Pain Texture → Edit Terrain Layers] Asset Store에서 미리 받아 둔 Asset을 가져온다. 그러면 아래와 같이 표면에 풀밭이 깔린다. 2. Raise or Lower Terrain 이제 지형을 만들어 주기 위해 표면에 굴곡을 줄 것이다. 마우스 좌클릭 하면 올리고, shift + 마우스 좌클릭 하면 내린다. 코멘트가 친절하게 안내해주고 있다. Brush Size와 Opacity를 조정해준다. 그 위.. 2019. 3. 4. [C#] switch~case문 응용 switch ~ case문은 if ~ else문과 유사한 역할을 하지만 그 활용 범위가 좁다. 가령 특정한 값만 제어할 수 있어 범위는 제어할 수 없다. 그러나 전혀 방법이 없는 것은 아니다. switch ~ case문을 응용해 범위를 제어해보자.문제사용자에게 점수를 입력받아 90점 이상이면 "A학점" 80점 이상이면 "B학점" 70점 이상이면 "C학점" 60점 이상이면 "D학점" 60점 미만이면 "F학점"을 출력해보자. 해결[점수와 결과 변수 선언 → 입력 받기 → switch ~ case문을 응용해 구간별로 다른 학점을 결과에 저장 → 결과 출력]정수간 연산에는 소수점이 찍히지 않음으로 입력받은 점수를 10으로 나눈 결과인 '몫'을 구간 대신 case문에 적용할 수 있다. 단, case에 들어가는 값.. 2019. 3. 4. [Unity] 02. 이동(Transform) 1. Movescale을 키우면 이동시마다 연산하기 때문에 성능이 떨어짐 → scale factor로 자체를 키운다.부모-자식 설정할때의 위치,각도는 부모객체의 좌표를 기준으로 하는 상대좌표이다.123456789101112 // 키보드 입력 float h = Input.GetAxis("Horizontal"); float v = Input.GetAxis("Vertical"); // 이동 거리 보정 : 디바이스에 따라 다른 프레임 호출 횟수에 영향을 받지 않기 위해 보정 // -> 성능 좋은 디바이스의 경우 같은 시간에 촘촘하게 움직이므로 매끄럽게 보여진다. h = h * Time.deltaTime * speed; v = v * Time.deltaTime * speed; // 이동 this.transform.. 2019. 2. 27. [Unity] 01. 재질(Material) 1. 표면 재질 : 설정이 [Inspector → Renderer Component]에 추가됨 Asset Store 진입 방법 : Ctrl+9 또는 [window → asset store] 유니티의 자원을 무료 또는 유료로 다운로드 할 수 있다. [다운로드 → import → 나의 에셋 폴더]에 저장됨 tile : 재질의 촘촘함 정도를 조정(높을수록 촘촘함) 2. 물리 재질 : 설정이 [Inspector → Collider Component]에 추가됨 컴포넌트 불러오기 수동으로 생성하기 [마우스 우클릭 → create → physical material] : 탄성, 마찰 정도를 추가할 수 있음 2019. 2. 27. [Unity] 00. 기본 컨트롤 1. 컨트롤러 컨트롤키 : Q-W-E-R-T-Y 기능 : 3D[Hand - Move - Rotate - Scale] - 2D[Rect - Move,Rotate,Scale] 2. 포지션 Pivot : 핸들이 활성 객체의 피벗점에 배치 Center : 핸들이 활성 객체의 중심점에 배치 3. 로테이션 로컬 좌표 : 객체를 중심으로 방향이 계속 바뀜 글로벌 좌표 : 유니티에서의 절대적인 방향, 디폴트 스크립트로 설정할 시의 방향 forward : z축 right : x축 up : y축 4. 기본 단축키 ctrl+shift+마우스 : Snap 이동 alt+마우스 : 시점 이동 (객체 클릭 시)v : 엣지를 찾아줌 Ctrl+D : 복제 2019. 2. 26. 이전 1 ··· 6 7 8 9 10 다음