【问题标题】:time.sleep() in Blender (Cycles) scriptBlender (Cycles) 脚本中的 time.sleep()
【发布时间】:2020-09-25 00:49:00
【问题描述】:

我正在尝试通过两种颜色之间的延迟来更改 Cube 的颜色。这似乎是不可能的

time.sleep(5)

当我运行脚本时,它会等待 5 秒并仅显示第二种颜色,而第一种从未使用过。

import bpy
import time
mat = bpy.data.materials.new("RED")
mat.diffuse_color = (0.8,0,0)
mesh = bpy.context.object.data
mesh.materials.append(mat)

time.sleep(5)

mat = bpy.data.materials.new("GREEN")
mat.diffuse_color = (0,0.8,0)
mesh = bpy.context.object.data
mesh.materials.clear()
mesh.materials.append(mat)

Certes il manquait "object", mais c n'est pas l'origin du phénomène, j'ai essayé les deux changments de couleurs séparément pas de problème, mais lors que je les assemble et les sépare par time.sleep( 5) seul de vert est affiché !谢谢回复

【问题讨论】:

  • 您可能希望显示您正在运行的代码的相关部分,这将有助于我们为您提供帮助。 Pourrais tu inclure la partie du code en question? Ça nousaiderait à t'aider!
  • 谢谢,问题已完成!
  • est-ce que c'est normal que la Premiere fois: mesh = bpy.context.data et la deuxieme fois mesh = bpy.context.object.data ? J'aurais 倾向 a croire que ca pourrait etre la partie coupable de ton erreur。 Je n'ai pas respecté la doc de bpy par contre
  • J'ai enfin touvé。 C'est une question de rafraichissement de l'affichage de Blender, il suffit d'ajouter avant le time.sleep : bpy.ops.wm.redraw_timer(type='DRAW_WIN_SWAP', iterations=1)

标签: python blender


【解决方案1】:

J'ai enfin touvé。 C'est une question de rafraichissement de l'affichage de Blender, il suffit d'ajouter avant le time.sleep :

bpy.ops.wm.redraw_timer(type='DRAW_WIN_SWAP', iterations=1)

et cela fonctionne !谢谢

【讨论】:

  • super, je te suggere de traduire ta reponse en anglais, histoire de pouvoir aider + de monde!
猜你喜欢
  • 2016-12-20
  • 1970-01-01
  • 2017-07-15
  • 2015-01-13
  • 2012-07-21
  • 2014-08-19
  • 2018-07-04
  • 2011-04-24
  • 2015-08-25
相关资源
最近更新 更多