전체 글70 [유니티] #2 광부 타이쿤 게임 만들기 (코루틴, DOTween) Game 탭에서 해상도를 수정한다.1080x1920 크기로 설정했다. 하이라이키 창에서 UI → Image를 눌러 Source Image에 배경을 넣는다. 인스펙터에서 X, Y 축 값을 0으로 수정하고 크기를 1080x1920으로 수정한다.게임 탭 배경이 이미지 크기(1080x1920)와 딱 맞게 된다. Canvas의 Render Mode를 Screen Space - Camera로 변경하고 메인 카메라를 넣어준다.캔버스 이미지가 플레이어를 가리지 않고 씬과 게임창에 똑같이 뜨는 것을 볼 수 있다. 가져올 이미지를 Multiple로 설정하고 Sprite Editor에 들어간다.Automatic Slice를 하면 자동으로 이미지가 잘라진다.Ctrl 버튼을 누르면 모든 스프라이트의 히트박스를 볼 수.. 2025. 1. 12. [유니티] #1 광부 타이쿤 게임 만들기 (캐릭터 Bone 애니메이션) ShaftMiner 이미지의 Sprite Editor에 들어간다.Skinning Editor로 바꾸고 스프라이트 이미지를 클릭하면 각 부분이 활성화된다.이 뼈를 연결하고 캐릭터를 애니메이션화 하려면 뼈를 만들어야 한다. Create Bone 버튼을 누르고 뼈를 만든다.머리를 회전시키기 위해서는 처음 뼈가 목에서부터 시작해야 한다.왼쪽은 틀린 예시, 오른쪽이 맞는 예시이다. Create Bone 버튼을 눌러 모든 부분에 뼈를 만든다.몸통을 중앙으로 퍼지듯이 만들면 된다. Split Bone 버튼은 뼈를 2개로 나눌 수 있고, Edit Bone은 뼈의 크기를 조정하거나 방향을 변경할 수 있다. Auto Geometry 버튼을 누르면 뼈와 지오메트리가 연결된다.Generate For Selected.. 2025. 1. 11. [ChatGPT] GPT를 200% 활용하는 패턴들 1. 페르소나 패턴 GPT를 전문가라고 가정하여 질문하기"당신이 FAANG 회사의 선임 엔지니어라고 가정합니다.보안과 성능에 주의를 기울여 다음 코드를 검토하세요.선임 엔지니어라면 해당 코드에 대해 생성할 수 있는 출력을 제공하세요." 2. 레시피 패턴 달성하고 싶은 목표가 있고 재료, 단계를 어느정도 알고 있지만 이를 모두 조합할 때 도움이 필요한 경우 사용하기"데이터를 암호화하는 Rust 프로그램을 작성하려고 합니다.사용자 입력을 읽고, 유효성을 검증하고, 암호화하고 , 암호화된 데이터를 반환해야 한다는 것을 알고 있습니다.이를 위해 전체 단계 순서를 알려주고, 누락된 단계를 채우고, 불필요한 단계가 있는지 확인해 주세요." 3. 리플렉션 패턴 모든 답변에 대한 이유를 설명하도록 요청하기"답변을 .. 2025. 1. 9. [유니티6] #4 픽셀 Run 게임 만들기 (하이 스코어, 배포) 플레이어가 죽었을 때 UI를 띄울 차례다.Create Empty로 DeadUI를 만든 후 버튼 이미지를 넣고 체크 해제하여 비활성화한다. GameManager 스크립트에 DeadUI 변수를 선언하고 플레이어가 죽었을 때 활성화되도록 한다.인스펙터에서 DeadUI 변수에 드래그 앤 드롭하는 것을 잊으면 안 된다. Heart 스크립트를 새로 만든다.생명 상태를 보여줄 꽉찬 하트와 빈 하트 변수를 선언한다.하트 이미지를 관리할 SpriteRenderer과 몇 번째 하트 오브젝트인지 알려주는 LiveNumber 변수를 선언한다. 인스펙터에서 변수에 꽉찬 하트와 빈 하트 이미지를 넣는다.LiveNumber에 하트를 각각 1, 2, 3으로 입력한다. Update 메서드에 lives가 LiveNumbe.. 2025. 1. 8. [유니티6] #3 픽셀 Run 게임 만들기 (플레이어 생명, 게임 매니저) 플레이어의 생명 변수 lives와 무적 변수 isInvincible을 선언한다.최대 생명은 3이다. 아래 OnTriggerEnter2D에 if문을 추가한다.태그가 Enemy일 경우 무적 상태가 아니면 생명이 1개 깎인다.태그가 Food일 경우 최대 3개까지 생명이 오른다. (Mathf.Min 사용)태그가 Golden일 경우 무적 상태(isInvincible)에 들어가고 일정 시간 후에 효과가 사라진다. Create Empty로 Game Manager를 만든다.생명 확인, 게임 인트로 화면, 게임 오버 시 재시작 등 모든 걸 관리할 것이다. Game Manager는 누구든 접근할 수 있고, 오직 하나만 있어야 하므로 static으로 만든다.Awake 메서드에 싱글톤 패턴을 사용한다. 게임 상.. 2025. 1. 7. [유니티6] #2 픽셀 Run 게임 만들기 (장애물) 건물을 배경에 배치하기 위해 기준점을 아래로 설정한다.Sprite Mode를 Single, Pivot을 Bottom 으로 변경한다.왼쪽 위에 Center가 아니라 Pivot으로 되어있는지 확인한다. Mover 스크립트를 만든다.Update 메서드의 transform.position에 Vector3 값을 더하여 건물이 계속 왼쪽으로 이동하도록 한다.추후 플랫폼과 적, 건물의 이동 속도를 동일하게 할 것이다. Destroyer 스크립트를 만든다.필요없는 메모리가 사용되지 않도록 오브젝트가 파괴되도록 만든다.Mover 스크립트를 통해 왼쪽으로 움직이다가 X축 값이 -15가 되면 사라진다. 이렇게 만든 Building을 Prefab에 저장한다.prefab은 미리 조립된 게임 객체를 의미한다.만든 pr.. 2025. 1. 6. [유니티6] #1 픽셀 Run 게임 만들기 (배경, 스크롤링, 플레이어 애니메이션) 2D 픽셀 이미지를 유니티에 옮기면 픽셀이 보이지 않도록 자동으로 최적화 하게 된다.Filter Mode를 Point (no filter)로 설정하고, Compression을 None으로 설정하여 압축을 하지 않도록 한다. 2D 픽셀은 반드시 Point 설정을 해줘야 한다. Quad는 3D Object지만, 너비와 높이는 있어도 두께가 없다. (한 장의 종이)또한 3D 공간에서는 Quad를 볼 수 없다.이 Quad에 머티리얼을 적용하여 배경을 만들어볼 것이다. 배경은 Wrap Mode를 Repeat로 해준다.이 이미지가 여러 번 반복되도록 만들기 위해서다. 머티리얼 폴더를 만들어서 Material을 하나 만든다. (Quad에 이미지를 드래그하면 자동으로 생긴다.)Tiling의 X와 Y 값을.. 2025. 1. 2. [C언어 #7] 구조체 (struct, typedef) 배열은 크기가 같은 동일한 데이터 타입만 묶을 수 있습니다.하지만 구조체를 사용하면 크기나 형식이 다른 데이터도 하나로 묶어서 관리할 수 있습니다. 1. 구조체 개념struct 구조체 이름{자료형1 변수_이름1;자료형2 변수_이름2;...}위 구조체는 몬스터 데이터를 저장하기 위해 서로 다른 데이터 타입(문자 배열, 정수)을 하나로 묶은 예제입니다.Monster는 새로 정의된 데이터 타입으로 int, char 등과 동일한 역할을 합니다. 2. 구조체 변수 구조체를 사용하려면 변수를 선언한 후, 각 요소에 접근하여 데이터를 저장하거나 읽어옵니다. 구조체 변수의 요소에 접근하려면 요소 지정 연산자(.)가 필요합니다.예를 들어 monster.name은 monster 변수의 name 요소에 접근합니다.. 2024. 12. 6. [C언어 #6] 다차원 포인터 (2차원) 다차원 포인터는 메모리 주소를 여러 단계로 간접 참조하는 포인터로, 포인터의 개념을 한 단계 더 확장한 것입니다. 1. 다차원 포인터 개념 포인터는 메모리 주소를 저장하는 변수입니다.다차원 포인터는 이러한 포인터를 가리키는 포인터를 의미합니다.예를 들면 일반 포인터는 메모리 주소를 가리키지만, 다차원 포인터는 다른 포인터의 주소를 가리킵니다. 차원은 포인터가 참조하는 단계에 따라 증가합니다.일반 포인터: *ptr2차원 포인터: **ptr 2. 다차원 포인터 선언(자료형)**(변수 이름); 다차원 포인터 중 가장 자주 사용하는 2차원 포인터 예시입니다. 다차원 포인터는 자료형 앞에 차원의 개수만큼 *을 붙여 선언합니다.*의 개수가 많아도, 다차원 포인터 역시 메모리 주소를 저장하는 변수이므로 .. 2024. 12. 5. 이전 1 2 3 4 5 6 7 8 다음 728x90