전체 글 55

스팀웍스 등록 후 메일로 Action Required가 왔을 때 보내야 할 서류

유니티 버전 - 2022.3.17f1     목차Action Required: Important Tax Information 이하에 더 써있는 경우Action Required: Important Tax Information 이하가 비어있는 경우     Action Required: Important Tax Information 이하에 더 써있는 경우 - 2024.12.16 기준메일함에서 링크를 클릭하여 들어가줍니다그리고 여권 사진 + 여권 손으로 들고 셀카 한장을 찍어 업로드해주면 됩니다       Action Required: Important Tax Information 이하가 비어있는 경우 - 2024.12.16 기준메일함에서 링크를 클릭하여 들어가줍니다그리고 주민등록표 등본(영문)을 업로드해줍니다..

유니티 조합 시스템 - 슬롯 이용

유니티 버전 - 2022.3.17f1     목차전재 조건과 목표코드 및 설명     전재 조건해당 기능을 이용하여 슬롯에 퍼져있는 아이템들을 정렬하고, 필요한 개수만큼 슬롯 아이템의 개수를 감소시킨뒤 결과물을 반환하도록 할 수 있습니다   1. CraftRecipeSO / NeedItems / ItemSo의 구조는 다음과 같습니다     2. 슬롯의 구성은 다음과 같습니다   3. 인벤토리의 구성은 다음과 같습니다public Slot[] inventorySlots = new Slot[30];     코드 및 설명먼저 코드의 구조를 살펴보겠습니다   외부에서 아이템을 조합해달라고 요청이 들어오면 현재 인벤토리의 모든 아이템을 정리하여 충분한 아이템이 있는지 확인하고 있다면 결과 아이템을 지급하는 형태입니..

OnDrop이 실행되었을때 OnEndDrag가 실행되지 못하도록 하기

유니티 버전 - 2022.3.17f1     목차코드 의도문제 상황시도해본 방법들해결 과정결과마치며     코드 의도드래그가 종료되었을때 성공적으로 수행된다면 OnDrop을 이용하여 성공 사운드 출력 및 아이템 교환을 하고, 실패한다면 OnEndDrag를 이용하여 실패 사운드 출력 및 DragSlot을 초기화시켜 주고 싶은 상황입니다 /// /// 드래그가 UISlot이 아닌 곳에서 끝났을때 아무 작업도 수행하지 않기위해 DragSlot을 초기화시켜줌 /// public void OnEndDrag(PointerEventData eventData) { if (DragSlot.Instance.draggedSlot != null) { ..

씬 전환시 해당씬의 CinemachineConfiner로 교체하기

유니티 버전 - 2022.3.17f1     목차들어가며현 프로젝트 세팅코드     들어가며해당 코드를 이용하여 할 수 있는것은 씬이 전환 될때 전환된 씬의 Polygon Collider 2D를 가져와서 Cinemachine의 Cinemachine Confiner 2D의 Bounding Shape 2D를 설정해 주는 것입니다     현 프로젝트 세팅1. 해당 스크립트는 가상 카메라(CinemachineVirtualCamera)와 같은 오브젝트에 있습니다2. 2D 환경입니다3. 메인씬은 변하지 않고 필요한 씬이 Addtive 모드로 로드 / 언로드 됩니다     코드// 전체 코드// 기능과 무관한 부분은 생략 하였습니다public class CinemachineConfinerChanger : MonoBe..

스프라이트 아틀라스(Sprite Atlas)

유니티 버전 - 2022.3.17f1     목차프로젝트 세팅개별 옵션스프라이트 참조     프로젝트 세팅Edit -> Project Settings -> Editor -> Sprite Packer -> Mode 에서 빨간 네모 박스가 쳐진 항목을 선택하여 줍니다  그런다음 Project에서 아틀라스를 만들어 줍니다     개별 옵션Allow Rotation : Sprite Atlas를 패킹할때 스프라이트가 회전할 수 있는지 여부 (공간을 효과적으로 사용하나 예기치 못한 이미지 출력 가능성 존재) Tight Packing : 스프라이트의 아웃라인에 따라 패킹하는 것 (공간을 효과적으로 사용하지만 경계가 흐린 이미지는 이미지간 침범 가능성 존재)      스프라이트 참조아틀라스로 묶은 스프라이트들을 드래그..

