TIL

· TIL/Unity
프로젝트에서 카메라의 이동 방향을 알아내어 플레이어가 그 방향으로 움직이게 하는 코드를 구현하고 있었다. 하지만 Vector와 Transform에 대한 확실한 개념이 잡혀있지 않았다. 그렇기에 방향에 관한 개념을 정리하고자 한다. 1. 방향을 나타내는 Vector3 Vector3는 World의 방향성을 나타낸다. 그렇기 때문에 Rotate값을 주어도 방향은 바뀌지 않는다. 즉, 방향을 고려하지 않는다. 1 - 1. Vector3의 방향 Vector3.up == Vector3(0, 1, 0) Vector3.down == Vector3(0, -1, 0) Vector3.forward == Vector3(0, 0, 1) Vector3.back == Vector3(0, 0, -1) Vector3.left == V..
· TIL/Unity
항상 캐릭터가 움직여야 하는 프로젝트를 진행할 때 카메라의 정보를 스크립트로 받아왔어야 했다. 하지만 이러한 과정이 필요없게 해주는 Virtual Camera기능을 소개하고자 한다. 1. Virtual Camera란? 시네머신 가상 카메라 라고 불리며 빈 게임 오브젝트에 추가하는 컴포넌트 형식의 기능이다. 즉, 유니티 씬의 메인 카메라를 가상 카메라로 제어할 수 있다. 2. 사용법 유니티 씬에서 우클릭을 한 후 Cinemachine에 들어가면 Virtual Camera라고 나온다. 이 목록을 클릭하면 Virtual Camera 라는 파일이 생기고 Main Camera에 자동으로 CinemachinBrain이란 컴포넌트가 적용된다. 우선 카메라의 설정은 Virtual Camaera파일에 적용되어있는 Cin..
· TIL/Unity
오늘은 3D를 이용하여 입체적인 건물들을 간단하게 만들 수 있는 ProBuilder라는 패키지를 소개하고자 한다. 1. ProBuilder란? 3D 모델링과 레벨 디자인 툴의 고유한 하이브리드로, 지오메트리 빌드에 최적화되었지만 세부 편집과 UV언래핑도 가능하다. 예를 들어 터레인, 차량, 무기, 건물 등 여러 종류의 프로토타입을 빠르게 제작할 때 주로 쓰인다. 2. 설치 유니티 상단 카테고리의 Window - PakageManager로 들어가서 ProBuilder를 찾아 설치하면된다. 3. 사용법 유니티 상단 카테고리 Tools에 들어가면 ProBuilder 항목이 있다. 그곳에서 ProBuilderWindow를 클릭하게 되면 기능을 실행할 수 있는 기능Window창이 뜨게된다. New Shape를 누..
· TIL/Unity
이번 프로젝트에서 곡괭이와 관련된 기능을 구현 중에 자원을 채취해야하는 기능이 필요했었다. 어떻게 구현하면 좋을지 곰곰히 생각해봤는데 아무리 생각해도 플레이어가 들고있는 상태에서 Ray를 쏴주어 오브젝트를 감지하는건 말이안됐다. 그리하여 찾아보니 애니메이션의 한 동작에 함수를 넣는 기능이있었다. 그리하여 이 기능을 오늘 설명하고자한다. 1. 사용법 현재 곡괭이의 Attack애니메이션 부분을 나타내고있다. 가만히 보니 우측 상단에 하얀 분필처럼 하나가 있는걸 볼 수 있다. 바로 Add event. 라고 뜨는 저 부분을 눌러주면 자신이 원하는 위치에 함수를 넣을 수 있다. 나는 곡괭이가 공격하여 자원에 닿을 것 같은 부분에 OnHit라는 함수를 넣어주었다. 그렇게되면 현재 곡괭이 프리팹이 Ray를 쏴서 자원..
· TIL/Unity
오늘 팀원들끼리 모여서 각자 맡은 기능을 병합하는 시간을 가졌다. 병합 자체는 아무 문제없이 진행 됐지만 큰 문제가 하나있었다. Scene에서 다른 Scene으로 이동하는 경우에 각각의 Prefab은 어느 Scene에서나 실행되어야 하는데 지금 내 Prefab은 독립적이지 않고 정보가 다 빠져있었다. 그래서 이 Prefab을 어떻게하면 독립적으로 관리할 수 있는지 설명하고자한다. 1 - 1. 문제점 현재 내가 만들고 있는 TestScene이다. 여기에서 Player라는 프리팹에 적용되어 있는 Inventory Script에 InventoryCanvas의 Btn값들을 모두 집어 넣었다. 그리고 오버라이드를 모두 적용하고 아래에 공용 Prefab 폴더에 InventoryCanvas와 Player 프리팹을 넣..
· TIL/Unity
항상 프로젝트를 진행할 때 각 기능의 Manager를 만든 다음에 모두 싱글톤화 하여 접근했던 경험이 있다. 하지만 이번 팀 프로젝트에서는 GameManager만 싱글톤화 하여 모든 매니저를 관리하기로 했다. 이를 통해서 얻게 된 지식을 설명하고자 한다. 1. GameManager 싱글톤 우선 GameManager를 싱글톤화 하려면 싱글톤 기능을 선언해야한다. 제일 기본적인 형태는 "static 클래스명 이름(Instance)" 의 형태로 선언 후 Awake 부분에 "이름(Instance) = this"의 형태로 사용하면된다. 위 사진처럼 조건이 필요할 경우 Awake 부분에 알맞게 적용하면 된다. 그 후 자신이 관리할 매니저들과 클래스들을 선언하여 다른 클래스들이 접근할 수 있도록 준비한다. 2. Ga..
· TIL/Unity
오늘 프로젝트를 진행하는 도중에 애니메이터 트리거를 String으로 파라미터 값을 계속 호출하는 상황이 반복됐다. 하지만 별 생각없이 진행하여 마무리했고 추가로 유니티 강의를 듣고있었다. 그런데 마침 강의에서 String을 호출하는 것은 성능상 좋지 않다고 하여 StringtoHash기능으로 값을 변환하여 사용하고 있었다. 그렇기에 StringtoHash에 대해 알아보고자한다. StringtoHash란? Unity에서 Animator와 같은 기능들을 사용할 때 StringtoHash 기능을 사용할 수 있다. 정수 ID를 Hash값으로 미리 캐싱하여 사용하기 때문에 String을 사용할 때의 생길 수 있는 잠재적 오류와 속도문제를 해결해 줄 수 있다. 사용법 Animator에서 공격하는 값을 Attack이..
· TIL/Unity
오늘 프로젝트 마무리로 스타트화면에서 사용자에게 이름을 입력받아 다른 씬으로 입력 값을 옮겨주는 작업을 하고 있었다. 그래서 Input Field를 만든 후 코드를 짜려고 하는데 입력을 어떻게 받아 왔는지 바로 떠오르지 않았다. 그렇기 때문에 Input Field에 대한 개념을 적어보고자 한다. Input Field란? 사용자에게 입력을 받을 수 있는 공간이다. 사진과 같이 기본형태는 흰색 네모칸으로 이루어져있다. InputField의 자식 파일들은 옅은 회색으로 사용자에게 미리 정보를 알려줄 수 있는 텍스트 Placeholder와 사용자가 적을 텍스트 Text가 있다. 사용법 UI카테고리에 들어가서 Input Field를 누르면된다. Legacy 타입과 TextMeshPro 타입이 있는데 사용자가 원하..
Sh_Blog
'TIL' 카테고리의 글 목록 (6 Page)