728x90

2025/01 35

내일배움캠프 Unity - TIL : 25.01.21

오늘 학습한 내용1) Git 브랜치 옵션 이해  Leave my changes on '브랜치 이름'현재 변경사항을 커밋하지 않은 채 현재 브랜치에 남겨둠.작업 중인 변경사항은 stash에 저장되며, 새 브랜치는 기본 브랜치 상태에서 생성. Bring my changes to '브랜치 이름' 현재 작업 중인 변경사항을 변경하고자 하는 브랜치에 포함.기존 작업을 변경하는 브랜치에서 이어서 작업 가능.  2) 브랜치 병합(Merge) 기능 추가 학습 Choose a branch to merge into '브랜치 이름' 선택한 브랜치를 현재 브랜치에 병합.병합 후, 선택된 브랜치의 변경 사항이 현재 브랜치에 반영됨. 예시 상황 mybranch: 새로운 기능을 작업 중인 브랜치.main: 메인 브랜치로, 최종 코..

내일배움캠프 2025.01.21

내일배움캠프 Unity - TIL : 25.01.20

오늘 학습한 내용깃허브 사용법레포지토리 관련 기능(생성 ,참여, 초대, 관리)기본적인 GitHub 기능 이해 (clone, commit, push, pull, branch)머지(merge)와 충돌 해결 방법 학습깃허브와 유니티 연동 방법.gitignore 파일에 유니티 관련 설정 추가Unity 프로젝트 협업을 위한 Git으로 관리하기 위한 방법문제 및 해결 과정문제Unity 프로젝트의 씬(Scene) 파일은 텍스트 기반이지만 복잡한 구조를 가지고 있어, 팀 작업 중 동일한 씬 파일을 수정하면 머지(Merge) 충돌이 발생하여 수정 사항이 반영되지 않거나 충돌 된 두 가지 파일 중 하나를 선택해야합니다. 시도한 해결 방법충돌이 발생했을 때, 스크립트 파일과는 달리 씬 파일은 텍스트 기반으로 변경이 불가능하..

내일배움캠프 2025.01.20

[Unity] Image와 RawImage 비교

Unity에서 UI를 만들 때 Image와 RawImage는 자주 사용되는 컴포넌트입니다. 이 두 가지는 비슷해 보이지만 용도와 기능에서 차이가 있습니다. 기본 개념ImageImage는 Unity의 UI에서 제공하는 컴포넌트로 Sprite를 사용하여 UI 이미지를 보여줍니다. Image컴포넌트는 상호작용할 수 있는 기능을 가지고 있습니다. 주요 특징Sprite 이미지를 사용이미지의 크기와 비율을 조정하는 기능 제공다양한 Fill 방식 지원. (채우기 비율, 방향)  RawImageRawImage는 Texture를 렌더링하기 위해 사용됩니다. 보통 비디오, 동적 텍스처 또는 일반 Sprite로 처리할 수 없는 렌더 텍스처(Render Texture)와 같은 동적인 요소를 렌더링할 때 활용됩니다.  주요 특..

Unity/정보 2025.01.16

[Unity] 사운드 매니저 구현 (Sound Manager)

게임에서 사운드는 플레이어의 몰입감을 높이는 중요한 요소입니다. 효과음, 배경음악 등을 효율적으로 관리하려면 사운드 매니저가 필요합니다. 이 글에선 String과 Enum을 이용하여 원하는 소리클립을 찾아 출력시키는 사운드 매니저를 알아보겠습니다. 1. 사운드 매니저 소개사운드 매니저는 게임 내 사운드를 관리하기 위해 사용하는 스크립트입니다.배경음악(BGM) 및 효과음(SFX) 관리성능 최적화를 위한 오디오 소스 재사용개발 편의성을 위한 인터페이스 제공2. string을 사용하는 사운드 매니저사운드를 이름으로 찾고 재생하는 방식은 직관적이며 간단합니다. 그러나 오타 가능성이 있고, 사운드 이름이 많아질수록 관리가 어려울 수 있습니다.아래 코드에선 오디오클립 파일이름이 저장, 검색에 쓰입니다. string..

Unity/정보 2025.01.13

[Unity] 2D 무한 배경 구현하기

