본문 바로가기

전체 글160

딜레이 주기 public class LevelExit : MonoBehaviour { [SerializeField] float levelLoadDelay = 1f; void OnTriggerEnter2D(Collider2D other) { StartCoroutine(LoadNextLevel()); } IEnumerator LoadNextLevel() { yield return new WaitForSecondsRealtime(levelLoadDelay); int currentSceneIndex = SceneManager.GetActiveScene().buildIndex; int nextSceneIndex = currentSceneIndex + 1; SceneManager.LoadScene(currentSceneInde.. 2022. 6. 16.
2D 캐릭터 애니메이션 전환 2D 애니메이션에 대한 이해가 조금 부족하시다면, https://nhahan.tistory.com/70?category=941686 부터 읽고와주세요! Running 애니메이션을 만들고, 우클릭 - Make Transition으로 Idle과 Running을 각각 이어준다. Animator의 Parameters 탭에서 +를 눌러 Bool 타입으로 IsRunning이라는 파라미터를 만들어준다. Transition 화살표를 누르고 Conditions에 IsRunning 조건을 넣어주고 Idle -> Running은 true, 반대는 false로 설정해준다. 캐릭터를 움직이려면 Input이 있어야한다. 먼저 Package Manager에서 Input System을 Install 해준다. Player의 Inspe.. 2022. 6. 14.
2D 캐릭터 애니메이션 먼저 Hierarchy에 Create Empty로 Player를 만들어준다. Assets에 Animations 폴더를 만들고 Animation Controller를 만들어준다. Animation에 필요한 Sprite들을 선택하고 우클릭 - Create - Animation 클릭 생긴 애니메이션을 Animations 폴더로 옮긴다. Animations 폴더의 idle 애니메이션을 Animator에 드래그앤드랍한다. 처음에 만든 Hierarchy - Player의 Inspector에 Add Compnent - Animator를 추가하고 Controller에 Player를 추가해준다. 그리고 다시 Add Component - Sprite Renderer를 추가해주고 Sprite에 Idle의 가장 첫 이미지를 .. 2022. 6. 14.
Sprite Editor로 Sprite Slice 하기 위와 같은 횡스크롤 게임을 위한 이미지를 Sprite Editor를 이용해 잘라보자. Sprite Mode를 Multiple로 하고 Sprite Editor를 누르면 Sprite Editor가 뜨고, 여기서 Slice탭을 누르고 Type을 Automatic (유니티가 자동으로 잘라줌)으로 해서 Slice를 누르면 이렇게 하나하나 분리가 되는 것을 확인할 수 있다. 그리고 Apply를 누르고 Project - Assets에서 화살표를 누르면 이렇게 따로 분리된 Sprite들을 이용할 수 있다. 2022. 6. 13.
파티클 이펙트 Hierarchy에서 우클릭 - Effects -Particle System을 클릭한다. 파티클 시스템 옵션들은 그냥 정말 직관적이라 따로 설명은 필요없지만, 꼭 알아야할 부분은 Random 기능이다. 만약 이 설정이 없다면 모든 파티클이 똑같은 시간에 생성되서 똑같은 시간을 지속 후, 똑같은 시간이 지나면 사라질 것이다. 따라서 이런 식으로 랜덤성을 주어서 이펙트가 너무 딱딱하지 않게 조절해주는 기능을 알면 좋다. using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class FinishLine : MonoBehaviour { [Serial.. 2022. 6. 12.