난 이 분야 전문가야! (51) 썸네일형 리스트형 ML-Agent :: Error (protoc >= 3.19.0.) 해결법 윈도우에서 강화학습 환경을 세팅하기 위해 ML-Agent를 설치한 후 설치가 잘 되었는지 확인하는 과정에서 다음과 같은 에러가 발생했다. TypeError: Descriptors cannot not be created directly. If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0. If you cannot immediately regenerate your protos, some other possible workarounds are: 1. Downgrade the protobuf package to 3.20.x or lower. 2... Unity :: Ragdoll 머리 흔들림 해결법 최근에 레그돌 효과를 사용해서 연구를 진행하고 있다. 머리의 position, rotation, velocity, angular velocity 데이터를 사용해야 하는데 레그돌이 쓰러진 후 머리가 계속 흔들리는 현상이 발생해서 난감한 상황이었다. 영상처럼 Agent가 쓰러진 후에도 계속 머리가 흔들리는 이유를 찾아보니까 머리 흔들림을 저지할 마찰이 없기 때문인걸 알 수 있었다. 첫 번째 해결방법 보면 머리 부분에 collider가 적용이 안되어 있거나 매우 작게 설정되어 있는 경우가 있다. 이렇게 되면 머리 부분과 지면이 닿았다 라는 것을 인지하지 못하게 되고 마찰 또한 생기지 않는다. 첫 번째 해결방법으로는 collider의 크기를 키우는 것이다. 두 번째 해결방법 머리 회전 각도의 제한 각도를 설정해.. Unity :: material tiling (머티리얼 타일 나누기) 유니티에는 매우 많은 컴포넌트들이 존재하고 그 속성값 또한 매우 다양하다... 이번에는 공사장 현장 상황의 시뮬레이션을 구현하기 위해 plane object에 material을 입혀 공사판 바닥 효과를 연출하려 했으나 plane에 바닥 material이 그대로 입혀져서 해상도도 떨어지고 비현실적이였다. 분명 욕실 타일 붙이듯이 plane에 나눠서 붙이는 방법이 있을텐데... 라고 생각하며 결국엔 구글링... 모래자갈들이 사람 머리보다 크고 비현실적이다. plane 오브젝트의 inspector창에 Material 컴포넌트를 보면 Tiling이라는 속성이 있다. 지금은 x: 1, y: 1로 설정되어 있는데 이는 plane을 타일 하나로 채우겠다는 의미이다. x: 4, y: 4로 변경하면 값을 높일수록 타일이.. OpenCV :: Mat Class 사용법 정리 (생성 및 기본연산, C++) // 1 Mat m1(3, 3, CV_32F); // 32bit float형 3x3 행렬 // 2 Mat m2; m2 = Mat(5, 3, CV_64FC2); // 64bit float형 5x3 행렬 channel 수는 2 // 3 동적할당으로 생성 Mat* m3 = new Mat(Size(640, 480), CV_8UC3); // 480x640 해상도의 컬러이미지(3 channel) delete m3; 1 ) m1 행렬의 경우 32bit float형의 3행 3열 행렬이 생성된다. 2 ) m2 행렬의 경우 64bit float형의 5행 3열 채널 수는 2인 행렬이 생성된다. (총 원소의 개수는 5 x 3 x 2로 30개) 3 ) m3 행렬의 경우 동적할당으로 생성했으.. Unity :: Bitmap import 설정법 (Bitmap not found in System.Drawing 해결) NuGet Package Manager로 System.Drawing.Common(v6.0.0)을 설치하고 using System.Drawing 을 추가해 주었음에도 불구하고 'Bitmap'을 찾을 수 없다는 에러가 발생했었다. NuGet 패키지 관리로 System.Drawing.Common을 설치했다면 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ 에 위치한 System.Drawing.dll 파일을 복사하여 유니티 프로젝트 Assets\ Plugins(없으면 새로 생성) 폴더 안에 붙여넣어 준다. 유니티 Edit -> Project Settings에서 Player -> other settings -> Api Compatibility Level 을 .NET 4.x로.. Unity :: 스크립트로 머티리얼(Material) 변경하는법 버튼을 눌렀을때 cube의 Material을 변경하려 한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 using System.Collections; using System.Collections.Generic; using UnityEngine; public class ChangeMat : MonoBehaviour { public Material[] mat = new Material[2]; int i = 0; public void ChangeCubeMat() { i = ++i % 2; // Change Material gameObject.GetComponent().material = mat[i]; } } Colored by Color Scripter cs cube.. Mac Anaconda OpenGL Import Error 해결법 ImportError: ('Unable to load OpenGL library', "dlopen(OpenGL, 0x000A): tried: '/Users/kisub/opt/anaconda3/envs/cg-course/lib/OpenGL' (no such file), '/Users/kisub/opt/anaconda3/envs/cg-course/lib/OpenGL' (no such file), '/Users/kisub/opt/anaconda3/envs/cg-course/lib/python3.7/lib-dynload/../../OpenGL' (no such file), '/Users/kisub/opt/anaconda3/envs/cg- ... 아나콘다 가상환경에서 OpenGL을 설치하고 코드를 실행하려 했는데.. Silicon Mac(M1)에서 OpenCV C++ 개발환경 설정 정리 (Xcode) home brew(https://brew.sh/)와 Git이 설치되어 있다는 가정하에 진행합니다. '::' 뒤는 터미널 명령어 뒤에 [숫자]가 붙은 폴더는 경로를 기억해주세요. 폴더명을 [숫자]로 간략하게 표현하겠습니다. cmake 설치 :: brew install cmake OpenCV 라이브러리 설치 설치할 폴더 생성[1] (원하는 곳에 생성 - 저의 경우 ~/opt/open_cv 이름으로 생성했습니다.) :: git clone https://github.com/opencv/opencv.git (reference: https://github.com/opencv/opencv) [1]에 build 폴더[2] 생성 (그럼 [1]에 opencv, build 이름의 두개의 폴더가 생성되어 있을겁니다.) [2].. 이전 1 2 3 4 5 ··· 7 다음