전체 글184 [Unity/유니티] Pivot(피봇) 재설정 하기 체력바가 오브젝트의 아래쪽에 있다.분명 머리 위로 설정했는데..왜냐하면 `Transform.position`을 썼기 때문이다. `Transform.position`는 Pivot을 기준으로 한다.그렇다면 저 오브젝트는 Pivot이 이상하게 잡혀있는 것이다. 빈 오브젝트를 만들어준다. 빈 오브젝트의 위치를 조정해서 오브젝트의 중앙으로 위치 시켜준다. Enemy가 원래는 빈오브젝트였고, Img가 Enemy였다.자식으로 넣어준다. Unity 공부 기록 2024. 9. 7. [유니티/Unity] Physics2D.OverlapCircle 중앙 정렬 `Physics2D.OverlapCircle` 로 적을 탐지하려고 하는데 플레이어의 중앙과 맞지 않다. 이유는 `Pivot`이 아니라 `Center`로 잡혀있기 때문에 플레이어의 `Center`를 기준으로 다시 잡아주어야 한다. // 플레이어의 중앙을 계산 Vector2 playerCenter = playerCollider.bounds.center; // 중앙을 기준으로 적 감지 Collider2D enemy = Physics2D.OverlapCircle(playerCenter, attackRadius, enemyLayer);Collder 아무거나 플레이어에 넣어주고 그 경계의 중앙으로 잡아주면 된다. 짜자잔~ Unity 공부 기록 2024. 9. 6. [유니티/Unity] Aseprite 사용법 1. Aseprite 묶음 그대로 사용하기(실패)에셋 중에서 Aseprite 형식의 에셋을 간혹 접하는 경우가 있다.sprite, 애니메이션 다 한 묶음에 들어가 있길래 그냥 드래그 앤 드롭해서 그대로 갖다 쓰려고 했다. Failed to load 'D:/GameEngine/UnityProject/OneMonthTask/Assets/Resources/CharacterPack/Aseprite file/Archer.aseprite'. File may be corrupted or was serialized with a newer version of Unity.UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)그런데 애니메이터를 수정하려던 순간 오류가 떴다. GPT.. Unity 공부 기록 2024. 9. 4. [Git/GitHub] ReadMe 이미지 깨짐, 클립보드(복사/붙여넣기) 이미지 이미지를 캡쳐해서 리드미에 복사, 붙여넣기해서 첨부하는 사람들이 많을 것이다.그런데 본인 아이디로 로그인 했을 때는 이미지가 잘 보이다가 로그아웃해서 보면 저렇게 이미지가 깨져있는 현상을 볼 수 있을 것이다.본인도 이력서를 쓰다가 혹시나 로그아웃해서 들어가봤는데 역시나 이미지가 깨져있어서 해결법을 찾아봤다. 1. Issues 클릭 2. New issue 클릭 3. Write 칸에 해당 이미지 다시 캡쳐해서 붙여넣기이미지를 다시 캡쳐해서 붙여넣기 하면 위의 문구가 뜨면서이런식으로 깃허브만의 이미지 링크로 바뀌게 된다. 이 링크를 복사해서 다시 리드미에 넣어주면 로그아웃해도 이미지가 깨지지 않게 보인다. GitHub|Git 2024. 9. 4. [유니티/Unity] Slice된 Texture2D를 Png 썸네일 이미지로 생성하는 툴 이렇게 묶음으로 된 Texture2D를 Slice 한 후 원하는 이미지 하나를 썸네일로 사용하고 싶었는데 방법을 몰랐다.그래서 그냥 툴을 만들어버렸다. 위의 Texture2D 파일을 드래그 앤 드롭해서 끌어다 넣고, 썸네일을 추출할 저장 경로를 지정해준 후 `Export Sprites`를 클릭하면 된다. 폴더에 들어가보면 이렇게 Png 파일들이 추출되어 있다.이 중에서 원하는 이미지를 골라서 썸네일로 활용하면 된다! 소스코드▼using System.IO;using System.Linq;using UnityEditor;using UnityEngine;public class SpritePngExporter : EditorWindow{ private Texture2D texture2D; priva.. Unity 공부 기록 2024. 9. 3. 2024.08.14 TIL - UI Mask 구멍내기 부모가 내가 뚫을 구멍이다.구멍의 크기와 SourceImage를 지정한다.Mask 컴포넌트를 넣고, Show Mask Garphic은 끄기. 자식은 Width와 Height를 지정해줘도 되고 코드로 지정해줘도 된다.나는 캔버스의 크기를 가져와서 코드로 지정해줬다. using UnityEngine;using UnityEngine.Rendering;using UnityEngine.UI;public class CutoutMaskUI : Image{ public void SetToCanvasSize() { Canvas canvas = GetComponentInParent(); if (canvas != null) { RectTransform ca.. 스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록 2024. 8. 14. 2024.08.13 TIL - FontAsset 굽는 법, 최적화(용량 줄이기) 폰트 굽는법(Font Asset 만드는 법)Source Font File : Font 파일 넣기Sampling Point Size : Auto SizingPadding : 5Packing Method : FastAtlas Resolution : 4096 4096Character Set : Custom RangeCharacter Sequence :`32-126` : 알파벳 범위`44032-55203` : 한글 범위(받침 글자 포함)`12593-12643` : 한글인데 'ㅁ ㅏ'처럼 띄워쓰기된 글자들의 범위`8200-9900` : 특수문자 범위32-126,44032-55203,12593-12643,8200-9900Render Mode : SDFAA 최적화(용량 줄이기)Character Sequence 에서.. 스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록 2024. 8. 13. 2024.08.10 TIL - Update에서 코루틴 호출하기 VS 재귀로 호출하기 Update에서 코루틴 호출하기 public override void Execute() { base.Execute(); fsm.StartCoroutine(DetectClosestTargetCoroutine()); } private IEnumerator DetectClosestTargetCoroutine() { currentDetectionRadius = fsm.initialDetectionRadius; while (fsm.target == null && currentDetectionRadius 한 가지 알아두어야 할 점은 여기에서 Execute()는 Update에서 실행된다.최대 탐지 반경까지 찾지 못한 경우 Update에 의해.. 스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록 2024. 8. 10. 2024.08.01 TIL - 버섯커 램프 레벨업, 배달의 기사 성장탭 골드 소모식 버섯커의 램프를 레벨업할 때 골드를 소모하는데, 레벨마다 소모값이 다르다. 배달의 기사 성장탭의 경우에도 레벨에 따라 소모하는 골드량이 다르다. 이 계산식을 어떻게 할까 고민하다가 계차 수열 방식을 사용했다. public int CalculateLevelUpCost(int level) { // 계차 수열 방식으로 골드 소모량 계산 int goldCost = baseGoldCost + (level * (level + 1) / 2) * increaseRate; return goldCost; }예시:기본 골드 소모량: 100골드 증가율: 50레벨에 따른 골드 소모량:레벨 1: 100 + (1 * (1 + 1) / 2) * 50 = 150레벨 2: 100 +.. 스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록 2024. 8. 1. 2024.07.25 TIL - 면접 질문지 답변 작성해보기 0. 쿠키런 킹덤 1분 자기소개안녕하십니까. 저는 이번 쿠키런 킹덤 신입 채용에 지원하게 된 성지윤입니다.저는 곧 출시 예정인 픽셀몬 키우기라는 게임을 개발한 경험이 있습니다. 해당 게임을 만들면서, 기능 하나를 개발할 때마다 최적화와 개발 효율을 고려하여 적절한 기술을 선택했습니다. 실제로 구글 시트의 데이터를 수동으로 받아오는 작업이 번거로웠기 때문에, 변경사항을 자동으로 실시간 반영되도록 구현했습니다. 또한, 플레이어가 적을 탐색하는 로직을 구현할 때 세 가지 로직을 생각했고, 프로파일링을 통해 지표를 비교 분석하여 가장 성능이 좋았던 로직을 선택했습니다.쿠키런 킹덤에 입사하게 된다면, 타당한 근거를 바탕으로 기술 결정 의사를 내리고, 최적화를 고려하며, 유저들이 어떻게 하면 게임을 더 재밌고 편하.. 스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록 2024. 7. 25. 2024.07.24 TIL - 이미지 꽉 차지 않게 원래 이미지 크기대로 설정하기(preserve aspect) 펫 슬롯에 이미지가 자동으로 꽉차게 설정되어 있다보니 찐빵같이 보인다. 이미지 컴포넌트에 있는 preserve aspect를 체크해준다. 그러면 원래 Sprite 이미지 크기대로 설정된다. 스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록 2024. 7. 24. 2024.07.11 TIL - 어드레서블 에셋(Addressable Asset) Resources 폴더장점사용하기에 편하다. `Resources.LoadAll` 등 Resources 폴더 안에 에셋들을 코드 한 줄로 불러올 수 있다. 단점1. apk 사이즈가 커진다. `Resources` 폴더에 있는 모든 파일은 게임 빌드에 포함되기 때문이다.2. 앱 시작 시간이 길어진다. 런타임에 리소스를 로드하기 때문에 디스크 I/O가 발생해서 로딩 시간이 증가할 수 있다.3. 메모리 최적화 문제가 있다. `Resources.Load` 메서드로 리소스를 로드하면 메모리에 상주하게 되며, 수동으로 해제하지 않으면 메모리 누수가 발생할 수 있다.4. 플랫폼별 최적화가 불가능하다. 특정 플랫폼에서만 필요한 리소스를 포함하거나 제외하는 등의 최적화가 어렵다. `Resources` 폴더에 있는 모든 파일.. 스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록 2024. 7. 11. 이전 1 2 3 4 ··· 16 다음 반응형