반응형

[Unity]/[Unity] 38

[Unity] 유니티로 안드로이드 앱 빌드할 때, JDK not found 해결 방법

유니티에서 안드로이드 앱으로 빌드하려 했는데, 다음과 같은 경고창이 떴습니다. 바로 JDK가 깔리지 않았다는 뜻인데요, JDK를 깔고 빌드하는 방법을 알아봅시다. 1. 유니티 Hub를 켜고, 설치 탭에 들어가 본인이 사용하고 있는 유니티 버전의 설정에서 '모듈 추가'를 눌러줍니다. 2. Android Build Support에 해당하는 두가지를 체크한 후 설치해줍니다. 설치한 후, 다시 빌드를 눌러주면 성공적으로 빌드가 되는 것을 확인할 수 있습니다!

[Unity]/[Unity] 2021.09.09

[Unity] 직접 텍스트 입력하는 방법(feat. Input Field UI)

안녕하세요, 극꼼입니다. 오늘은 플레이 중 직접 텍스트를 입력하는 방법에 대해 알아보겠습니다. 먼저 캔버스에 Input Field UI를 만들어줍니다. 아래와 같은 입력란이 생기는데요, 저는 이 입력란을 원하는 형태로 예쁘게 만들기 위해 다음과 같은 작업을 거쳤습니다. 1. 배경화면(하이랄키창의 InputField)의 Image를 껐음 2. 아무것도 적지 않았을 때의 텍스트 창(하이랄키창의 Placeholder)에 '숫자 입력'을 적어줌 3. 텍스트를 입력했을 때 보이는 텍스트 창(하이랄키창의 Text)의 폰트를 원하는 폰트로 바꾼 후, Best Fit에 체크하고 글씨의 최대, 최소 크기값을 입력 이와 같은 과정을 거치면 다음과 같이 원하는 모습의 입력 창이 됩니다. 이제 다음과 같은 순서로 텍스트 입력..

[Unity]/[Unity] 2021.09.01

[Unity] 해상도에 따른 화면 비율 유지(feat. Canvas Scaler)

안녕하세요 극꼼입니다! 지난번에 레터박스를 이용해 디폴트 해상도에서 벗어나면 남는 부분을 까맣게 처리했는데요, https://geukggom.tistory.com/104 [Unity] 해상도에 따른 화면 비율 유지(feat. 레터박스(Letter box)) 안녕하세요 극꼼입니다. 오늘은 해상도가 달라져도 화면 비율을 유지할 수 있는 래터박스를 만들어보도록 하겠습니다. 저는 16:10 비율로 만든 후, 다른 비율의 해상도일 경우 남은 빈 공간을 검 geukggom.tistory.com 이번 포스팅에서는 캔버스 내에서 배경이 되는 UI가 화면 빈 공간에 맞춰 크기가 달라지게 하는 방법에 대해 다뤄보겠습니다. 아래는 예시) UI Canvas의 인스펙터창에는 Canvas Scaler라는 컴포넌트가 있습니다. 여..

[Unity]/[Unity] 2021.08.28

[Unity] 3D animation에 이벤트 추가(feat. 읽기전용(Read Only) 파일일 때)

에셋스토어에서 에셋을 가져와 쓰다보면 animation에 event를 추가하기 어려운 경우가 생깁니다. 보통 아래 화면에서 표시된 버튼을 눌러 event를 추가하는데, 읽기전용 파일은 그런식으로는 event를 추가할 수 없습니다. 이럴땐 fbx파일을 찾아 들어가준 다음, 인스펙터 창에서 event 탭을 열어줍니다. 그 다음, 이벤트 추가 버튼을 눌러 아래와 같이 이벤트 시점을 내가 원하는 애니메이션 시점으로 끌고온 후, Object에 원하는 스크립트를 가져온 다음 Function에 해당 스크립트 내에 있는 함수 이름을 적어줍니다. * 아래는 실제 스크립트 내의 함수 이렇게 한 후, Apply 버튼을 눌러주면 내가 원하는 타이밍에 event가 잘 작동함을 확인할 수 있습니다!

[Unity]/[Unity] 2021.08.05

[Unity] AI의 시야각(FieldOfView) 구현하는 법

