본문 바로가기
728x90

유니티/기초26

유니티 Invoke 1. Invoke() 이전 글에서는 시간의 경과에 따른 절차적 단계를 수행하는 로직을 구현하는 데 사용되는 함수로 Update 함수들과 Coroutine을 언급하였다. 이 함수들에 시간을 지연시키는 로직을 구현할 수 있다. 이러한 지연시키는 로직을 간단하게 구현한 함수가 Invoke() 함수이다. Invoke() 함수는 지정 시간 이후에 대상 함수를 호출한다. 또한, 일정 시간 후에 반복적으로 해당 함수를 호출하도록 구현한 InvokeRepeating() 함수와 같은 추가적인 함수들을 제공한다. Invoke(string methodName, float delayTime) InvokeRepeating(string methodName, float delayTime, float repeatRateTime ) .. 2020. 12. 1.
유니티 코루틴(Coroutine) 과 IEnumerator 1. 코루틴 (Coroutine) 코루틴은 시간의 경과에 따른 절차적 단계를 수행하는 로직을 구현하는 데 사용되는 함수이다. 시간의 경과에 따른 절차적 단계에 대한 로직을 구현하는 것은 Update() 함수들에서도 가능하다. 매 프레임마다 호출되는 로직은 Update()에서 구현하면 된다. 하지만 초당 호출이나, 매 프레임마다 호출이 필요하지 않은 부분을 매 프레임마다 호출하는 것은 바람직한 로직이 아니다. 코루틴은 함수를 호출한다. 함수는 한 프레임에 호출되어 완료가 된다. 이에 IEnumerator 형식을 반환 값으로 가지는 함수를 사용한다. IEnumerator는 함수 내부에 실행을 중지하고, 다음 프레임에서 실행을 재개할 수 있는 yield return 구문을 사용한다. 2. yield retur.. 2020. 11. 30.
유니티 데이터 저장 및 불러오기 (PlayerPrefs) 1. PlayerPrefs 프로그램의 개발에 있어서, 데이터는 가장 중요한 요소이다. 데이터는 지속적으로 저장되어, 캐릭터의 레벨과 같은 상태, 획득한 아이템 등은 영구적인 보관이 요구된다. 온라인 게임의 경우 대부분의 데이터는 서버에 저장된다. 이는 위조, 변조를 방지하는데 유리하며, 관리하기에 용이하다. 하지만 모든 데이터를 서버에 저장하는 것은, 지속적으로 클라이언트와 서버 간의 통신이 발생한다는 것을 의미하며, 이는 서버의 부담을 가중시킨다. 따라서, 중요하지 않은 데이터는 직접 클라이언트에 저장하고 관리한다. 중요하지 않은 데이터로는 음량 조절 값 같은 옵션 설정에 사용되는 데이터들을 예로 들 수 있다. 유니티는 데이터를 저장하기 위한 ScriptableObject, PlayerPrefs, Js.. 2020. 11. 29.
유니티 파티클 시스템(Particle System) - 활용 1. 파티클 시스템 속성 파티클 시스템의 속성 값에 대해서는 아래 글을 참조해주세요. https://notyu.tistory.com/59 유니티 파티클 시스템 (Particle System)- 속성 1. 유니티 파티클 시스템 유니티 파티클 시스템은 작고 간단한 이미지나 메쉬를 대량으로 표현하는 데 사용하도록 만들어진 시스템이다. 파티클은 움직이도록 제어할 수도 있으며, 크기, 방향, notyu.tistory.com 2. 파티클 시스템 활용 파티클 시스템은 작은 객체들을 활용하여 시각적인 효과를 주기에 좋다. 눈, 비, 안개와 같은 효과들은 파티클 시스템을 사용하면, 쉽게 구현이 가능하다. 2.1 눈 내리기 (Snowing) 아래의 이미지와 같은 눈이 내리는 효과를 구현한다. 2.1.1 파티클 시스템 생성.. 2020. 11. 28.
728x90