728x90
반응형
- 개요
bpy.app.timers.register(function, first_interval=0, persistent=False)
위의 함수를 사용하면 first_interval 인자로 넣은 값만큼의 시간 후에 function 인자로 넣은 함수를 호출한다
이때 function 인자로 받는 함수는 인자가 없는 함수여야 한다
또 function 인자로 받는 함수에서 실수를 반환하게끔 수정하여 반환된 실수를 주기로 함수를 호출할 수 있다
함수의 호출을 중단하고 싶다면 None을 반환하면 된다
1) 일반적인 regsiter 함수의 사용
import bpy
def test_tick():
bpy.ops.mesh.primitive_cube_add()
bpy.app.timers.register(test_tick, first_interval = 5)
위와 같이 스크립트를 구성하였다
최종적으로 5초 후에 큐브 메쉬가 생성되기를 기대한다
위와 같이 5초 후에 큐브 메쉬가 생성된 것을 확인할 수 있다
2) 타이머로서의 register 함수 사용
import bpy
limit = 0
x = 0
def test_tick2():
global limit
global x
bpy.ops.mesh.primitive_cube_add(location = (x, 0, 0))
limit += 1
x += 2
if limit == 10:
return None
return 0.5
bpy.app.timers.register(test_tick2)
test_tick2 함수를 위와 같이 구성하였다
함수에서 실수값과 None을 반환하도록 하여 타이머처럼 동작하도록 설계하였다
최종적으로 0.5초 주기로 test_tick2 함수를 호출하여 큐브를 생성하고 limit의 값이 10이 되면 호출하지 않는다
위와 같이 0.5초 주기로 큐브를 생성하는 것을 확인할 수 있다
728x90
반응형
'blender > blender python' 카테고리의 다른 글
| Redo 패널 (0) | 2025.08.20 |
|---|---|
| 랜덤한 글자 생성 (0) | 2025.08.19 |
| Info 메세지 출력 (0) | 2025.08.19 |
| 리스트 (0) | 2025.08.19 |
| 안개 효과 생성 (0) | 2025.08.13 |