본문 바로가기

TIL74

12.14 (TIL - Unity) 사운드 컨트롤 - 핵심내용 1. 사운드를 처리하는 주요 컴포넌트 AudioClip: AudioClip은 사운드 파일을 유니티에서 사용할 수 있도록 하는 데이터 타입 .wav, .mp3, .ogg 등 다양한 형식의 오디오 파일을 지원 AudioSource: AudioSource 컴포넌트는 사운드를 재생하는 데 사용 AudioSource에 AudioClip을 연결하여 재생할 수 있다. AudioSource는 3D 사운드 설정, 볼륨 조절, 사운드 반복 재생 등의 설정을 제공 AudioListener: AudioListener 컴포넌트는 사운드를 듣는 포인트를 나타냄 일반적으로 주요 카메라에 AudioListener가 위치 게임에는 하나의 AudioListener만 있어야 한다. UI만들기 - 핵심내용 1. .. 2023. 12. 14.
12.13 (TIL - Unity) 오브젝트 풀 구현 - 핵심내용 오브젝트 풀링 게임 개발에 널리 사용되는 테크닉으로, 게임의 성능을 개선하기 위해 사용 오브젝트 풀링은 객체를 미리 생성해 두고 필요할 때 가져다 사용하고, 사용이 끝나면 다시 풀에 반납하는 방식을 말한다. 오브젝트 풀링은 생성(Instantiate)과 소멸(Destroy)이라는 비용이 큰 작업을 최소화함으로써 성능을 향상시키는 데 중요한 역할을 한다. 이는 특히 빈번하게 생성하고 파괴되는 객체(예: 총알, 입자 등)에 대해 중요하며, 이런 객체들을 풀에 저장해 놓고 재사용함으로써 메모리 할당과 가비지 컬렉션에 따른 성능 저하를 방지할 수 있다. 오브젝트 풀링은 적절히 사용하면 큰 성능 개선을 가져올 수 있지만, 불필요한 메모리 사용을 증가시킬 수 있으므로 사용 시에는 신중.. 2023. 12. 13.
12.12 (TIL-Unity) 투사체 구현하기 - 핵심내용 1.레이어 비트 연산 레이어 비트 연산은 Unity에서 게임오브젝트의 레이어를 빠르게 검사하고 조작하는 방법 비트 연산은 AND, OR, XOR, NOT 등의 연산을 이용해 레이어 마스크를 조작 이 방법은 물리적 충돌, 레이캐스팅, 카메라 렌더링 등을 제어하는 데 사용 각 게임 오브젝트는 고유한 레이어에 배치될 수 있으며, 이 레이어는 비트 필드로 표현 예를 들어, levelCollisionLayer.value == (levelCollisionLayer.value | (1 2023. 12. 12.
12.11 (TIL-Unity) 스텟만들기 - 핵심 내용 1. 스크립터블 오브젝트(Scriptable Object) 스크립터블 오브젝트는 Unity에서 데이터를 저장하고 관리하는 유연한 데이터 컨테이너 게임에서 재사용 가능한 데이터 또는 설정을 저장하는 데 사용 코드와 데이터를 분리하여 코드를 더 깔끔하고 관리하기 쉽게 만듬 하나의 스크립터블 오브젝트를 여러 게임 오브젝트에서 참조하거나 재사용할 수 있다. Unity 에디터와 통합되어 인스펙터 창에서 직접 수정하고 관리할 수 있다. 케릭터 스텟 만들기 1. Attack SO 만들기 더보기 using System.Collections; using System.Collections.Generic; using UnityEngine; [CreateAssetMenu(fileName ="Defau.. 2023. 12. 11.
12.08 (TIL-코딩문제) 정수 제곱근 판별 나의 풀이 더보기 public class Solution { public long solution(long n) { long answer = 0; for(long i=1; i=n) { break; } } if(answer==0) { answer =-1; } return answer; } } 다른 사람 풀이 더보기 using System; public class Solution { public long solution(long n) { long x = (long)Math.Sqrt(n); return (x*x == n) ? (x+1)*(x+1) : -1; } } 정수 내림차순으로 배치하기 나의 풀이 더보기 public class Solution { public long solution(lo.. 2023. 12. 8.
12.07 (TIL-Unity) UI 컴포넌트 Unity 에 존재하는 기본 UI 들에 대한 설명 Text 글자를 구성하는 컴포넌트 Image UI 의 기본 구성 - 이미지를 담당하는 컴포넌트 스프라이트를 넣으면 해당하는 이미지로 변함. Raw Image Image 와 같이 이미지를 담당하는 컴포넌트 이미지와는 다르게 텍스쳐를 받아서 이미지를 그려줌 Button 버튼 컴포넌트 클릭을 감지하는 이벤트를 가지고 있다. 텍스트를 바꾸고 싶으면 버튼안에 보면 Text 컴포넌트를 수정 컴포넌트 디테일 Transition항목 - 애니메이션을 설정 OnClick 항목 - 클릭했을때 일어나는 일을 설정 Toggle 선택 ↔ 해제를 반복하는 컴포넌트 컴포넌트 디테일 Transition항목 - 애니메이션을 설정 Is On 항목 - 처음에 체크된 상태인지 .. 2023. 12. 7.
12.06 (TIL-코딩문제) x만큼 간격이 있는 n개의 숫자 나의 풀이 더보기 public class Solution { public long[] solution(int x, int n) { long[] answer = new long[n]; for(int i=0; i 2023. 12. 6.
12.05 (TIL-Unity) 공격 시스템 구현 프리팹 (Prefab) 프리팹은 Unity 게임 엔진에서 사용되는 게임 오브젝트를 재사용 가능하고 관리하기 쉽게 만들기 위한 템플릿 프리팹을 사용하면 게임 오브젝트와 그에 관련된 컴포넌트 및 설정을 미리 정의하고, 여러 장면이나 게임에서 재사용할 수 있다. 프리팹은 인스턴스화를 통해 실제 게임 오브젝트로 변환될 수 있으며, 이 때 모든 프로퍼티와 컴포넌트 설정이 복사된다. 프리팹의 변경사항은 모든 인스턴스에 즉시 반영되므로, 일관성을 유지하고 일괄적인 업데이트를 쉽게 할 수 있다. 프리팹은 레벨 디자인, 재사용 가능한 게임 요소(캐릭터, 아이템, 장애물 등)의 생성, 프로토타이핑 등에 주로 사용된다. Instantiate 함수 (Unity) Instantiate 함수는 Unity에서 제.. 2023. 12. 5.
12.04 (TIL-코딩문제) 배열의 평균값 나의 풀이 더보기 using System; public class Solution { public double solution(int[] numbers) { double answer = 0; int num = 0; for(int i = 0; i 2023. 12. 4.
12.01 (TIL-Unity) 충돌과 각 컴포넌트의 이해 Unity에서 충돌과 관련하여 중요한 개념은 Collider와 Rigidbody 컴포넌트 이 두 컴포넌트는 Unity에서 물리 시뮬레이션과 충돌 감지를 처리하는데 필수적 Collider: 1. Collider 컴포넌트는 게임 오브젝트에 물리적 형태를 부여 이는 충돌 감지를 가능하게 하며, 여러가지 종류의 Collider가 있다. 2. 예를 들어 BoxCollider는 사각형, SphereCollider는 원형, MeshCollider는 복잡한 메시 형태의 Collider를 제공 Collider는 자체적으로 물리적인 움직임을 제어할 수는 없지만 충돌을 감지할 수 있다. Rigidbody: 1. Rigidbody 컴포넌트는 게임 오브젝트에 물리 법칙을 적용 Rigidbody가 있는.. 2023. 12. 1.