2D 게임을 개발할 때 배경을 자연스럽게 반복시키는 무한 배경이 필요할때가 있습니다.이번 글에서는 다양한 방법으로 2D 무한 배경을 구현하는 방법을 소개하겠습니다. 크게 UI, Sprite, Quad를 이용한 방법으로 나누어 설명합니다. UI를 이용한 뒷배경 처리 방법이 방법은 배경 이미지를 직접 이동시켜 움직이는 것처럼 보이도록 처리하는 방식입니다. 하지만 이미지가 이동할 때, 빈 공간이 생기는 것을 방지하기 위해 추가 이미지를 생성하여 연결해야 합니다.따라서 배경 이미지를 1개 더 복제하여 원본 이미지 옆에 붙이고, 두 이미지를 반복적으로 이동시켜 자연스러운 배경 스크롤 효과를 연출할 수 있습니다. Hierarchy 구조는 다음과 같이 설정합니다. Group_Background 객체를 부모로 하고, ..

Unity/정보 2025.01.12

내일배움캠프 Unity - 사전캠프 (르탄이 카드 뒤집기 게임)

뒤집혀져있는 카드를 한장씩 확인하여 제한시간내에 모든 짝을 맞추는 익숙한 게임입니다.  Board 스크립트using System.Linq;using UnityEngine;public class Board : MonoBehaviour{ public int Card_length; public GameObject Prefabs_Card; void Start() { int[] arr = { 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7 }; arr = arr.OrderBy(x => Random.Range(0f, 7f)).ToArray(); for (int i = 0; i ().Setting(arr[i]); ..

내일배움캠프 2025.01.10

내일배움캠프 Unity - 사전캠프 (고양이 밥주기 게임)

위에서부터 내려오는 여러 고양이들에게 먹이를 던져 쫒아내는 간단한 게임입니다.5마리를 쫒을때마다 레벨이 증가하며 레벨별로 기믹이 존재합니다.  Cat 스크립트using UnityEngine;public class Cat : MonoBehaviour{ public float speed = 10f; public GameObject hungry_cat; public GameObject full_cat; public RectTransform front; float full = 5.0f; float energy = 0.0f; bool isFull = false; public int type = 0; // 0 = normal, 1 = fat, 1 = pirate p..

내일배움캠프 2025.01.09

Interface In Game - 게임 UI 라이브러리

https://interfaceingame.com/games/?sortby=recent_add Games | Interface In GameLibrary of video games interfaces to get to know all the mechanics and elements of a game.interfaceingame.com이 사이트는 다양한 게임의 UI(유저 인터페이스)를 한눈에 살펴볼 수 있는 라이브러리로, 게임 속에서 사용된 모든 화면 구성과 요소들을 세세하게 분석할 수 있습니다. 수많은 게임 UI 데이터베이스Interface In Game에는 수많은 유명 게임의 UI가 정리되어 있습니다.메뉴 화면, HUD, 인벤토리 시스템 등 게임의 각종 인터페이스가 어떻게 설계되었는지 이미지로 확인할 ..

유용한 사이트 2025.01.09

[C#] 랜덤 배열(리스트) 셔플하기 (Fisher-Yates 알고리즘)

랜덤 배열 셔플은 게임 개발, 데이터 샘플링 등 무작위화가 필요한 여러 상황에서  유용하게 사용됩니다. 이번 글에서는 C#에서 배열과 리스트를 무작위로 섞는 방법을 다루고, 이를 구현하는 데 가장 널리 알려진 Fisher-Yates Shuffle 알고리즘를 소개합니다ㅏ. 배열과 리스트의 무작위화 필요성배열이나 리스트를 무작위로 섞는 기능은 게임에서 특히 자주 사용됩니다. 카드 게임: 덱을 무작위로 섞기.적 스폰: 특정 패턴 없이 랜덤한 위치에 적을 배치.퀴즈: 문제나 보기의 순서를 무작위로 섞기. Fisher-Yates Shuffle 알고리즘이란?Fisher-Yates Shuffle 알고리즘은 배열이나 리스트의 요소를 무작위로 섞는 효율적인 방법입니다.작동 원리는 입니다.배열의 마지막 요소부터 시작하여,..

언어/C# 2025.01.09

내일배움캠프 Unity - 사전캠프 (라이즈업 풍선게임)

위에서 떨어지는 사각형의 오브젝트들을 마우스로 막아 하단 중앙의 풍선(원 오브젝트)에 닿지 않게 해야하는 게임입니다.생존해있는동안 측정되는 시간이 곧 점수입니다.데이터 저장 기능을 활용하여 최고 점수 기록 기능이 있습니다.   장애물(Square) 스크립트using System.Drawing;using UnityEngine;using UnityEngine.SocialPlatforms.Impl;public class Square : MonoBehaviour{ float size; // 크기 Vector2 randomPos; // 생성 위치 void Start() { randomPos = new Vector2(Random.Range(-3f, 3f), Random.Range(..

내일배움캠프 2025.01.08
728x90