Unity와 VSCode를 연결해서 사용하다보면 간간히 Asset Store에서 Import한 Asset의 Namespace를 못찾는 오류가 발생한다. 이때 아래와 같이 추가세팅을 진행하면, Import한 Asset의 Namespace를 잘 찾을 수 있게 된다. 1. Unity VSCode 디버깅 설정 - 에셋 스토어에서 VSCode Asset을 Import한다. 2. Unity Preference 설정 - VSCode 에셋을 Import하면 Edit-Preferences에 VSCode 항목이 추가되며, 아래와 같은 옵션을 활성화한다. * Enable Integration * Use Unity Debugger * Enable Auto Open * Revert Script Editor on Unity * ..
DOTween Tween System을 구현해둔 Asset 중 하나 (여기) 에서 Asset을 내려받을 수 있음 무료버전, 유료버전이 존재하므로 예산에 맞춰서 사용하면 좋음 DOTween으로 UI 움직이기 - Android/iOS같은 모바일 기기에서는 Input Field가 활성화되면 가상 키보드가 나타나면서 UI를 가리는 현상이 발생함 - DOTween Asset을 사용하면 UI를 움직이는 다양한 방법을 사용할 수 있음 - Canvas의 UI를 움직일 때는 DOAnchorPosX, DOAnchorPosY를 사용함 - 해당 함수의 파라미터는(float 움직일 값, float 움직임을 수행할 시간) - UI를 사라지게 하고싶을때는 DOFade 함수를 사용함 - 해당 함수의 파라미터는(float 0.0~1...
1. 설치한 Unity 폴더의 AndrodiPlayer\SDK\platform-tools로 이동 ex) C:\Program Files\Unity\Editor\2019.4.1f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools 2. 해당폴더에서 cmd 오픈 3. adb start-server 명령어 입력 4. adb logcat -s Unity 입력[-s 이하 옵션을 입력하지 않으면 모든 로그가 출력됨]
# Unity에서 모바일(Android, iOS)로 개발을 진행하다보면, TMP_InputField에서 패스워드로 설정 시 미작동하는 오류가 간간히 발생함 # 해결방법은 간단함 1. 프로젝트 폴더의 TMP_InputField.cs를 연다 2. ActivateInputFieldInternal() 함수를 찾는다. 3. 아래 코드를 찾는다 if (shouldHideSoftKeyboard == false && m_ReadOnly == false && contentType != ContentType.Custom) 4. 아래 코드로 바꾼다 if (shouldHideSoftKeyboard == false && m_ReadOnly == false) 5. 테스트 해보면 모바일에서 키보드가 잘 올라오는것을 확인할 수 있다
계층적 구조를 가지는 modeling 파일이 존재할 경우에, 모든 하위 Transform에 접근해야하는 경우가 있다. GameObject a ㄴ b ㄴ c ㄴ d 그럴 때는 해당 코드를 사용하면 모든 하위 Transform에 손쉽게 접근할 수 있다. public void findAllChildren(GameObject g) { Transform[] allChildren = g.GetComponentsInChildren(); foreach(Transform child in allChildren) { //수행할 함수 작성 //Ex. AddComponent child.gameObject.AddComponent(); } }
Unity의 Highlighting System Asset을 사용하며 생긴 이슈 및 해결방법 * Highlighter가 달린 GameObject 하위에 새로운 Object를 추가해도 Highlighting이 적용되지 않는 이슈 ▶ 필수적으로 SetDirty() 함수 호출을 통해 ReInitialize 해야함 ▶ 예제 GameObject g = tr.gameObject; GameObject Template = Instantiate(TemplateObject); Template.transform.parent = g.transform; g.GetComponent().SetDirty();