Game!

전체 글 (93)

  1. 2017.12.14 List<T>.RemoveAll(Predicate<T>) 함수 개념

    기본 설명 : https://msdn.microsoft.com/ko-kr/library/wdka673a(v=vs.110).aspx 사용하면서 나름대로 이해한걸 정리.. List.RemoveAll(Predicate) 함수는 해당 리스트의 모든 원소를 제거하는 함수인데, 매개변수로 원소 각각을 지우는데에 '판단'할 조건을 받는다.( 매개변수에는 / 그 '판단'을 / 리스트의 개별 원소를 인자로 받아 판단 결과를 반환하는 함수로 추상화해서 넘긴다. )여기서 람다식을 사용 여기서 bool형으로 판단 결과로 넘김

  2. 2017.12.01 [unity/C#] 특정 소수점 자리 이하 올림, 버림, 반올림 2

    System.Mafh. 이후 함수를 사용합니다. double doubleValue = 0.1234d; Math.Ceiling(doubleValue) // 올림 Math.Round(doubleValue) // 반올림 Math.Truncate(doubleValue) // 버림 만약에 소수점 첫째 자리 이하를 버리고 싶다면 Math.Truncate(doubleValue * 10) / 10; 소수점 둘째 자리 이하 Math.Truncate(doubleValue * 100) / 100; 소수점 셋째 자리 이하 Math.Truncate(doubleValue * 1000) / 1000; . . . 식으로 늘려주면 된다. [ 원리 ] 원하는 값 : 0.1234 >>>> 0.12 1) 0.1234 * 100 = 12.3..

  3. 2017.09.01 [Unity] exe 실행파일에서 InputManager에서 만든 버튼이 입력되지 않는 실행버그

    exe 실행파일에서 InputManager에서 만든 버튼이 입력되지 않는 실행버그 중력을 -9.8로 바꿔서 해보시오....... 사실 이렇게해서 난 해결이 됐는데 정확하게 뭐가 문제인지는 확실하게 잡지 못했다 ㅠㅠ 이후에 또 이런 버그 나오면 진짜 울것같음....

  4. 2017.08.31 [Unity/Max3D] ImportFBX Errors: Time range (447394) for scale curve(s) on node 'bone name' on take 'animation clip name' larger than maximum allowed (100000).

    현재 만드는 게임에 애니메이션이 액팅이 많이 들어가는데, 어느날부터 특정 애니메이션에서 계속 이러한 에러 문구가 콘솔창에 발생했다. ImportFBX Errors: Time range (447394) for scale curve(s) on node 'Bone_HairTire01' on take 'Take 001' larger than maximum allowed (100000). These curves won't be imported. Check your file - it most likely has keys in far negative or positive timeline. 애니메이션이 들어있는 FBX파일을 유니티 어셋 폴더에 넣은 후, 유니티를 실행하면 바로 뜨는 문구였다. 그냥 콘솔창 탭에서 Cle..

  5. 2017.08.29 [Unity 컴파일 에러] InitializeUnityExtensions: Must have a valid path for plugin[n]

    유니티 버전 5.5.1f 사용 실행파일 빌드를 하는데 콘솔창에 에러가 배열 인덱스별로 생겨서 포팅을 할 수가 없었다. InitializeUnityExtensions: Must have a valid path for plugin[n] 밑에 1개의 문구에 추가 에러가 같이 떴는데 유니티 프로젝트 탭에서 상위 폴더 Assets 오른쪽 마우스를 클릭하면 Reimport All 이라는 메뉴가 있다. 클릭하면 새로 실행이되는데 이후에 에러가 없어졌다. 본 포스팅은 작성자가 빠르게 찾을 수 있도록 수정한 것입니다.출처:http://legacy.tistory.com/125




기본 설명 : https://msdn.microsoft.com/ko-kr/library/wdka673a(v=vs.110).aspx


사용하면서 나름대로 이해한걸 정리..



List<T>.RemoveAll(Predicate<T>) 함수는 

해당 리스트의 모든 원소를 제거하는 함수인데, 매개변수로 원소 각각을 지우는데에 '판단'할 조건을 받는다.

( 매개변수에는 / 그 '판단'을 / 리스트의 개별 원소를 인자로 받아 판단 결과를 반환하는 함수로 추상화해서 넘긴다. )

여기서 람다식을 사용 


여기서 bool형으로 판단 결과로 넘김










 

 

System.Mafh. 이후 함수를 사용합니다.

 

 

double doubleValue = 0.1234d;

 

Math.Ceiling(doubleValue) // 올림

 

Math.Round(doubleValue) // 반올림

 

Math.Truncate(doubleValue) // 버림

 

 

만약에 소수점 첫째 자리 이하를 버리고 싶다면

 

Math.Truncate(doubleValue * 10) / 10;

 

소수점 둘째 자리 이하

 

Math.Truncate(doubleValue * 100) / 100;

 

소수점 셋째 자리 이하

 

Math.Truncate(doubleValue * 1000) / 1000;

 

.

.

.

식으로 늘려주면 된다.

 

[ 원리 ]

 

원하는 값 : 0.1234 >>>> 0.12

 

1) 0.1234 * 100 = 12.34

