전체 글 66

[유니티] 오디오 재생

유니티에서 사운드를 재생하기 위해선 AudioListener, AudioSource 두가지가 필요하다. AudioListener 먼저 AudioListener 는 이름 그대로 사운드를 듣기위한 컴퍼넌트로 메인카메라를 확인해보면 기본적으로 들어있기에 따로 추가할 필요는 없다. 기본적으로 거리에따라 크게 들리거나 작게 들리게 만들어준다. AudioSource AudioSource 소리를 발생시키는 컴퍼넌트로 유니티 GUI를 통해 원하는 게임 오브젝트에 추가하거나 스크립트에서 생성하여 사용할 수 있다. 먼저 기본으로 카메라에 달려있었던 AudioListener 와는 다르게 직업 소리를 내는 객체에 추가해야 한다. 그리고 AudioClip에 사용할 사운드를 넣는다. 기본적으로 Play On Awake가 체크되어..

코딩/유니티 2022.08.21

개인 프로젝트

플레이어 관련 이동 걷기 0 천천히 걷기 0 크게 소리 내기 0 물건 집기 0 이동시 나타나는 효과 발자국 0 이펙트 0 사운드 0 상호작용 물건 줍기 0 주운 물건 보이게 하기 0 던지기 0 던진 물건에서 소리나게 하기 0 몬스터 관련 소리 감지 0 소리와 몬스터 사이에 장애물 감지 0 레이써서 해결 좀 멍청해짐 플레이어 추격 0 네비메시로 추격하는데 추격을 너무 잘해서 문제 패트롤 0 맵 관련 맵에 플레이어 이외에 내는 소리요소들 0 맵 구현 0 이펙트 관련 주변에 파동처럼 소리의 시각화 0 라이트 제거하고 파동 이펙트 추가. 소리에 색깔 입히기 0 멀면 안보이고 가까우면 보이게 하기 0 사운드 관련 플레이어 걷기 사운드 0 플레이어 사망 사운드 몬스터 걷기 사운드 0 자연 소리(물 소리, 돌떨어지는..

카테고리 없음 2022.08.19

[C#] 가비지 컬렉터(Garbage Collection)

가비지 컬렉터(Garbage Collection) C++에서는 메모리를 프로그래머가 관리한다. 즉, 동적 할당된 메모리를 전부 사용했다면 시스템에 돌려줘야 한다. 하지만, 프로그래머도 사람이기에 실수가 일어나는데 일어나는 실수는 다음과 같다. 1. 메모리 누수 메모리 사용이 끝났음에도 메모리를 해제하지 않은 경우 2. 이중 해제 메모리를 이미 해제 했는데 다시 해제하는 경우 (이미 해제된 메모리를 가리키는 포인터를 댕글리 포인터라고 한다.) 3. 해제 실수 아직 사용중인 메모리를 해제하는 경우 이런 불편함을 해결하기 위해 나온 기술이 자동으로 메모리를 관리하는 가비지 컬렉션(Garbage Collection)이다. 가비지 컬렉션을 지원하는 언어를 매니지드 언어(Managed Language)라고 한다. ..

코딩/C# 2022.08.12

[C#] 대리자

대리자 - 대리자는 C#에서 콜백을 맡아 실행하는 일을 담당하며 deldgate 키워드를 이용해 선언한다. - 함수를 보관할 수 있는 타입 - Invoke() 메소드로 보관된 모든 함수를 호출할 수 있다. - '값'이 아닌 '코드'자체를 매개변수에 넘기고 싶을 때 만듭니다. 한정자 delegate 함수(); 대리자는 메소드에 대한 참조이기 때문에 자신이 참조할 메소드의 반환 형식과 매개변수를 명시해줘야 합니다. 대리자 선언과 사용 예시 using System; namespace Delegate { delegate int MyDelegate(int a, int b);//대리자 선언 //int(int, int)타입의 함수를 보관 할 수 있는 대리자 //테스트 함수 제작 class Calculator { pu..

코딩/C# 2022.08.10

[C#] Stream

스트림 : 데이터의 흐름, 메모리와 저장매체의 사이로 스트림을 만들어 둘 사이에 접근하는것 파일 : 컴퓨터에 저장하는 데이터 묶음 디렉터리 : 파일이 위치하는 주소 즉 폴더 클래스 설명 File 파일의 생성,복사,삭제,이동,조회를 처리하는 정적 메소드 제공 FileInfo File클래스와 하는일은 같지만 정적 메소드 대신 인스턴스 메소드 제공 Directory 디렉터리의 생성,복사,삭제,이동,조회를 처리하는 정적 메소드 제공 DirectoryInfo Directory클래스와 하는일은 같지만 정적 메소드 대신 인스턴스 메소드 제공 하나의 파일에 한두가지 작업을 할 때는 File 이나 Directory 클래스를 이용하고 하나의 작업에 여러 작업을 할 때는 Info클래스를 이용합니다. 각 클래스가 제공하는 주..

코딩/C# 2022.08.10

[유니티] CSV 데이터 저장

CSV 테스트를 위해 적당히 데이터 만듬 1. 만든 CSV는 Resources 폴더(폴더 만들어야 함)에 넣는다. using System.Collections; using System.Collections.Generic; using UnityEngine; //몬스터의 데이터를 저장하는 구조체 public class MonsterData { public int index; public string name; public float moveSpeed; public float rotationSpeed; public string description; public MonsterData(int index, string name, float moveSpeed, float rotationSpeed, string de..

코딩/유니티 2022.08.05

[유니티] 유니티 기본(화면 전환, 기본 조작, 스크립트, 로그)

화면 전환 휠 누르고 드래그 : 화면 이동 우클릭 드래그 : 화면 회전 alt누르고 이동 : 선택한 오브젝트 위주로 화면 이동 오브젝트 기본 조작 조작 키 이름 설명 Q 툴 보기 화면 이동 가능 W 이동 도구 오브젝트 이동시키기 위한 기능 E 회전 도구 오브젝트 회전시키기 위한 기능 R 스케일 도구 오브젝트 스케일을 바꾸기 위한 기능 F 오브젝트 접근 선택한 오브젝트로 카메라 이동 스크립트 Awake : 스크립트를 비활성화 해도 실행되는 트리거 Start : 스크립트를 활성화 했을때 가장 먼저 실행되는 트리거 Update : 스크립트에서 반복되는 부분(프레임당 1회 호출됨) FixedUpdate : 일반 업데이트와는 다르게 고정적 시간마다 호출되는거 로그 3가지 //일반 로그 Debug.Log("일반 로..

코딩/유니티 2022.07.07