Автор Тема: Python  (Прочитано 1174 раз)

Оффлайн Krista

  • Житель
Python
« : 06 Июль 2017, 11:27:51 »
При выполнении скрипта из Text Editor в консоли появляется ошибка  convertViewVec: called in an invalid context
Что это и почему появляется?

Оффлайн Samovar

  • Житель
Re: Python
« Ответ #1 : 06 Июль 2017, 11:34:41 »
Krista, я не шарю в Python, но предполагаю, что те, кто в нём соображают, попросят тебя выложить код, который привел к этой ошибке  и скриншоты консоли...
Если хочешь внятных ответов, будь добр(а),  потрудись выложить вышеперечисленное к своему вопросу... кстати, они могут и не ответить... не обижайся...

Оффлайн Samovar

  • Житель
Re: Python
« Ответ #2 : 06 Июль 2017, 11:46:42 »
Нецензурная брань... Ну почему многие думают, что здесь собрались телепаты и волшебники, которые могут читать их мысли и идеи из их  обобщённых, а не развёрнутых сообщений, как нефиг делать???
Не нравится? Ну попробуй скопировать оригинал своего вопроса на другие 3D ресурсы, которых множество :) Возможно, найдёшь телепатов и единомышленников...
« Последнее редактирование: 06 Июль 2017, 12:13:10 от Samovar »

Оффлайн Krista

  • Житель
Re: Python
« Ответ #3 : 06 Июль 2017, 20:04:38 »
Krista, я не шарю в Python, но предполагаю, что те, кто в нём соображают, попросят тебя выложить код, который привел к этой ошибке  и скриншоты консоли...
Если хочешь внятных ответов, будь добр(а),  потрудись выложить вышеперечисленное к своему вопросу... кстати, они могут и не ответить... не обижайся...
Код создает в цикле несколько взрывов случайной конфигурации, рендерит их и скидывает каждый в отдельную папку.
Что самое интересное, в процессе написания код не раз запускался и все работало и вдруг на очередном запуске эта ошибка

import bpy
import random

bpy.ops.object.delete(use_global=False)

bpy.data.objects['Camera'].rotation_euler[0]=0
bpy.data.objects['Camera'].rotation_euler[1]=0
bpy.data.objects['Camera'].rotation_euler[2]=0
bpy.data.objects['Camera'].location[0]=0
bpy.data.objects['Camera'].location[1]=0
bpy.data.objects['Camera'].location[2]=30.5
bpy.context.scene.frame_end=30
for dir_index in range(5):
  bpy.ops.mesh.primitive_plane_add()
  bpy.context.object.rotation_euler[0]=1.566
  bpy.context.object.rotation_euler[2]=random.uniform(0,6.264)

  bpy.ops.object.editmode_toggle()
  for i in range(random.randint(1,3)):
    bpy.ops.mesh.primitive_plane_add()
    bpy.ops.transform.rotate(value=1.5708,axis=(0,1,0),constraint_axis=(False,True,False),constraint_orientation='GLOBAL',mirror=False, proportional='DISABLED',proportional_edit_falloff='SMOOTH',proportional_size=1)
    bpy.ops.transform.rotate(value=random.uniform(0,6.283188),axis=(0,0,1),constraint_axis=(False,False,True),constraint_orientation='GLOBAL',mirror=False,proportional='DISABLED',proportional_edit_falloff='SMOOTH',proportional_size=1)
  bpy.ops.object.editmode_toggle()
  emitter=bpy.context.object.name

  bpy.ops.object.duplicate_move(OBJECT_OT_duplicate={"linked":False, "mode":'TRANSLATION'}, TRANSFORM_OT_translate={"value":(0, 0, 0), "constraint_axis":(False, False, False), "constraint_orientation":'GLOBAL', "mirror":False, "proportional":'DISABLED', "proportional_edit_falloff":'SMOOTH', "proportional_size":1, "snap":False, "snap_target":'CLOSEST', "snap_point":(0, 0, 0), "snap_align":False, "snap_normal":(0, 0, 0), "gpencil_strokes":False, "texture_space":False, "remove_on_cancel":False, "release_confirm":False})
  bpy.ops.object.particle_system_add()
  emitter2=bpy.context.object.name
  bpy.context.scene.objects.active=bpy.data.objects[emitter]
  bpy.ops.object.particle_system_add()
  bpy.data.objects[emitter].particle_systems.active.settings.count=random.randint(10,20)
  bpy.data.objects[emitter].particle_systems.active.settings.distribution = 'RAND'
  bpy.data.objects[emitter].particle_systems.active.settings.frame_end=2
  bpy.data.objects[emitter].particle_systems.active.settings.lifetime=30
  bpy.data.objects[emitter].particle_systems.active.settings.normal_factor=20
  bpy.data.objects[emitter].particle_systems.active.settings.factor_random=10
  bpy.data.objects[emitter].particle_systems.active.settings.render_type='NONE'
  bpy.data.objects[emitter].particle_systems.active.settings.use_render_emitter=False

  bpy.data.objects[emitter2].particle_systems.active.settings.count=random.randint(10,20)
  bpy.data.objects[emitter2].particle_systems.active.settings.distribution = 'RAND'
  bpy.data.objects[emitter2].particle_systems.active.settings.frame_end=2
  bpy.data.objects[emitter2].particle_systems.active.settings.lifetime=3
  bpy.data.objects[emitter2].particle_systems.active.settings.normal_factor=9
  bpy.data.objects[emitter2].particle_systems.active.settings.factor_random=3
  bpy.data.objects[emitter2].particle_systems.active.settings.render_type='NONE'
  bpy.data.objects[emitter2].particle_systems.active.settings.use_render_emitter=False

  bpy.context.scene.objects.active=bpy.data.objects[emitter]
  bpy.ops.object.quick_smoke()

  bpy.data.objects['Smoke Domain'].scale[0]=6.7
  bpy.data.objects['Smoke Domain'].scale[1]=6.7
  bpy.data.objects['Smoke Domain'].modifiers['Smoke'].domain_settings.resolution_max=30 
  bpy.data.objects['Smoke Domain'].modifiers['Smoke'].domain_settings.amplify=2
  bpy.data.objects['Smoke Domain'].modifiers['Smoke'].domain_settings.use_dissolve_smoke=True
  bpy.data.objects['Smoke Domain'].modifiers['Smoke'].domain_settings.dissolve_speed=20
  bpy.data.objects['Smoke Domain'].modifiers['Smoke'].domain_settings.alpha=3
  tex_name=bpy.data.objects['Smoke Domain'].active_material.texture_slots[1].name
  bpy.data.textures[tex_name].voxel_data.intensity=3
  tex_name=bpy.data.objects['Smoke Domain'].active_material.texture_slots[1].emission_factor=7
  bpy.data.objects[emitter2].modifiers['Smoke'].flow_settings.smoke_flow_type='BOTH'
  bpy.data.objects[emitter2].modifiers['Smoke'].flow_settings.smoke_flow_source='PARTICLES'
  bpy.data.objects[emitter2].modifiers['Smoke'].flow_settings.particle_system= bpy.data.objects[emitter2].particle_systems.active
  bpy.data.objects[emitter2].modifiers['Smoke'].flow_settings.use_initial_velocity=True
  bpy.data.objects[emitter2].modifiers['Smoke'].flow_settings.particle_size=2
  bpy.data.objects[emitter2].modifiers['Smoke'].flow_settings.velocity_factor=1
  bpy.data.objects[emitter2].modifiers['Smoke'].flow_settings.fuel_amount=3
  bpy.context.scene.objects.active=bpy.data.objects[emitter]
  bpy.ops.object.modifier_add(type='SMOKE')
  bpy.data.objects[emitter].modifiers['Smoke'].smoke_type='FLOW'
  bpy.data.objects[emitter].modifiers['Smoke'].flow_settings.smoke_flow_source='PARTICLES'
  bpy.data.objects[emitter].modifiers['Smoke'].flow_settings.particle_system= bpy.data.objects[emitter].particle_systems.active
  bpy.data.objects[emitter].modifiers['Smoke'].flow_settings.particle_size=0.1
  bpy.data.objects[emitter].modifiers['Smoke'].flow_settings.subframes=5
  bpy.data.scenes['Scene'].render.filepath='C:\\Users\\111\\Desktop\\explode_gen\\explode_{0}\\'.format(dir_index)
  bpy.context.scene.render.alpha_mode='TRANSPARENT'
  bpy.ops.render.render(animation=True)

  bpy.data.objects[emitter].select=True
  bpy.data.objects[emitter2].select=True 
  bpy.ops.object.delete(use_global=False)

