Pink Transparent Star

Unity 45

[ Unity ] Unity의 이벤트 함수 주기

이벤트 함수 실행 순서(Execution Order of Event Functions) - Unity 매뉴얼Unity 이벤트 함수는 사전에 정해진 순서대로 실행됩니다. 실행 순서는 다음과 같습니다.docs.unity3d.com Unity의 스크립트 라이프 사이클 플로우 차트에는 위에 같이 링크에서 확인 할 수 있습니다. 크게 자주 사용하는 이벤트 함수에 대해 정리하려고한다.시작 : 스크립이 실행 된 이후 바로 실행되는 함수 3개의 차이는 게임오브젝트와 스크립트의 상태에 따라 차이가 나타난다. Awake > OnEnable > Start Awake : 가장 먼저 실행 - 게임 오브젝트만 enable되어 있으면 실행 - 최초 1회만 실행 OnEnable : 오브젝트가 활성화 된 후 실행- 게임 오브젝트와 스..

Unity 2024.09.13

[Unity] Solve - Shader가 핸드폰에선 적용이 안될 때

Unity 로 어느 정도의 개발이 마무리되고 APK를 뽑은 뒤 게임을 확인한 결과 치명적인 오류를 발견했다.. 바로 모든 핸드폰 기종에서 그런건 아니지만 쉐이더 처리한 모든 것들이 보여지지 않는 다는 문제가 생겼다. 문제 1. 버튼의 쉐이더가 보이지 않음   문제 2. 인게임 안의 쉐이더와 파티클 쉐이더가 깨지고 무지개 빛으로 나타남 이 문제를 해결하기 위해 해봤던 방법들을 작성해두려고한다.1. 인게임에서 적용한 Material Resources 이동 (💣 실패 )유니티는 내부적으로 특수 목적으로 동적 파일을 사용할 때 Resources라는 고정적인 이름을 가진 파일을 만들어서 저장하면, 동적 로드를 지원하는 기능을 제공> 관련된 부분은 프리팹으로 만들어서 상관은 없을꺼같지만 해당 방법으로 해결했다는 ..

Unity 2024.08.18

[ Unity ] AI Navigation

Unity에서는 AI Navigation으로 게임의 이동하는 방법을 결정해주는 기술로 3D게임에서 캐릭터나 NPC가 지능적으로 이동하도록 만들어질 수 있는 것을 알 수 있어 사용하는 방법에 정리해주려고한다. 설치 방법 Window > Package Manager AI Navigation 검색 > Install Window > AI > NavMesh Updater  : AI Navigation을 사용할 수 있는 인터페이스가 나타난다. 사용 방법 .. 프로젝트 진행하면서 작성 중

Unity/개념 공부 2024.05.28

[ 내일배움캠프 ] TIL.25 - 스크롤 쉐이더 만들기

게임 배경을 만드는 중 Sprite의 크기와 시간을 계산하여 무한 스크롤을 제작할 수 있으나 Sprite로 시간마다 스크롤은 하는 것보단 해당 쉐이더를 만들면 더 좋지 않을까? 라는 생각에 쉐이더를 제작하게 되었다. Shader 생성 방법  Create > Shader > Standard Surface Shader : Shader 스크립트를 생성한다. 해당 Shader 스크립트를 클릭하여 Shader 설정 스크립트를 작성을 하면 된다..!  Shader에 대한 자세한 내용은 이전 포스팅에 작성해놓았다. [ Shader ] 02.커스텀 쉐이더( Custom Shader ) 란?해당 포스팅은 " 따라 하면서 배우는 유니티 5 셰이더와 이펙트 입문 " 기반으로 정리 하였습니다. 쉐이더 파일 생성 : Proje..

Unity/개념 공부 2024.05.21

[ 내일배움캠프 ] TIL.22 - 레이어마스크 (LayerMask)

Unity를 사용하다보면 LayerMask를 사용하여 RayCast 해당 오브젝트의 정보를 받아올 때 많이 사용합니다. 사용하는 방법에 대해서만 알고 어떻게 동작을 하는지 알지 못해 레이어 마스크에 대해 알아보려고 합니다. LayerMask란?레이어 기반 작업을 단순화 하는 기능입니다. 32비트의 int형으로 특정 레이어에서 대상 작업을 필터링하고 수행할 수 있습니다. 이때 레이어 마스크는 32 비트로 32개까지만 레이어마스크를 지정할 수 있습니다.  LayerMask는 오브젝트의 인스펙터 창에서 설정을 하고 Add Layer를 통해 레이어를 추가할 수 있습니다. 4번 Water나 5번 UI를 비트 플래그로 접근하는 방법을 예를 들겠습니다. "1 Water - 000000000000000000000000..

Unity/개념 공부 2024.05.16

[ 내일배움캠프 ] TIL.21 - 개인프로젝트 마무리

