스파르타 23

[스파르타 ][TIL] 유니티 스파르타 7기 40일차 - 어드레서블

✅ 어드레서블 기본 개념Addressables 패키지를 설치합니다 (Unity Package Manager에서 설치 가능).Addressables 그룹에 에셋을 등록합니다.에셋에 주소(Address) 를 부여한 뒤, 코드에서 그 주소를 이용해 로드합니다.📂 1. 단일 파일 로드하기단일 파일은 텍스처, 프리팹, 사운드 등 개별 오브젝트를 직접 로드할 때 사용합니다.📌 예시: 프리팹 로드 후 인스턴스화using UnityEngine;using UnityEngine.AddressableAssets;using UnityEngine.ResourceManagement.AsyncOperations;public class SingleAssetLoader : MonoBehaviour{ [SerializeFiel..

[스파르타 ][TIL] 유니티 스파르타 7기 32일차 - 캐릭터컨트롤러

CharacterController는 유니티에서 플레이어 캐릭터의 움직임을 관리하는 컴포넌트로, 물리 엔진(Rigidbody)을 사용하지 않고도 충돌 감지를 지원하는 특수한 충돌체(Collider)입니다. 주로 1인칭(FPS) 또는 3인칭(TPS) 캐릭터 컨트롤에 많이 사용됩니다.1. CharacterController의 주요 특징✅ 물리 엔진 없이 이동 가능Rigidbody 없이도 충돌을 감지하며 이동이 가능중력 및 경사면 처리 가능 (단, 직접 구현해야 함)✅ 충돌 감지 기능 내장Move() 또는 SimpleMove() 함수를 사용하면 자동으로 충돌을 감지벽이나 오브젝트와 충돌 시 자동으로 멈춤✅ 유연한 이동 구현 가능Transform을 직접 변경하는 것보다 안정적인 이동 가능FPS / TPS 캐릭터..

[ 스파르타 ][TIL] 유니티 스파르타 7기 26일차 - BlendTree

블렌드 트리(Blend Tree)는 유니티 애니메이션 시스템(Mecanim)에서 여러 애니메이션을 부드럽게 전환하는 기능입니다.📌 블렌드 트리 개념 정리여러 애니메이션을 하나의 흐름으로 연결예를 들어, 걷기 → 뛰기 애니메이션을 속도(파라미터)에 따라 자연스럽게 전환할 수 있음.Blend Parameter(블렌드 파라미터) 사용float 값(예: 속도, 방향, 기울기 등)에 따라 애니메이션이 자동으로 조합됨.대표적인 예시:Speed(속도)에 따라 Idle ↔ Walk ↔ Run 애니메이션 전환Direction(방향)에 따라 좌우 회전 애니메이션 적용1D 블렌드 트리 vs 2D 블렌드 트리1D 블렌드 트리: 한 개의 파라미터를 기준으로 블렌딩 (예: 속도)2D 블렌드 트리: 두 개의 파라미터(예: X축,..

[ 스파르타 ][TIL] 유니티 스파르타 7기 25일차 - AudioManager

오디오 믹서를 활용해서 오디오매니저 스크립트를 작성했습니다.using System;using UnityEngine;using UnityEngine.Audio;public class AudioManager : MonoBehaviour{ public static AudioManager Instance; public Sound[] musicSounds, sfxSounds; public AudioMixer myMixer; public AudioSource musicSource, sfxSource; public float MasterValue { get; private set; } public float MusicValue { get; private set; } public ..

[ 스파르타 ][TIL] 유니티 스파르타 7기 22일차 - ScriptObjectable

ScriptableObject는 유니티에서 데이터를 저장하고 공유하는 용도로 사용하는 특별한 오브젝트야. 일반적인 MonoBehaviour와 달리 씬에 존재할 필요 없이 프로젝트 에셋으로 저장되며, 여러 오브젝트 간 데이터를 공유할 수 있습니다.📦 아이템과 인벤토리에서 ScriptableObject 활용하기1. 아이템 데이터 저장 (ItemData 클래스)각 아이템의 정보를 ScriptableObject로 만들어두면, 여러 개의 아이템을 쉽게 관리할 수 있습니다.using UnityEngine;[CreateAssetMenu(fileName = "NewItem", menuName = "Inventory/Item")]public class ItemData : ScriptableObject{ publi..

[ 스파르타 ][TIL] 유니티 스파르타 7기 21일차 - 탑다운 뷰 트러블 슈팅

스택강의를 들었는데 신기해서 개인과제 미니게임이 넣게 되었습니다. 미니게임을 만들면서 일어나 트러블슈팅입니다. 1. 블록이 부정확하게 잘리는 문제문제 : 블럭이 부정확하게 잘려서 어쩔때는 블럭이 크고 어쩔때는 블럭이 작아지는 현상해결 : A블럭(이전 블럭)과 B블럭(현재 움직이는 블럭)의 거리차이를 구한후 새로 생성될 좌표(Pivot)구해서거리차이를 스케일로 조정해 생성 단 스케일이 A블럭(이전 블럭) 스케일보다 크면 A블럭 크기로 고정 2. 블록이 겹쳐지거나 정렬이 어긋나는 문제문제 : 잘려진 블럭이 왼쪽에서 나와야되는데 오른쪽에서 나오는 현상해결 : 거리 차이를 구하고 bool isLeft 체크를 해줬는데 삼항연산에서 실수스택강의를 들었는데 신기해서 개인과제 미니게임이 넣게 되었습니다. 3. 부동소수..

[TIL] 유니티 스파르타 7기 9일차 - TextRPG 개인과제 02번째

현재 상점 씬, 아이템 구매 제외한 필수구현만 구현한 상태입니다.이때까지 배운 토대로 인터페이스 사용하고, 여러 장면마다 관리하기 편하게  FSM (StateMachine) 기법으로 씬마다 관리하고 있습니다.팀 프로젝트에 필요한 코드 수정은 얕게, 확장성을 지키면서 코딩하고 있습니다.현재 진행 상황 : https://github.com/ByeonSang/SpartaTextRPG

[TIL] 유니티 스파르타 7기 7일차 - 스네이크

class Program{ static void Main(string[] args) { // 뱀의 초기 위치와 방향을 설정하고, 그립니다. Point p = new Point(4, 5, '*'); Snake snake = new Snake(p, 4, Direction.RIGHT); snake.Draw(); // 음식의 위치를 무작위로 생성하고, 그립니다. FoodCreator foodCreator = new FoodCreator(80, 20, '$'); Point food = foodCreator.CreateFood(); food.Draw(); // 게임 루프: 이 루프는 게임이 끝..

[TIL] 유니티 스파르타 7기 5일차 - 싱글톤에 관해서

오늘은 싱글톤에 관해서 TIL를 작성해봅니다.인터넷에서 싱글톤 많이 사용한다 안한다 관한 글을 봤었습니다.그 글에서 단 한가지 내용을 봤습니다.객체지향 원칙이 파괴된다. 클래스간의 결합도가 높아져서 객체지향을 이루는 방법 중 하나인 모듈화에 실패할 수 있다.싱글톤을 사용하면 아무래도 쉽게 접근가능하기 때문에 함부로 사용하다간 싱글톤의 의존성이 높아질 수 있어서,코드가 꼬일 수 있다고 합니다. [A스크립트가 싱글톤의 함수를 가져오고, B스크립트가 A스크립트를 상속받고 등등]이번 프로젝트에서는 작은 규모의 카드뒤집기라는 프로젝트라서 꼬이는 코드가 없었는데 나중에 규모가 커지면 이런거 주의하면서 코드를 짜야겠다는 생각을 했습니다. 또한 멀티플레이로 들어갈때 싱글톤에 너무 의존하지말라는 글도 많이 보였고, 유니..

카테고리 없음 2025.01.24