전체 글 (82) 썸네일형 리스트형 23.09.14 팀 프로젝트 오늘은 팀 프로젝트 마무리하는 날이여서 오전에는 UI를 깔끔하게 하거나 미처 완료하지 못한 기능을 완성하는데 집중했다. 그 후 다른 팀들의 프로젝트 발표를 듣고 회고를 진행하였다. Unity : Invoke와 Coroutine의 차이 🌐 코루틴 Coroutine은 함께, 같이, 서로를 의미하는 접두사 Co와 routine의 합성어로 여러개의 루틴을 동시에 실행하게 해주며 멀티 쓰레드가 아닌 Unity에서 멀티쓰레드처럼 병렬구조를 만드는 기능입니다. Coroutine을 사용할 때는 항상 yield return을 해주어야 하는데, 이를 통해서 현재 위치를 기억하고 다른 루틴에게 수행권한을 넘겨주고 다시 와서 처리하는 방식이다. 멀티 쓰레드 같지만 단일 쓰레드이기 때문에 Race Condition.. 23.09.13 팀 프로젝트 아이템 기능을 맡은 팀원이 도와달라고 해서 그 부분을 도와줬다. 아이템을 플레이어에게 적용하는 부분과 몬스터를 죽였을 때 아이템이 확률적으로 드랍되는 시스템을 ScriptableObject를 사용하여 만들었다. Unity : ScriptableObject 아래가 아이템 드랍에 관련되 ScriptableObject이다. [CreateAssetMenu]는 커스텀 에셋을 생성하는데 도움을 주는 속성이다. Items라는 Serializable 필드를 생성하여서 Unity Inspector에서 쉽게 아이템과 드랍확률을 설정할 수 있게 하였고 모든 아이템의 가중치를 합해서 0 ~ 가중치의 합까지 랜덤한 값을 뽑아 확률에 맞게 아이템을 주어진 위치에 생성하는 기능을 가지고 있다. using System... 23.09.12 팀 프로젝트 오늘은 SoundManager를 만들어서 BGM을 넣었다. Unity : SoundManager using System.Collections; using System.Collections.Generic; using UnityEngine; [RequireComponent(typeof(AudioSource))] public class SoundManager : MonoBehaviour { public static SoundManager I; [SerializeField] AudioClip BGMClip; // 오디오 소스들 지정. [SerializeField] AudioClip[] audioClip; // 오디오 소스들 지정. Dictionary audioClipsDic; AudioSource .. 이전 1 ··· 23 24 25 26 27 28 다음