목록공부합시다/Unity (3)
공부혜옹
Json 사용 라이브러리 JSON .NET For Unity | 입출력 관리 | Unity Asset Store 사용이유: JsonUtility 사용 중 serialize시 특정 자료구조에 대해서 공백으로 직렬화 하는 이슈를 발견함 (list, dictionary 등...) JsonUtility 자체가 json의 모든기능을 담고 있지 않기 때문으로 판단하여 라이브러리 변경 특이사항: unity 특정 버전 (2021 이전버전) 에선 해당 라이브러리가 이미 내장되어있어 asset import 없이도 사용 가능하다 데이터 타입정의 [System.Serializable] public class SceneInfo { public string SceneName; public int num; } [System.Ser..
프로젝트를 진행하면서 음악을 삽입할 일이 생겼다. 기능 목록 1. 배경음이 흘러나와야한다 2. Scene 별로 특정 배경음이 플레이되어야한다 향후 3D음향과 효율적인 효과음관리등을 추가할 예정이지만 이번 포스트에선 배경음에 집중해 위 2가지의 기능을 구현해보았다 구현요약 1. 빈 gameObject를 만들어 soundManager라는 이름을 붙인다 2. SoundManager라는 script를 생성해 SoundManager오브젝트에 붙인다 3. SoundManager script 코드작성 4. AudioSource라는 컴포넌트를 추가한 후 스크립트 Bg Sound에 부여한다 5. BgList에 배열 크기를 설정해주고 bgm을 넣어준다 코드 using System.Collections; using Syst..
유니티를 처음 시작하면서 탱크게임을 구현해보는데 총알을 objectPool로 만들어 관리해보기로 했다 겪은 문제점 총알과 같이 한 오브젝트가 여러 생성과 파괴를 반복할때 계속해서 gc가 실행되어 프로그램의 성능을 저하시킨다는 문제점을 발견하였다 해결법 생성과 파괴를 반복하기 때문에 일어나는 문제이기 때문에 생성과 파괴를 최소화하는 구조의 코드를 구현해 해결하기로 하였다. ObjectPool을 이용해 일정 갯수의 오브젝트를 미리 생성해놓고 필요할때마다 꺼내쓰고 다시 pool안으로 집어넣어 오브젝트를 순환시키며 사용한다. 만약 pool안에 오브젝트가 없다면 하나를 생성해서 사용한다. 이렇게 되면 생성과 파괴를 최소화하며 여러가지의 오브젝트를 사용할 수 있다. 코드 using UnityEngine; using..