Оффлайн Николай Николаев

  • Житель
  • emerge --keep-going
Re: Python
« Ответ #4 : 06 Июль 2017, 22:04:36 »
... попробуй искать решение проблемы в этой строке ...
Код: python
bpy.ops.object.duplicate_move(OBJECT_OT_duplicate={"linked":False, "mode":'TRANSLATION'}, TRANSFORM_OT_translate={"value":(0, 0, 0), "constraint_axis":(False, False, False), "constraint_orientation":'GLOBAL', "mirror":False, "proportional":'DISABLED', "proportional_edit_falloff":'SMOOTH', "proportional_size":1, "snap":False, "snap_target":'CLOSEST', "snap_point":(0, 0, 0), "snap_align":False, "snap_normal":(0, 0, 0), "gpencil_strokes":False, "texture_space":False, "remove_on_cancel":False, "release_confirm":False})

... поскольку при замене этой строки на такую этой ошибки нет ...
Код: python
bpy.ops.object.duplicate(linked=False, mode='TRANSLATION')

Оффлайн Krista

  • Житель
Re: Python
« Ответ #5 : 06 Июль 2017, 23:50:50 »
... попробуй искать решение проблемы в этой строке ...
Код: python
bpy.ops.object.duplicate_move(OBJECT_OT_duplicate={"linked":False, "mode":'TRANSLATION'}, TRANSFORM_OT_translate={"value":(0, 0, 0), "constraint_axis":(False, False, False), "constraint_orientation":'GLOBAL', "mirror":False, "proportional":'DISABLED', "proportional_edit_falloff":'SMOOTH', "proportional_size":1, "snap":False, "snap_target":'CLOSEST', "snap_point":(0, 0, 0), "snap_align":False, "snap_normal":(0, 0, 0), "gpencil_strokes":False, "texture_space":False, "remove_on_cancel":False, "release_confirm":False})

... поскольку при замене этой строки на такую этой ошибки нет ...
Код: python
bpy.ops.object.duplicate(linked=False, mode='TRANSLATION')
Николай Николаев спасибо большое. Вы помогли решить проблему. Всё дело было в параметре TRANSFORM_OT_translate функции bpy.ops.object.duplicate_move. В этом словаре не должно быть ключа "gpencil_strokes".

 


Яметрика

* По форуму

* Рекламный блок

* Последние вложения

1 (1).png
Скачано: 68
Автор: LEXA ANЭGROWND
blender.png
Скачано: 78
Автор: ipv2007
4.png
Скачано: 100
Автор: hiroyukiss
2.png
Скачано: 122
Автор: hiroyukiss

Скачано: 112
Автор: Dilifa12