Blender Vertex ID 지정해서 선택하기
Computer특정 Vertex ID(번호)에 해당하는 점이 모델에서 어디에 위치해 있는지 알아야 할 필요가 있어서 그런 툴을 만들어 봐야 하나 생각해 봤는데, Blender에서 파이썬 스크립트 사용하여 해결할 수 있었다. 이에 대한 내용을 정리해 보았다.
우선 정점 인덱스가 잘 선택되었는지 알아보기 위해 Blender를 디버그 모드로 띄웠다. https://koodev.tistory.com/39 참고. 그리고 대상 모델을 로드하자.
Blender의 좌상단 메뉴 막대 Help 옆에 보면 "Choose Screen layout." 콤보박스에 "Default" 가 선택되어 있다. 이것을 "Scripting" 으로 바꾸자.
그러면 위와 같이 3분할된 화면 구성으로 바뀔 것이다. 이 3분할에서 좌상단이 Text Editor 인데, "+ New" 버튼을 누른 다음 입력창에 아래 코드를 입력한다.
import bpy
import bmesh
def select(*args):
obj = bpy.context.object
me = obj.data
bm = bmesh.from_edit_mesh(me)
vertices= [e for e in bm.verts]
oa = bpy.context.active_object
for vert in vertices:
if vert.index in args:
vert.select = True
else:
vert.select = False
bmesh.update_edit_mesh(me, True)
(참고로 이 코드는 하단의 "Console" 창에 입력하면 바로 사용할 수 있다. 그런데, 인터프리터에서 들여쓰기를 자동으로 해 주기 때문에 한 번에 붙여넣을 수 없고 한줄씩 붙여넣어야 한다.)
이제 텍스트 에디터의 코드를 하단의 콘솔로 가져와야 한다. 콘솔창에 아래 명령어를 차례로 입력한다.
import bpy
code = bpy.data.texts['Text'].as_string()
exec(code)
이제 준비가 완료되었다. 콘솔에서 select 함수를 실행하여 정점 번호를 지정해 주면 된다.
참고
'Computer' 카테고리의 다른 글
Ubuntu 16.04 apt 'E: Unmet dependencies' 에러 (2) | 2020.01.23 |
---|---|
macOS 윈도우 스크린캡쳐 알파 그림자 없애기 (0) | 2020.01.07 |
macOS Mission Control 에서 윈도우 사라지는 현상 (0) | 2019.10.06 |
macOS Dock 아이콘 이동하기 (0) | 2019.09.21 |
아이폰-아이튠즈 사진 동기화 문제 (0) | 2017.03.01 |