개인 프로젝트를 마무리 하는 날이다.  개인프로젝트의 구현 사항으로는 아래와 같은 구현을 해야하고 필수와 선택 구현을 모두 완료하였다..! 필수 구현선택 구현- 캐릭터 만들기- 캐릭터 이동- 타일맵을 이용하여 방만들기- 카메라 따라가기- 카메라 애니메이션 추가- 이름 입력 시스템 추가- 캐릭터 선택 시스템- 시간 표기- 인게임 이름 바꾸기- 참석 인원 UI- 인게임 캐릭터 선택 변경- NPC 대화 첫날 UI를 어떻게 구성을 할지 화면의 와이어 프레임을 작성하였다. 와이어 프레임 사용하고 싶은 기능 목록 ✅ : 구현 완료 / ❎ : 구현 실패 ✅ UI Toolkit - 동적 생성✅ Animation Blend✅ Particle System✅ Action을 통해 데이터 주고 받기✅ ScriptableObje..

Unity/개념 공부 2024.05.14

[ 내일배움캠프 ] TIL.20 - 애니메이션 블렌드 ( 4방향 애니메이션 )

개인과제를 제작하는 중 캐릭터의 애니메이션 처리가 정말 마음에 안 들어서 편리한 애니메이션이 없을까? 찾는 중 애니메이션 블랜드에 대해 알게 되어 적용을 하고 간단하게 처리할 수 있어 관련 내용을 작성해 보고자 한다. 위에 이미지를 처음 애니메이션 처리를 한 부분이다. 정말 위, 아래를 움직일 때 옆으로 걸어가는 애니메이션 자체로 처리되고 있어 정말 마음에 안 들어 변경을 하려고 한다. 3D, 2D 모두 사용할 수 있으나 2D 중 4방향으로 애니메이션을 처리하는 과정을 작성하려고 한다. 🔷 애니메이션 블렌드 사용법🔸 Animator > Create State > From New Blend Tree : 새로운 블렌드 노드를 생성  🔸 새로 생성된 블랜드 노드를 선택하여 Inspector > 이름을 변..

Unity 2024.05.13

[ 내일배움캠프 ] TIL.19 - 스크립터블오브젝트(Scriptable Object)?

! 아직 추가 작업 중 ScriptableObject 정의클래스의 인스턴스와는 별개로 대량의 데이터를 저장하는데 사용할 수 있는 데이터 컨테이너프로젝트를 빌드하기 전에만 수정 및 정의가 가능하지만 빌드된 후에는 수정할 수 없다. 사용 방법🔷 ScriptableObject를 만들기 위해선 ScriptabelObject 클래스를 상속받아서 아래와 같이 구현하면 된다.[CreateAssetMenu(fileName = "Assets/Resources/Player/PlayerData", menuName = "Person/Person", order = 0)]public class PersonInforSO : ScriptableObject{ public Sprite sprite; public GameOb..

Unity 2024.05.10

[ 내일배움캠프 ] TIL.17 - New Input System

Unity Input의 종류에는 3가지가 있다. [ 종류 ]1. Input.GetKey(KeyCode key); 🔗2. Input Manager 🔗3. New Input System 🔗 이전에는 구 버전의 Input인 Input.GetKey을 주로 사용해왔었는데 이번에는 New Input System을 사용하기위해 관련 내용을 정리하려고 한다.  설치하기[ Package 추가하기 ]Window - Package Manager - Unity Registry - Input System - Install Creat - Input Action 클릭 - 파일명 작성: 파일이 생성이 된다.   파일을 열게되면 아래와 같은 창이 나타난다.  No Control Schemes > Add Control Scheme..

Unity/개념 공부 2024.05.08

[ 내일배움캠프 ] TIL.16 - Console 팀 프로젝트 마무리

2024.04.29 ~ 2024.05.06의 기간동안 팀프로젝트 개발 마무리와 발표를 진행하였다.  4명의 팀으로 구성된 ❤️코딩 팀원들 뽑기로 조장으로 뽑혀서 조장으로써.. 역할을 제대로 했는지는 잘 모르겠다..  담당하기로한 던전 쪽에서 하나를 고치면 다른 버그가 생겨나는 무한 반복으로 골머리를 앓고 처음부터 제대로 짤껄.. 로직을 다르게 접근했다면 어땠을까 라는 아쉬움이 남아있는 프로젝트였던것같다. 물론 버그가 생겨나면서 깊은 복사, 얕은 복사의 개념과 이외에도 디버깅을 하면서 코드의 흐름을 파악하는 방법에 대해 알 수 있는 시간을 가질 수 있게 되어 좋았다. 나타난 버그 1. 몬스터가 죽은 상태여도 플레이어를 공격2. 플레이어가 스킬을 사용해서 2명의 적을 때렸으나 몬스터도 플레이어를 2번 때리는..

Unity/개념 공부 2024.05.07