본문 바로가기

유니티

(76)
[커스텀 에디터]Fade Group를 활용하여 bool값 변경 [Fade Group] [문제] Editor의 확장을 통해 페이드 그룹이 켜지면 bool 값을 바꾸고 , 추가옵션을 보여주고자 하였다 . =>bool 값의 타겟은 isPaidMusic이고 , 해당 옵션이 true일때만 productCode와 productExplanation을 수정 할 수 있게 하려 했다 . 이를 위해 에디터 확장을 이용하였다 . [Editor 확장] 다음 스크립트는 Editor 폴더에 위치한다 . using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; using UnityEditor.TerrainTools; using UnityEditor.AnimatedValues; ..
[ UGUI ] ui 뒤 혹은 앞에 파티클 보이게 하기 [해결] [해결] 캔버스를 두개 생성한다 . 1.UI가 보이는 캔버스 2.이펙트가 보이는 캔버스 각 캔버스의 Order in Layer를 조정하여 원하는 값을 얻는다
[ 유니티 ]SkyBox가 인게임에서 안바뀌는 문제 해결 [문제] [문제 상황] RenderSettings.skybox =skyBox; DynamicGI.UpdateEnvironment(); 위의 메서드를 통해서 스카이 박스를 바꾸려 하는데 바뀌지 않았다 . [해결] [원인] 이유는 해당 메서드를 Init에서 실행해주었는데 (Awake와 비슷한 타이밍에 호출 되었을듯) 씬의 이동 방식이 그전씬 => 로딩 => 모든 과정이 완료(Init에서 완료를 처리함) =>씬이 활성화 의 순서였다. 그렇기에 씬이 완전히 로드 되기 전 , 즉 Loading씬의 SkyBox를 바꾸고 있던 것이다 . 이는 다음의 메서드로 해결하였다 IEnumerator SetSkyBox(Material skyBox) { yield return new WaitUntil(()=>SceneManage..
[ 유니티 ] 곡 별 점수를 PlayerPrefs에 저장하기 [ 데이터 형식] [public class MusicScoreData] 곡 별 최근 점수 / 최고 점수를 가지고 있다 . 각 점수는 다시 난이도에 따라 나뉜다 . public class MusicScoreData { public float recentEasyScore = 0; public float recentNormalScore = 0; public float recentHardScore = 0; public float bestEasyScore = 0; public float bestNormalScore = 0; public float bestHardScore = 0; } [public class TotalScoreData] PlayerPrefs에 저장되는 TotalScoreData는 MusicScor..
[ 유니티 ] 자식 오브젝트 삭제하기 foreach(Transform chlid in musicList) { Destroy(chlid.gameObject); }
[ 커스텀 에디터 ] 인스펙터 윈도우 [ 인스펙터 커스텀] [ Editor의 참조구조 ] =>에디터 폴더를 만들고 스크립트를 생성한다 . 해당 스크립트는 Editor를 상속받는다 . =>내가 커스텀 하고자 하는 target을 넣어 [CustomEditor(typeof(Cube))] 어트리뷰트를 붙여준다 이제 해당 스크립트는 CudeEditor가 변형을 할 수 있다 . [ OnInspectorGUI ] public override void OnInspectorGUI()를 선언하면 , 기본으로 base.OnInspectorGUI()가 생성된다 . 이는 에디터에서 기본으로 그려주는 요소를 말하며 해당 부분을 주석친다면 인스펙터에는 아무것도 보이지 않는다 . DrawDefaultInspector()를 하여도 같은 역할을 수행한다 (여러개 해도 똑같..
[ 유니티 ] 유니티 2021.3.16f1 설치 오류 [ 문제상황 ] [ 유니티 허브를 통한 설치 실패] 유니티 허브를 통해 해당 버전을 다운받는데 다음과 같이 에디터가 설치가 안되는 문제가 발생하였다 . [ 해결 ] [ 직접 설치 ] 유니티 허브가 아닌 다운로드 아카이브에서 직접 설치하여 문제를 해결하였다 . 다운로드 아카이브 설치 후 문제가 되었던 창에서 새로고침을 눌러주면 모두 완료 표시가 뜨면서 성공함을 볼 수 있다 . [ 추가 : Visual Studio 설치 ] 설치시 다음 3개의 것들을 설치해주었다
[ 시네머신 ] 02 . 가상 카메라 [ 가상 카메라 ] [ 정의 ] 단일 Unity카메라 사용 가상 카메라는 Unity카메라를 이동 및 회전하고 해당 설정을 제어한다 . (카메라의 애니메이터) Unity 카메라의 제어권을 가상 카메라로 이전시 해당 설정들을 Unity카메라에 적용한다 . 가상카메라는 다음의 작업을 수행한다 . 씬에 Unity 카메라를 배치합니다. Unity 카메라가 무언가를 향하게 합니다. Unity 카메라에 절차적 노이즈를 추가합니다. 노이즈는 핸드헬드 효과 또는 차량 흔들림과 같은 것을 시뮬레이션합니다. [ Status ] 가상 카메라는 다음중 하나의 상태를 가지고 있다 . Live : 시네머신 브레인이 있는 Unity Camera를 능동적으로 제어한다 . 시네머신 브레인이 원래 가상카메라에서 다음 가상카메라로 Blen..