반응형 개발878 문제해결)Unity)Some objects were not cleaned up when closing the scene. (Did you spawn new GameObjects from OnDestroy?)The following scene GameObjects were found:~ Some objects were not cleaned up when closing the scene. (Did you spawn new GameObjects from OnDestroy?)The following scene GameObjects were found:~ Singleton Class가 OnDestory에서 호출되면서 에러를 발생하는 상황으로 종료와 동시에 생성을하는 상황인데 디버깅으로 호출스택을 보면 좀더 수월하게 파악이 가능하다. 스크립트 LifeCylce의 OnDestory 상황이나 OnApplicationQuit에서 Flag 값을 셋팅하고 Instance getter에서 return 처리를 진행하면 된다. private static object _lock = new object(); pr.. 2022. 10. 13. Unity)NDK Version 확인방법 Unity 에서 NDK Version 확인방법 NDK 버전을 업데이트 해야하는 상황이 생겨서 현재 버전을 확인하는것을 알게되어서 포스팅하게 되었다. [Edit]-[Preferences]-[External Tools] 의 NDK을 사용중이다. Copy Path 해서 해당 폴더로 이동한다. 해당 폴더의 스크린샷의 경로에 가면 source.properties 라는 폴더가 있는데 해당 파일이 Version정보를 가지고 있다. Unity 버전마다 NDK 버전이 정해져있는데 공식 Unity Documentation을 참조하면 된다. Unity Android 환경설정 : [링크] ★☆☆☆☆ 2022. 10. 12. 게임개발)피크로스(Picross), 노노그램(Nonograms) 만들기 -3 피크로스(Picross), 노노그램(Nonograms) 만들기 -3 데이터를 수정이 가능한 형태와 실제 이미지와 매칭하기 위해서 중복해서 처리하는 형태로 구현했다. 좀더 큰 이미지를 작은 퍼즐 단위로 만드는 기능을 작업 진행했다. 기본이 되는 이미지는 밀레의 '이삭줍는 여인들'의 이미지를 그래픽화 시켰다. 해당 데이터를 원하는 퍼즐단위로 분할했을때의 인덱스를 표기한 Piece 형태는 다음과 같다. 나눠 떨어지 않는 나머지 데이터는 0인덱스로 처리가 되었다. ----------------------------------------------------------------------------------------------------------------------------------- 실제 화면에서는.. 2022. 10. 12. Unity) URL 이미지 다운 및 관리 코드 URL 이미지 다운 및 관리 코드 URL을 기준으로 Texture를 읽고 저장하는 코드이다. UnityWebRequestTexture를 사용해서 URL의 이미지를 Texture로 변환시킨다. using System.Collections.Generic; using UnityEngine; using System.Threading.Tasks; using UnityEngine.Networking; using System.IO; /// /// URL에서 이미지를 읽고 저장 처리하는 코드 /// public class TextureLoaderformURL { private static Dictionary _textureCahce = new Dictionary(); private static Dictionary Te.. 2022. 10. 5. 문제해결)Unity)UnityException: ~ can only be called from the main thread.Constructors and field initializers will be executed from the loading thread when loading a scene.Don't use this function in the constructor or field initializers, inst.. ~ can only be called from the main thread.Constructors and field initializers will be executed from the loading thread when loading a scene.Don't use this function in the constructor or field initializers, inst.. 해당이슈는 Unity에서 Main Thread가 아닌곳에서 UnityEngine의 기능을 호출할때 발생하는 이슈이다. 여러상황에서 발생이 가능한데. 외부 라이브러리 Unity 사이에서 발생하는 경우가 종종있다. Unity 에서 Main Thread를 보장하는곳에서 호출하려면 간단하게 Mono Update에서 호출하거나 Coroti.. 2022. 10. 3. 문제해결)Exception: Unable to install additional SDK platform. Please run the SDK Manager manually to make sure you have the latest set of tools and the required platforms installed. C:\Program Files\Unity\Hub\Editor\2020.3.39f1\Editor\Data\Playback.. Exception: Unable to install additional SDK platform. Please run the SDK Manager manually to make sure you have the latest set of tools and the required platforms installed. C:\Program Files\Unity\Hub\Editor\2020.3.39f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\bin\sdkmanager.bat "platforms;android-31", exit code 1 Powershell non elevated output: Unity Version을 변경하면서 해당 이슈가 발생했다. 해당이슈는.. 2022. 9. 27. 문제해결)An error occurred while resolving packages: Project has invalid dependencies: com.unity.uiextensions: Package [com.unity.uiextensions@2.2.7] cannot be foundA re-import of the project may be required to fix the issue or a manual modifica.. An error occurred while resolving packages: Project has invalid dependencies: com.unity.uiextensions: Package [com.unity.uiextensions@2.2.7] cannot be foundA re-import of the project may be required to fix the issue or a manual modification of ~/Packages/manifest.json file. 해당 이슈는 패키지가 이미 포함되어있는 상황에서 패키지 매니저에 정의되어있는것을 불러오는 과정에서 생기는 이슈이다. 해당 패키지와 같은 패키지를 Assets 내부에서 제거하고 난 다음에 다시 reimport를 해주면 해결.. 2022. 9. 27. 코드분석)ZigTapZag ZigTapZag 게임을 진행하면 공처럼 생긴게 한쪽 방향으로 이동한다. 떨어지지 말고 계속 길을 따라가서 더 높은 점수를 쌓는 게임으로 TAP(클릭)을 하게되면 방향이 바뀐다. 프로젝트 링크 주소 : [링크] GitHub - coderDarren/ZigZagClone: A complete project. Hoping someone could learn from this. A complete project. Hoping someone could learn from this. - GitHub - coderDarren/ZigZagClone: A complete project. Hoping someone could learn from this. github.com -------------------------.. 2022. 9. 26. 코드)Unity) 플랫폼별 로컬 파일 저장 경로 플랫폼별 로컬 파일 저장 경로 및 저장 플랫폼 별로 로컬 파일 경로를 설정하는 코드이다. 간단하게 참고하면 되는데 저장되는 위치가 플랫폼별로 다르기 때문에 구분이 필요하다. void LoadLocalizedText (string fileName) { localizedTextDictionary = new Dictionary (); string dataAsJson; #if UNITY_EDITOR string filePath = Path.Combine (Application.streamingAssetsPath, fileName); #elif UNITY_IOS string filePath = Path.Combine (Application.persistentDataPath, fileName); #elif UNIT.. 2022. 9. 25. 삽질)Unity)TextMeshPro 터치 안먹히는 현상 TextMeshPro 터치 안먹히는 현상 TextMeshPro도 RayCast Raget을 설정할 수 있다는 걸 깜빡하고 삽질하다가 이렇게 포스팅하게 되었다. Unity에서는 Raycast Target이 체크가 되면 가장 맨 위에 있는 오브젝트에 이벤트를 전달하게된다. Extra Settings 의 Raycast Target을 체크해제 하면 된다. Raycast Target 이 TextMesh Pro GameObject를 레이캐스트 대상으로 만들려면 이 옵션을 활성화합니다. 이 옵션을 비활성화하면 커서가 상호 작용하는 대상을 결정할 때 UI가 이 TextMesh Pro 게임 오브젝트를 무시합니다. ★☆☆☆☆ 2022. 9. 20. c#) 숫자 0으로 자리수 체우기 숫자 자리수 체우기 개발하는 도중에 숫자의 자리수가 고정적인 표현을 하는데 사용하는 코드이다. 반복문을 사용하거나 단일이면 string.format을 이용하는 방법등 여러가지가 있다. public string GetDigitsNumberView(int _digitsLength, float _value) { int valueLegnth = _value.ToString().Length; string zeroString = string.Empty; if (_digitsLength > valueLegnth) zeroString = "0".PadRight((_digitsLength - valueLegnth), '0'); return $"{zeroString}{_value}"; } String RadRight : .. 2022. 9. 20. Unity) TextMeshPro Font 추가하기(TMP : 한글폰트 적용) TextMeshPro Font 추가하기(TMP : 한글폰트 적용)텍스트 매쉬 프로를 처음에 설치하고 난 이후에 적용하면 기본적으로는 한글폰트가 미적용되어있다.한글이 포함된 폰트를 추가해서 폰트와 매칭되게 만들어야 한다. 사용할 폰트를 다운받고 Font Asset Creator에서 생성한다. [Window]-[TextMeshPro]-[Font Asset Creator] 를 들어가서 폰트 . TT파일을 선택한다.Source Font File 에서 폰트를 선택하고 폰트의 Atlas의 사이즈와 Character Set을 설정한다.여기서는 '영어, 특수문자, 한글'을 포함해서 생성한다.Character Sequence 에서는 포함할 문자의 유니코드(Unicode)를 정의한다. .. 2022. 9. 20. 개발용어) Delta Time(델타 타임) Delta Time(델타 타임) 게임에서의 의미로는 시간을 확인하기위해서 그전 기준과의 현재의 차이를 '델타타임' 이라고 한다. 델타타임은 Frame Frame 사이를 나타내는 표현이다. Frame을 기준으로 시간을 측정하는 방법은 다른 성능의 환경에서 거리보간, 동기화 등등 여러가지 같은 결과를 만들기 위해서 사용한다. Unity 에서 DaltaTime : [링크] Unity - Scripting API: Time.deltaTime Success! Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested cha.. 2022. 9. 15. Unity) Camera 최적화 및 컬링에 대한 이해 Camera 최적화 및 컬링에 대한 이해 Unity 라이브에서 이야기한 내용을 순서대로 정리한 포스팅이다. 원본 Unity Korea 라이브 링크 : [링크] 최적화의 기본은 최대한 많은것을 안하면서 최대한의 퍼포먼스를 찾는 과정이다. Frustum Culling 카메라의 뷰포트의 끝을 기준으로 끊어버리는 것( + 포그로 추가) Spatial Partition (Octree/ Quadtree) 카메라를 처리하기위해서 공간을 분할하는 과정 Occlustion Culling 가려진 오브젝트는 그리지 않음 in door scene에서 오큘루젼 컬링을 많이 사용한다. (door로 인해서 뷰포트에 미포함되어있는 항목에 대해서 처리하지 않음) out door scene Static 옆에 항목을 클릭하게되면 해당 부.. 2022. 9. 14. Tip) .APK Sign Key 확인방법 .APK Sign Key 확인방법 .APK가 어떤 Key로 Sign 됬는지 확인하는 방법중 keytool을 사용해서 확인하는 방법을 포스팅한다. Keytool은 키 및 인증서 관리 유틸리티로 디지털 서명을 사용하여 공개키/ 비 공개키로 인증서를 관리하는 툴이다. 사용방법은 다음과 같다. keytool -list -printcert -jarfile 확인할.apk 서명된 APK를 입력하면 Signing 정보를 확인할 수 있다. Oracle Keytool : [링크] keytool-Key and Certificate Management Tool KU or KeyUsage usage(,usage)*, usage can be one of digitalSignature, nonRepudiation (contentC.. 2022. 9. 14. 이전 1 ··· 21 22 23 24 25 26 27 ··· 59 다음 반응형