안녕하세요 극꼼입니다. 오늘은 젤다 모작을 만들며 사용한 몬스터의 시야각을 구현하는 방법을 알아보겠습니다. 참고로 제가 만든 모작은 3D게임이지만 지형이 입체적이거나 하지는 않기 때문에, 평면적인(y축 값 변동이 없는) 시야각을 사용했습니다. 구현한 기능을 미리보기로 보면 다음과 같습니다. 이와 같은 기능을 위해 3가지 단계를 거쳤습니다. 1. 필요한 변수 적절하게 선언하기 2. 시야각의 범위를 OnDrawGizmos를 통해 표시하기 3. 시야각의 범위 내에 들어온 적 또는 장애물 인지하기 1. 필요한 변수 선언하기 [SerializeField] bool DebugMode = false; [Range(0f, 360f)] [SerializeField] float ViewAngle = 0f; [Seriali..

[Unity]/[Unity] 2021.08.04

[Unity] 학원에서 배운거 복습 1(feat. CubeGame)

내가 보려고 하는 정리 1. [SerializeField] : public처럼 접근할 수는 없지만 인스펙터 창에서 볼 수는 있음. 2. [Range(10, 20)] : ()안에 min,max 입력. * 10~20의 바가 생깁니다. 3. get, set : private 멤버 변수에 접근할 수 있게 해주는 키워드. https://geukggom.tistory.com/111 [C# 기초] 16. Property(프로퍼티) Property(프로퍼티) : 은닉한 변수(private 또는 protected)에 외부에서 접근할 수 있게 해줍니다. 멤버 변수를 은닉하게 되면 getter, setter 메소드를 구현해야 하는데요, 이를 편리하게 해주는 것이 C#의 geukggom.tistory.com 4. FindGa..

[Unity]/[Unity] 2021.08.02

[Unity] 레터박스를 만든 후, 화면에 잔상이 남을 때!

레터박스 생성 : https://geukggom.tistory.com/104 레터박스를 만들고 난 후, 문제점이 하나 생겼는데요, 바로 레터박스 위에 잔상이 남는다는 것입니다. 이런 경우, 코드 한 줄로 해결할 수 있습니다. void OnPreCull() => GL.Clear(true, true, Color.black); 레터박스를 검정색으로 칠해주는 코드입니다. + 카메라 영역 내에 잔상이 생길 경우, Camera의 Clear Flage를 Solid Color로 색을 채워주거나, Sky box로 채워주면 됩니다.

[Unity]/[Unity] 2021.07.28

[Unity] 해상도에 따른 화면 비율 유지(feat. 레터박스(Letter box))

안녕하세요 극꼼입니다. 오늘은 해상도가 달라져도 화면 비율을 유지할 수 있는 래터박스를 만들어보도록 하겠습니다. 저는 16:10 비율로 만든 후, 다른 비율의 해상도일 경우 남은 빈 공간을 검은 래터박스가 채우게 해줄겁니다. 우선 세로 비율을 1로 두었을 때의 가로 비율을 구해줍니다. (16:10의 경우, 가로 비율은 1.6) 만약 currentAspectRatio가 1.6(내가 원하는 화면 비율)보다 클 경우와 작을 경우를 각각 다르게 해주었습니다. 1. 먼저 currentAspectRatio가 1.6보다 작을 경우 입니다. 아래와 같이 가로 폭이 좁아져 보이는데요, 이럴 때 세로폭을 낮추고(h), 화면을 가운데로 맞춰줍니다(y). float h = currentAspectRatio / fixedAsp..

[Unity]/[Unity] 2021.07.25

[Unity] 마우스 화면 이탈 방지, 마우스 고정 코드(CursorLockMode)

안녕하세요, 극꼼이입니다! 유니티를 이용하다 보면 커서가 화면 밖으로 나가서 곤란한 경우나 마우스를 고정해야 하는 경우가 생기는데요, 그럴때는 아래와 같이 유니티에서 제공하는 코드를 이용해서 이를 방지할 수 있습니다. 유니티에서 제공하는 CursorLockMode 에는 다음과 같이 3가지가 있습니다 : Locked, Confined, None 1. Locked : 마우스의 커서를 윈도우 정중앙에 고정시킨 후 보이지 않게 해주는 코드. FPS 게임에 유용. 코드 사용 예시 : Cursor.lockState = CursorLockMode.Locked; 2. Confined : 마우스의 커서가 게임 윈도우 밖으로 벗어나지 않게 함. 코드 사용 예시 : Cursor.lockState = CursorLockMod..

[Unity]/[Unity] 2021.06.29

[Unity] Xml 사용 방법 (feat.암호화/복호화)

안녕하세요! 극꼼이입니다. 오늘은 게임 데이터를 저장하고 불러올 때 사용하기 위해 제가 사용한 Xml 코드를 포스팅해보겠습니다. 사용 방법이 굉장히 쉽고 접근성도 좋기 때문에, 유저들이 접근하지 못하게 하기 위해서는 암호화, 복호화 과정도 함께 거쳐야 합니다. 1. Xml 생성 첫번째로 해야하는 것은 Xml 파일을 생성하는 것입니다. 게임을 이제 시작한 유저에게는 데이터를 저장하기 위한 Xml 파일이 존재하지 않은 상태입니다. 이때 다음과 같은 코드를 상요하여 원하는 위치에 Xml 파일을 생성해줍니다. 저장한 경로에 파일이 생성되었는지도 확인해줍니다. 2. Xml 로드 Xml 파일을 생성했으면 이제 만든 파일을 불러오는 방법을 알아봅시다. 3. Xml 덮어쓰기 세번째로는 이렇게 만든 Xml 파일에 새로운..

[Unity]/[Unity] 2021.06.27
반응형