250124 TIL

박소희·2025년 1월 24일

Unity_7기

목록 보기
15/94
오늘 미니 프로젝트 발표에서 피드백 받은 부분
  • 트러블슈팅, 분배 관련 내용 등 제대로 작성하기
  • 사운드는 슬라이더 말고 이벤트 바인딩 사용하라고 하셨다.
  • 폴더 트리 정리
Event Binding
  • 특정 이벤트가 발생할 때 실행될 함수를 지정하는 과정.

ex)

public UnityEvent<float> OnVolumeChanged; // 이벤트
public AudioSource audioSource;

void Start(){
	// UnityEvent에 메서드 연결
	OnVolumeChanged.AddListener(ChangedVolume);
}

public void ChangeVolume(float value){
	audioSource.volume = value;
}

public void TriggerVolumeChange(float newVolume){
	OnVolumeChanged.Invoke(newVolume); // 이벤트 연결
}
아쉬운점
  • 파티클도 넣을 걸 그랬다. 최근에도 했으면서 왜 생각 못했는지
TIL 특강
  • 문제점 > 시도해본 것 > 해결방법 > 알게된 것
다른 팀 발표 중 배운 것
  • Scriptable object
Scriptable Object
  • 유니티에서 제공하는 대량의 데이터를 저장하는 데 사용할 수 있는 데이터 컨테이너

  • 값의 사본이 생성되는 것 방지 -> 메모리 낭비 v

  • 인스턴스화 할 때마다 데이터 사본 생기니 프리팹 사용에 유용

  • 사용 시 메모리에 scriptable object의 데이터 사본만 저장하고 이를 참조하는 방식으로 작동

  • 스크립트는 ScriptableObject 클래스 상속하여 사용

  • CreateAssetMenu: 간편하게 클래스를 이용하여 커스텀 에셋 생성 가능

[CreateAssetMenu(fileName = "Data", menuName = "ScriptableObjects/SpawnManagerScriptableObject", order = 1)]
public class SpawnManagerScriptableObject : ScriptableObject
{
    public string prefabName;

    public int numberOfPrefabsToCreate;
    public Vector3[] spawnPoints;
}

0개의 댓글