카메라 최적화

유니티 버전 - 2022.3.17f1     Multi Camera 지양각각의 카메라가 렌더링을 수행할 때 culling 작업과 Layer Filtering을 수행하기 때문에 성능 이슈 발생 가능성이 높음대신 시네머신 사용 권장     Occlusion Culling 과 LODOcclustino Culling을 이용 할 수 있는 상황에서는 사용하기, Occlustino Culling이란 카메라에서 가려지는 것들은 렌더링 하지 않는 것, 아웃도어 상황에서는 오히려 연산 비용 증가 LOD - 어느 정도 멀리 떨어진 오브젝트는 렌더링 하지 않아서 성능적 이득을 보는 것     Skybox  하늘을 안봐도되는 탑다운 게임은 Skybox가 필요하지 않기에 삭제     참고자료 (유니티 공식 유튜브)더보기https..

오디오 에셋 최적화

유니티 버전 - 2022.3.17f1     목차Load TypeCompresstion Format     Load Type 옵션Decompress on loadCompressed into memoryStreaming 파일 크기256kb > 1MB사용 시기재생속도(반응속도) 가 빨라야 하는 오디오(총 소리, 피드백에 사용되는 오디오 등)양 옆의 경우를 제외한 대부분의 경우배경 음악메모리압축을 풀어서 메모리에 올림압축 상태의 오디오를 메모리에 올림오디오를 디스크에서 직접 스트리밍하여 필요한 부분만 로드       Compresstion Format매우 짧은 클립은 ADPCM 사용대부분의 경우 Vorbis 사용

IsPointerOverGameObject()란?

유니티 버전 - 2022.3.17f1     목차IsPointerOverGameObject()사용 예시주의할 점     IsPointerOverGameObject()마우스 입력을 받았을때 게임 오브젝트or씬 위에서 클릭이 일어났는지 UI위에서 클릭이 일어났는지 반환해주는 메서드입니다, 이를 이용하여 마우스 클릭으로 특정동작을 수행해야할 때 UI를 클릭했다면 동작을 수행하지 못하도록 할 수 있습니다     사용 예시 if (p_context.phase == InputActionPhase.Performed) { if (InGame.isUIOpened) return; if (EventSystem.current.IsPointerOverGameObject()) ..

if문을 어떻게 쓰는지에 대한 생각

유니티 버전 - 2022.3.17f1     목차if(isRun == false), if(! isRun ),  if(isRun != true)if(isRun == true), if(isRun)결론     if(isRun == false), if(! isRun),  if(isRun != true)먼저 bool값은 달리기를 하는 상태와 걷는 상태 두가지만을 나타낸다고 생각하여보겠습니다세 가지 모두 ~~~의 반대인 경우, ~~~가 아닌 경우일때 실행되도록 하는 문장입니다이때 논리의 흐름을 살펴보자면 3단계를 거쳐야합니다if(isRun != true){ // 내부 로직}1. 코드를 읽고 의미를 파악함2. Run의 반대일때 호출이 되는구나3. 그럼 Run의 반대인 Walk일때 내부 로직이 실행되는구나     if..

게임 에셋 판매 사이트

유니티 버전 - 2022.3.17f1     목차gamedevmarketitch.iocraftpix     gamedevmarket 험블 번들에서 많은 양의 에셋을 묶음 할인 판매할때 구매하시면 됩니다(이것저것 들어있는 느낌)더보기https://www.gamedevmarket.net/ Game Assets for Indie Developers |GameDev Market is a marketplace for high quality, affordable 2D, 3D, GUI & Audio game assets, handcrafted by talented creators around the world.www.gamedevmarket.net     itch.io리소스 없이 개발하는것이 힘들다면 위와 마찬가지로..