2) Truncate 처리 ----> 12

3) 12 / 100 = 0.12

 

 

반올림 / 올림도 같은 기능으로 해주면 된다.

 

 

 

출처:http://yoursyun.tistory.com/category/program/c%23





exe 실행파일에서 InputManager에서 만든 버튼이 입력되지 않는 실행버그





중력을 -9.8로 바꿔서 해보시오.......




사실 이렇게해서 난 해결이 됐는데 정확하게 뭐가 문제인지는 확실하게 잡지 못했다 ㅠㅠ


이후에 또 이런 버그 나오면 진짜 울것같음....












 

 

 

 

현재 만드는 게임에 애니메이션이 액팅이 많이 들어가는데, 

어느날부터 특정 애니메이션에서 계속 이러한 에러 문구가 콘솔창에 발생했다.

 

 

 

 

 ImportFBX Errors:

Time range (447394) for scale curve(s) on node 'Bone_HairTire01' on take 'Take 001' larger than maximum allowed (100000). These curves won't be imported. Check your file - it most likely has keys in far negative or positive timeline.

 

 

애니메이션이 들어있는 FBX파일을 유니티 어셋 폴더에 넣은 후, 유니티를 실행하면 바로 뜨는 문구였다.

 

그냥 콘솔창 탭에서 Clear만 클릭하면 없어지긴 했지만

이후 적용하면서 해당 bone 부분에서는 애니메이션이 적용되지 않는 현상이 발생했다.

 

문구에서 Bone_HairTire01 는 해당 본이 박혀있는 부분이다.

 

 

['Bone_HairTire01' 해당하는 부분이 빨간색 체크 되어있는 부분이다.]

 

 

문구에서 Take 001 는 애니메이션 클립 이름이다.

 

 

 

 


 

 

 

[ 해결 방안 ] 

 

 

 

관련 에러를 구글에 쳐봤는데 해결방안으로 도움된 링크들 입니다.

http://answers.unity3d.com/questions/372425/error-importing-fbx.html

http://freecandoall.blogspot.kr/2015/11/unity-importfbx-error.html

 

요약하면 애니메이션 어떤 프레임 키에 수치가 갑자기 폭발하는 값이 있다는 것이었습니다.

 

 

처음에 액팅분이 링크 방식대로 찾아봤을 땐 못찾았습니다..

우연히 발견한 방식으로 해결이 됐는데

 

 

 

1. Max 에서 에러가 발생하는 애니메이션을 불러온 후, Track View를 띄웁니다.

 

 

 

 

 

2. 첫 프레임 키를 클릭한 상태에서 사진에 띄워져있는 창을 띄웁니다.

  (제가 맥스를 해본적이 없어서 방식은 모르겠습니다...)

 

 

그리고 창에 띄워져있는 사진에서 <Simple 라는 탭이 되도록 이전 탭을 한번 눌러줍니다. 

(화살표 - 숫자 -> 옆에있는 탭을 누르면 창이 저렇게 넓어진다고 합니다.)

 

 

 

 

3. 사진에 표시된 화살표를 누르면서 갑자기 값이 증폭하는 경우를 찾아서 키를 삭제합니다. 

(최악의 경우 엄청난 노가다) 

 

 

저희의 경우 2 -> 1 한번의 프레임 이동으로 마이너스 숫자로 증폭되는 키를 찾아서 제거했습니다.

 

문제가 있던 액션의 프레임 키가 2번부터 시작됐다고 하는데 

숨겨져있던 1번 프레임을 발견하고 해당 프레임에서 문제가 있어서 삭제하니 유니티 콘솔창의 에러가 없어졌습니다.

 

 

 

 

 

 

 

 





유니티 버전 5.5.1f 사용


실행파일 빌드를 하는데 콘솔창에 에러가 배열 인덱스별로 생겨서 포팅을 할 수가 없었다.



 InitializeUnityExtensions: Must have a valid path for plugin[n]




밑에 1개의 문구에 추가 에러가 같이 떴는데


유니티 프로젝트 탭에서 상위 폴더 Assets 오른쪽 마우스를 클릭하면 Reimport All 이라는 메뉴가 있다.


클릭하면 새로 실행이되는데 이후에 에러가 없어졌다.







본 포스팅은 작성자가 빠르게 찾을 수 있도록 수정한 것입니다.

출처:http://legacy.tistory.com/125