Unity63 [유니티/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. [유니티/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.07.04 TIL - 유니티 시네머신 개요 Virtual Camera 시네머신은 새로운 카메라를 생성하지 않는다.Virtual Camera는 Unity 카메라를 이동 및 회전하고 해당 설정을 제어한다. Unity 카메라와 별개의 게임 오브젝트이며, 독립적으로 동작한다. 또한 서로 중첩되어 있지 않다. Cinemachine brain 시네머신 브레인은 Unity 카메라 자체의 컴포넌트이다. 시네머신 브레인은 씬에 있는 액티브 가상 카메라를 모두 모니터링한다. 카메라 이동 및 조준가상 카메라의 Body 프로퍼티를 사용하여 씬에서 움직이는 방식을 지정할 수 있다. 회전 방식을 지정하려면 Aim 프로퍼티를 사용한다. 가상 카메라의 타겟`Follow` 타겟 : 가상 카메라가 함께 따라 이동할 게임 오브젝트를 지정한다.`Look At` 타겟 : 게임 오브젝.. 스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록 2024. 7. 4. 2024.06.28 TIL - 유니티 렌더링 파이프라인(URP - Unity Rendering Pipeline) Rendering Pipeline 화면에 오브젝트를 그리는 과정을 제어하는 시스템 주요 3단계컬링(Culling): 이 단계는 씬(scene)에서 렌더링할 객체를 결정하는 과정입니다. 카메라의 시야 밖에 있거나 다른 객체에 의해 가려진 객체는 성능 최적화를 위해 제외됩니다. 위의 그림에서 제외된 객체가 빨간색으로 표시되어 렌더링되지 않습니다.렌더링(Rendering): 이 단계에서는 선택된 객체가 화면에 그려집니다. 위의 그림에서 객체가 픽셀로 변환되는 과정을 보여주며, 단일 픽셀이 예로 강조되어 있습니다.포스트 프로세싱(Post-processing): 렌더링된 이미지에 추가적인 이미지 효과를 적용하여 시각적 품질을 향상시키는 과정입니다. 여기에 포함될 수 있는 효과로는 안티 앨리어싱, 블룸, 모션 블.. 스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록 2024. 6. 28. 2024.06.21 TIL - 이벤트 구독 취소의 중요성 아이템 스폰이 Max값보다 오버되어 스폰되는 문제맵에 아이템을 최대 10개까지만 생성하고 싶었다.그런데 플레이어가 아이템을 빠르게 주우니까 최대 10개보다 더 아이템이 생성되는 문제 가 발생했다. private IEnumerator SpawnItemsWithInterval() { while (true) { yield return new WaitForSeconds(SpawnTime); if (CurItemsOnMap = MaxItemsOnMap) { Debug.LogWarning("Reached maximum item count."); return; .. 스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록 2024. 6. 21. 2024.06.20 TIL - 유니티 아이소메트릭(Isometric) 타일맵(Tilemap)에서 오브젝트 랜덤 생성하기 2D에서 랜덤 좌표 x,y를 타일맵에서 가져오기 위한 고민내가 오늘 하고 싶었던건 타일맵 위에 아이템을 랜덤으로 스폰하는 것이었다. 일반적인 타일맵은 직사각형 형태의 `x, y`가 명확한 형태이다.그래서 그냥 타일맵의 `x, y`의 최소~최대값 사이의 랜덤값을 뽑으면 됐다. 그런데 위와 같은 아이소메트릭 형태의 타일맵은 그냥 x, y값을 가져와도 되는건가? 의문이었다. 생각해본 첫 번째 방법2024.06.05 - [스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록] - 2024.06.05 TIL - MenuItem, 유니티 메뉴창에 툴 구현하기 ▲ 지난번에 오브젝트에 자동으로 박스 콜라이더를 부착하는 툴을 만든 적이 있다.그때 사용했던 방식 중, 오브젝트의 스킨 랜더러의 `bound.. 스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록 2024. 6. 20. 2024.05.09 TIL - 부채꼴 모양으로 화살 날리는 로직 위의 사진은 예시인데 저렇게 부채꼴 모양으로 화살이 나가도록 하는 로직을 강의에서 알려주셨다.강의에서 처음에 그림으로 설명하시는데 이해가 안가서 질문드리러 갔더니부채꼴 모양으로 나가도록 구현한 것이라 하셨다.`부채꼴`이라고 하시니 이해가 됐다.. float minAngle = -(numberOfProjectilesPerShot / 2f) * projectilesAngleSpace + 0.5f * rangedAttackSO.multipleProjectilesAngle;그런데 문제는 코드이다..다른 사람들이랑 머리를 맞대고 고민을 해보다가 다같이 튜터님께 질문을 하러 갔다. Q. `0.5`를 곱해서 보정한다고 하셨는데 정확히 무슨 의미인가요? A. 화살이 부채꼴 모양으로 고르게 펼쳐져야하는데 중심선(캐릭터가.. 스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록 2024. 5. 9. 2024.05.08 TIL - GravityScale, InputManger 설계 Unity Rigidbody2D Gravity Scale Rigidbody에서 `Gravity Scale` 값이 `1`일 때의 모습이다.중력의 영향을 받아 점점 아래로 떨어진다.그래서 `Gravity Scale` 값을 `0`으로 바꿔주면 멈춘다. InputManger 설계컨트롤러는 어떤 오브젝트의 상황에 따라 행동을 결정하고, 이를 `TopDownMovement`와 같이 실제 로직을 수행하는 컴포넌트들에 이벤트들을 전달하는 역할을 한다.이러한 컨트롤러는 플레이어에만 들어가는 것이 아니므로, 이번에는 `PlayerInputController`를 만들겠지만, 적에게도 사용되는 공통적 기능들은 `TopDownController`에 정의하여 이를 재활용할 수 있게 한다.`TopDownController`에서는.. 스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록 2024. 5. 8. 2024.05.07 TIL - 프로젝트 마무리 프로젝트 개요팀원 소개프로젝트 소개클래스 설계https://www.figma.com/file/bzfUJ0X8lwQcJv28lGtcW3/%ED%8C%80%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-3%EC%A3%BC%EC%B0%A8?type=design&node-id=0-1&mode=design&t=nWoSgyxRfvbI87Qp-0플로우 차트시연 영상https://youtu.be/MrC1erl00S4기술스택GitHubOrganizations 리포지토리 생성GitHub Desktop 사용Stash로 작업물을 유지한 채 Pull 받아온 후 Push하여 Main에서 안전하게 받아오기그외 Discard, Revert 사용해봄깃 플로우 브랜치 전략 : Main -> Dev -> Feature .. 스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록 2024. 5. 7. 2024.04.26 TIL - enum, Json 문제점 Json으로 클래스 데이터 저장시 자식 클래스가 아닌 부모 클래스명으로만 저장되는 문제 // 장착중인 방어력 아이템 능력치를 모두 더하여 반환 public double TotalDefenseItemStatus() { double totalItemValue = 0; foreach (Item item in items) { Console.WriteLine(item.itemValue); // 5 Console.WriteLine(item.isEquipped == true); // True Console.W.. 스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록 2024. 4. 26. 2024.04.25 TIL - double형 소수점 자리수, ToString, int, 명시적 형변환 double형 변수의 소수점 자리수 문제43 // Math.Round()로 첫째 자리수까지 반올림 한 결과체력 86.1 -> 43.099999999999994double형을 쓰다보면 나누거나 곱할 때 소수점 자리수가 길어져서 귀찮은 일이 발생한다.그래서 `Math.Round(변수명, 1)`를 사용하여 첫째 자리수까지 반올림 한 결과를 `체력 감소 메소드`의 매개변수로 넘겨줬는데...보다시피 `43.099999999999994`로 저장됐다.. 분명 43을 넘겨줬는데?? (86.1 - 43 = 43.1) 문제는 `부동 소수점`의 정확도와 관련이 있다.컴퓨터는 실수를 이진법으로 표현하므로, 10진수로 표현되는 숫자 중 일부는 정확히 표현할 수 없다. 이로 인해 부동 소수점 연산에서 정확한 결과를 기대하기 어.. 스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록 2024. 4. 25. 2024.04.24 TIL - Item 클래스의 상속, 인터페이스, 다중 상속 Item 을 인터페이스로 만들었을 때 문제점// 아이템을 사용할 수 있는 인터페이스public interface IUsable{ void Use();}// 아이템 클래스public class Item : IUsable{ public string Name { get; set; } public void Use() { Console.WriteLine("아이템 {0}을 사용했습니다.", Name); }}강의에서 위와 같이 아이템을 인터페이스로 사용하는 예시를 보고 개인 프로젝트에도 적용해봤다. 그런데 점점 거대해져가는 클래스..!(눈갱 주의) ▼더보기// 아이템 인터페이스 public class IItem { .. 스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록 2024. 4. 24. 이전 1 2 3 4 ··· 6 다음 반응형