전체 글 45

[Unity][ERR_STREAM_DESTROYED]: Cannot call write after a stream was destroyed

Unity로 프로젝트를 만들고 열다가 문제가 발생하면서 에디터가 열리지 않는 문제가 발생 했습니다. 그땐 프로젝트의 최상단 경로에서 Library 디렉토리로 이동하여 ScriptMapper 파일을 찾아 삭제한 후 다시 프로젝트를 열면 문제가 해결되었습니다. ScriptMapper가 어떤 파일인지 잘 모르겠지만 생성 시간이 과거로 되어 있던데 지웠다가 다시 프로젝트를 여니 새로 생성되는걸로 봐선 과거에 설정되어 있는 값을 가져와서 문제가 되는것 같습니다. 다시 생성되게 하면 해결되네요

Issue Tracking 2021.10.30

[Unity] Animator Animation 재시작 방법

Unity에서 Animation을 다시 시작하고 싶은 경우가 있다. 그냥 loop 속성을 주면 다시 시작은 할 수 있지만 문제는 특정한 경우에 다시 시작하고 싶은 경우이다. loop 처럼 계속 다시 시작하는 것이 아닌 특정 버튼을 누른다던가 하는 경우. 제일 쉬운 방법은 Animator Component가 포함된 Object을 비활성화 했다가 활성화 하면 되게 해결되는 경우가 많다. 하지만 문제는 Animator Component가 포함된 Object를 비활성화 하면 안되는 경우!!!, 이런 경우 Animator Component를 비활성화하고 활성화 하면 될 줄 알았지만 되지 않았다. ㅠㅠㅠㅠ 그냥 Animator Component를 비활성화 -> 활성화만 하는 것이 아닌 'Rebind()'라고 하는 ..

Unity 2021.10.29

[비지도 학습]k 평균 군집화

비지도 학습으로 사전에 군집수(=k)가 정해져야 알고리즘이 실행되는 비지도 학습 머신러닝 알고리즘이다. 군집수는 하이퍼 파라미터로 인간이 정해야 하고 군집의 중심 위치는 보통 랜덤하게 설정한다. k 평균 군집화는 아래의 2단계를 반복적으로 실행하며 비지도 학습을 한다. 1. 모든 개체들을 군집 중심을 통해 할당 2. 중심을 군집 경계에 맞게 새로 업데이트 예를 들어 데이터들을 2개의 군집으로 나누고 싶다고 할때 k의 값을 2로 맞추고 처음엔 k의 위치를 랜덤하게 설정, 그 후 각 데이터가 군집의 중심으로 부터 가까운것들끼리 하나의 군집으로 묶이고 다 묶이고 나면 군집의 중심을 한 가운데로 재설정 한다. 그 후 다시 개체들을 군집의 중심으로 부터 가까운 것들끼리 묶고 다 묶고 나면 군집의 중심을 가운데로 ..

AI/MachineLearning 2021.10.28

[지도학습]k-최근접 이웃 분류

k-최근접 이웃 분류(k-nearest neighbor classifier)는 지도학습으로 데이터를 가장 가까운 유사 속성에 따라 분류하는 방법 데이터로부터 거리가 가까운 K개의 다른 데이터의 레이블을 참조하여 분류하는 알고리즘(거리 측정엔 유클리드 거리 계산법을 사용) 판별하고 싶은 데이터와 인접한 k개수의 데이터를 찾아 해당 데이터의 라벨이 다수인 범주로 데이터를 분류하는 방식으로 k의 개수는 홀수를 선호하는데 짝수인 경우엔 동점이 발생할 확률이 존재하기 때문

AI/MachineLearning 2021.10.27

[Android] Execution failed for task ':app:mergeLibDexDebug'.> Failed to calculate the value of task ':app:mergeLibDexDebug' property 'numberOfBuckets'

오랜만에 안드로이드 개발을 하다보니 AndroidX라고 하는것에 대해 잘 몰랐는데 AndroidX와 관련해 에러가 발생했다 Execution failed for task ':app:mergeLibDexDebug'. Failed to calculate the value of task ':app:mergeLibDexDebug' property 'numberOfBuckets' 이슈를 해결하는 방법은 간단히 AndroidX를 Migrate 하면 된다 1. Mac의 경우, Android Studio > Refactor > Migrate to AndroidX 를 클릭 2. gradle.properties를 아래와 같이 세팅해준다 이렇게 하고 나면 문제는 다 해결된다.

Issue Tracking 2021.10.25

[Unity] unity android multidex problem

Unity에서 Android 빌드시 빌드는 됐는데 앱을 실행하자마자 앱이 죽어버리는 문제가 발생했다. 로그를 확인하니 아래와 같은 RunTime Exception이 발생하였다. Unable to instantiate application androidx.multidex.MultiDexApplication: java.lang.ClassNotFoundException: Didnt find class "androidx.multidex.MultiDexApplication" on path ..... 찾아보니 해당문제는 multidex 설정만 해주면 해결되는 문제였다. 1. 문제가 발생하는 유니티 프로젝트에서 Assets/Plugins/Android/mainTemplate.gradle 파일을 고쳐준다 위의 이미지에..

Issue Tracking 2021.10.23

The type or namespace name 'UI' does not exist in the namespace 'UnityEngine'

Unity에서 작업 하다 갑자기 에러가 발생! 에디터도 한동안 계속 열리지 않아 당황했는데 자세히는 모르겠으나 유니티에서 사용하는 내부 코드가 꼬인듯 해결책은 의외로 간단한데 프로젝트 폴더로 들어가 "Visual Studio C# Project"와 "Visual Studio Solution" 파일을 삭제 후 다시 프로젝트를 열면 해결된다. 해당 파일들에서 뭔가가 꼬였을때 발생하는 문제인거 같은데 프로젝트를 열때마다 다시 생성되는 파일들이다.

Issue Tracking 2021.10.22

[Unity] Touch for Mobile - Part1

Unity 개발 타겟을 모바일로 했을 때는 PC로 개발했을때와 달리 키보드 입력등을 받는 구조가 아니기에 모바일용 컨트롤을 위한 개발을 따로 해야만 한다. 관련해서 도움이 될만한 내용을 정리해 보도록 하겠습니다. 모바일은 키보드 입력을 Default로 받는 구조가 아니기에 화면 터치를 이용해야 합니다. 화면 터치의 단계는 총 5개의 단계가 있습니다. 1. Began: 손가락으로 처음 화면을 터치 했을때 나타나는 단계 2. Moved: 손가락이 화면과의 접촉을 끊지 않고 위치를 이동했을때의 단계 3. Stationary: 손가락이 화면과의 접촉을 끊지 않고 아무런 이동없이 한곳에 머무를때의 단계 4. Ended: 손가락이 화면을 더 이상 터치하지 않을 때 5. Cancelled: 손가락의 화면 터치 tra..

Unity 2021.09.21