피곤핑
코딩일탈
피곤핑
전체 방문자
오늘
어제
  • 분류 전체보기
    • Kotlin & Java
    • Spring
      • Spring Security
      • Spring
    • 네트워크
    • JavaScript & Node js
    • Docker
    • Python3
    • Unity
    • 딥러닝
    • 객체지향프로그래밍
    • Error 보고서
    • 나의 이야기 & 회고
    • HTML & CSS
    • Archive
    • 독서

블로그 메뉴

  • 홈
  • 방명록

공지사항

인기 글

태그

  • 티스토리챌린지
  • 코딩테스트준비
  • JavaScript
  • 개발자취업
  • Client
  • TiL
  • 항해99
  • 99클럽
  • 오블완
  • nodejs

최근 댓글

hELLO · Designed By 정상우.
피곤핑

코딩일탈

0621 Movement Touch Point
Unity

0621 Movement Touch Point

2019. 6. 21. 12:21

 - 비용을 적게 들이고 길을 쉽게 찾음

 - 화면터치(마우스클릭)으로 길을 찾음

 

1. 프로젝트를 만든다

 1) Asset Store에서 Tank를 다운받음 

 2)마음에 드는 프리팹 하이라키창에 드래그앤드롭 (맵)

LevelArt 프리팹을 드래그앤드롭한 모습.

 LevelArt transform (0 0 0, 0 0 0, 1 1 1)

 

 3) 밝기조절

Gamma -> Linear

 4) Window > Rendering > light rendering > Auto Generate 체크 해제

 그림자를 굽는다...? -> 시간이 계속 걸림. 부하걸림.

 

2. Player 만들기

 1) create empty > "Player" > 자식으로 > cube

     -> 실제 게임개발의 전형적인 스타일 

 2) Player, Cube 둘다 Reset setting

 3) Cube transform (0 1 0, 0 0 0, 1 2 1)

 4) Player position (0 0.3 0) -> 살짝 띄움

   -> 바닥에 딱 붙여놓으면 밑으로 떨어질 수 있음 (안정성을 위해)

 5) Cube > BoxCollider > Remove Component

 6) Player > Add component > nav mesh agent 추가

    -> 길찾기 컴포넌트

 7) 설정

초당 최대값

 8) Player > capsule Collider 추가

 9) 설정

 10) cube를 비활성화하고 확인해본다.

 11) Player > rigidbody 추가 > Is Kinematic 체크 

     -> 모든 물리력에 영향을 받지 않게 하기 위한 처리

 

3. Navigation Mesh 만들기

 1) Windows > AI > navigation 클릭

 2) navigation 굽기

파란 면이 갈 수 있는 경로

  

4. navigation static mesh 만들기

 1) 새로 Cube 생성 > Inspector > static 활성화

 2) 다시 Bake 하면 이 물체를 빼고 구워진 것을 볼 수 있음

장애물 같은 역할

 

5. PlayerController 스크립트 만들기.

 1) PlayerController.cs 만들고 Player와 연동

 2) 코드 작성

 3) update() 코드작성 - 엄청 중요하고 많이 쓰이는 코드

 * ScreenPointToRay : 3D 좌표계의 ray를 씀.. (점밖에안보임) but 월드좌표로 했을때는 직선으로 쭉 감.

  카메라가 시점이 바뀔 때 마다 그 시점에서의 z값으로 ray를 쏨. (mousePosition -> 2D값)

 * out hit : output되는 hit (포인트된 그지점)

 

6. PlayerController 스크립트 만들기 - 이동가능 LayerMask 만들기

 1) 변수 선언

 2) 코드 추가

update() 함수 코드 추가

 * // hit 값은 리턴, 100.0f : ray 길이 (너무길면 부하가 걸림))

 

 3) Ground object에 Layer 추가

 4) Player > Inspector > Player Controller > Movement Mask > Ground

  하려는것 : 1) navi mesh 로 길찾기

                2) 포인트 잡기

 

7. PlayerMovement.cs 스크립트 만들기

 1) 만들고 Player와 연동.

 2) PlayerMovement.cs 코드 추가

새로운 함수 추가

 3) PlayerController.cs 코드 추가

 

 4) 실행해보기 -> 마우스 포인트 지점따라서 움직인다.

 

8. CameraController 스크립트 만들기 - 캐릭터를 따라가는 카메라

 1) CameraConroller.cs 만들고 MainCamera 오브젝트와 연동

 2) CameraController.cs 에 코드 작성

3개의 public 변수와 1개의 private 변수 선언
새로운 함수 작성

 3) 연동

 4) 설정 세팅

 5) 따라 움직이는지 실행해보기.

 

9. Camera Zoon in and out

 1) CameraController.cs 코드추가

변수 선언

 2) update () 코드 추가

 3) 에러가 날건데 설정초기화하기.

 4) 줌인, 줌아웃이 되는 것을 볼 수 있음.

 

10. CameraController - 캐릭터 중심으로 카메라 회전.

 1) CameraController.cs 코드 추가

변수 선언

 2) 코드 추가

 3) 실행해보기 

'Unity' 카테고리의 다른 글

0624 GameAI FSM Programming  (1) 2019.06.24
0621 캐릭터 옷입히기  (0) 2019.06.21
0620 Scene Loading  (0) 2019.06.20
0620 GyroBall 2  (0) 2019.06.20
0619 GyroBall  (0) 2019.06.19
    'Unity' 카테고리의 다른 글
    • 0624 GameAI FSM Programming
    • 0621 캐릭터 옷입히기
    • 0620 Scene Loading
    • 0620 GyroBall 2
    피곤핑
    피곤핑

    티스토리툴바