📌 주의 사항
- 이 포스팅에서 내가 설치하고 실행하는 애드온은
material recommender
로, 인공지능에게 다양한 속성의 머티리얼을 학습시키고 사용자의 선호도에 따른 머티리얼을 추천해주는 기술이다. 해당 기술은 python 코드로 작성되었고 관련 논문과 깃허브 주소는 아래와 같다.
https://users.cg.tuwien.ac.at/zsolnai/gfx/gaussian-material-synthesis/
https://github.com/vladvrabie/material_recommender
- 추가적으로 해당 애드온을 사용하기 위해 필요한 패키지 목록은 다음과 같다.
- numpy
- scipy
- matplotlib
- climin
- GPy
- keras
블렌더 설치
: 먼저 블렌더를 설치해야 한다. 논문에서는 Blender 2.83 버전을 사용했기 때문에 오류를 방지하기 위해 같은 버전으로 진행하였다.
💭 사실 최신 버전인 3.3 LTS 버전을 설치하고 싶었는데 온갖 오류로 인해 실패했다...
애드온 추가
블렌더에서 Edit -> Preference -> Add-ons -> install
을 통해 적용하고 싶은 애드온의 zip 파일을 선택하면 자동으로 설치가 된다.
참고로 경로는 C:\Users\사용자이름\AppData\Roaming\Blender Foundation\Blende\버전\scripts\addons
이다. 만약 블렌더 내에서 애드온이 정상적으로 설치되지 않는 경우, 해당 폴더 내에 애드온 파일을 직접적으로 옮겨줘도 된다.
이때 주의할 점은 깃허브 사이트에서 직접적으로 코드를 다운 받는 경우 브랜치 이름인
-master
가 붙는데, 꼭 지워줘야 한다. 애드온 이름과 폴더명이 일치해야ModuleNotFoundError
가 발생하지 않는다.
Roming
폴더에Blender Foundation
폴더가 존재하지 않는 경우 아무 블렌 파일이나 만들고 저장하거나 컴퓨터를 다시 시작하면 생긴다.
material recommender
애드온을 사용하기 위해 필요한 각종 파이썬 패키지들을 설치하기 위해, 아나콘다로 파이썬 가상환경을 구축하고 이를 블렌더의 파이썬과 연결했다.
💭 나는 tensorflow를 비롯한 각종 라이브러리들이 블렌더의 파이썬 상에는 직접 설치되지 않아서 위와 같은 방식을 채택했지만, 애드온이 간단한 python 코드인 경우
bpy
모듈을 사용하면 된다.
bpy
- 블렌더에서 파이썬 스크립트를 작성하고 실행하는데 필요한 API를 제공하는 모듈
- bpy에 관한 자세한 설명과 설치는 아래의 링크 참조
https://pypi.org/project/bpy/
https://sozerodev.tistory.com/174- 참고로 bpy 3.4.0 이상부터는 반드시 python 3.10을 사용해야 하고, 그 이하에서는 ptyhon 3.7을 사용해야 한다.
Blender 버전에 따른 bpy 버전은 bpy 모듈을 설치한 후, 파이썬의 로컬 경로 내 Scripts 폴더에서 확인할 수 있다.
conda create --name 가상환경이름 python=사용할 버전
아나콘다에서 파이썬 가상 환경을 만들고 이를 블렌더의 파이썬과 연결할 경우 bpy 모듈을 설치할 필요는 없지만, (애초에 설치가 안된다)
가상환경이 사용할 python은 반드시 bpy 모듈이 요구하는 python 버전과 일치해야 한다. 파이썬 버전이 맞지 않으면 후에 연결에서 오류가 발생한다.
codna activate 가상환경이름
conda install 패키지이름
일반적인 방법으로는 설치할 수 없는 패키지
- climin
: 깃허브 링크(https://github.com/BRML/climin)에서 직접 패키지를 다운 받고, 아나콘다 환경에 라이브러리가 저장되는 위치인C:\Users\사용자이름\anaconda3\envs\py37\Lib\site-packages
에climin
폴더를 추가하는 방식으로 설치했다.- GPy
:conda install -c conda-forge gpy
- keras
:conda install tensorflow
(혹시 이 과정에서 오류가 발생하는 경우 https://blog.finxter.com/fixed-modulenotfounderror-no-module-named-keras/ 링크 참고)
conda list
(가상환경 활성화된 상태에서)C:\Program Files\Blender Foundation\Blender 버전\버전\python
에서 폴더명 python
을 _python
으로 변경mklink /j "블렌더 파이썬 경로" "아나콘다 파이썬 경로"
참고 링크
https://blender.stackexchange.com/questions/51067/using-anaconda-python-3-in-blender-winx64/51800#51800
https://skeleton.tistory.com/19
오류 1. numpy 모듈 로드 오류가 발생한 경우
- 오류 내용
:ImportError: DLL load failed: 지정된 모듈을 찾을 수 없습니다.
![]()
블렌더 파이썬에 내장된 모듈과 아나콘다 가상환경 상에 설치한 모듈 간에 충돌이 일어나 발생하는 오류이다.
- 해결
- 아나콘다 프롬프트 실행 > 가상환경 활성화
conda activate 가상환경
- 시스템 환경 변수 편집 > 환경 변수
- 사용자 변수 > Path > 편집 >
C:\Users\사용자명\anaconda3\envs\가상환경\Library\bin
추가- 시스템 변수 > 새로 만들기 > 변수 이름
BLENDERPYTHON
, 변수 값C:\Users\사용자명\anaconda3\envs\가상환경\Lib;C:\Users\사용자명\anaconda3\envs\가상환경\DLLs;C:\Users\사용자명\anaconda3\envs\가상환경\Lib\lib-tk;C:\other-folders-on-the-path
- 완료
: 블렌더와 아나콘다 모두 잘 돌아간다!
![]()
오류 2. 블렌더를 실행했는데 바로 종료되는 경우
- 아나콘다 가상환경의 파이썬 버전과 블렌더의 파이썬 버전이 맞지 않아서 발생하는 문제이다.
- 나같은 경우는 처음에 Blender 3.3에 python=3.7인 가상환경을 연결했을 때 해당 문제가 발생했는데, python=3.10으로 변경하니 잘 실행됐다.
- 다만, 해당 버전에서는 애드온이 정상적으로 실행되지 않는 오류가 발생했는데 그건 해결하지 못했다. 아마 버전이 업데이트됨에 따라 블렌더 파이썬의 경로가 변경되고, 그에 따라 환경 변수도 새롭게 설정해줘야 하는 것 같은데 구글링을 열심히 했지만 못 찾았다...🥺
참고로 블렌더와 아나콘다 가상환경을 연결하기 전에는 파이썬 인터프리터 경로를 출력했을 때 아래 사진과 같이 잘 뜨지만, 연결한 후에는 자꾸None
이라고 떴다. 나는 어차피 논문에서 사용한 블렌더 버전 상에서는 잘 돌아가서 그냥 포기했다. 여러분은 꼭 잘 해결하시길...🥲
참고로 블렌더 2.83 버전의 파이썬 인터프리터 경로는
C:\Program Files\Blender Foundation\Blender 2.83\blender.exe
이다.