Render.ru

Всё о Blender. Общение.

volodyaRenderberg

Активный участник
Рейтинг
14
при удалении командой bpy.data.objects.remove(obj) он пишет object 'Cube' must have zero users to be removed, found 1 что имеется ввиду, то что он содержит шейп, или то что его надо как-то обнулить? может отвязать от сцены?

я нашел в одном аддоне такое сочетание команд:
bpy.data.objects[obj_name].user_clear()
bpy.data.objects.remove(bpy.data.objects[obj_name])

но это вываливает блендер :(

сам спросил, сам ответил :) как-то так надо

object = bpy.data.objects[name]
scene = bpy.context.scene
scene.objects.unlink(object)
bpy.data.objects.remove(object)
 
Последнее редактирование:

Cronk

Пользователь сайта
Рейтинг
2
Надо перед удалением вызвать метод obj.user_clear(), это удалит все юзеров объекта
Правда, если после этого вызвать bpy.data.objects.remove(obj) блендер падает. Багрепорт я отправил, скоро починят.
 

volodyaRenderberg

Активный участник
Рейтинг
14
Надо перед удалением вызвать метод obj.user_clear(), это удалит все юзеров объекта
Правда, если после этого вызвать bpy.data.objects.remove(obj) блендер падает. Багрепорт я отправил, скоро починят.
а что на счет связки scene.objects.unlink(obj) -> bpy.data.objects.remove(obj) - это считается не правильно?

в любом случае, разве оторванный от сцены объект, не удалиться автоматически при сохранении сцены?
 

Cronk

Пользователь сайта
Рейтинг
2
Удалится. Но никто ж не знал, что такой вариант тоже устроит.

scene.objects.unlink(obj) - удаляет связь с указанной сценой, но если у объекта есть связи с другими сценами, то удалить его не удасться. А obj.user_clear() удаляет все связи.
 

volodyaRenderberg

Активный участник
Рейтинг
14
Удалится. Но никто ж не знал, что такой вариант тоже устроит.

scene.objects.unlink(obj) - удаляет связь с указанной сценой, но если у объекта есть связи с другими сценами, то удалить его не удасться. А obj.user_clear() удаляет все связи.
да я понял спасибо, просто сейчас частный случай сборки конструкции в одной сцене, анлинка будет достаточно, подождем пока баг поправят, хотя странно obj.user_clear() - эта тема используется при сборке rigify но при этом блендер не вылетает ..
 

Cronk

Пользователь сайта
Рейтинг
2
Блендер вылетает при выполнении bpy.data.objects.remove(obj).
obj.user_clear() работает нормально, по крайней мере у меня.
 

OldDemon

Активный участник
Рейтинг
5
Что случилось со встроенными в Blender ссылками на http://wiki.blender.org/index.php/Doc:2.6/Manual начиная с версии 2.73?
Ну да ладно, хрен с ним, очередное "обновление справки", понятно... Но зачем так сразу? Добавили бы еще одну ссылку в меню лучше... сами же пишут, что недоделана справка на английском https://www.blender.org/manual/about/translations.html и подождите переводить...

Кто у них там такой "умный"? Если есть возможность избавиться от этого б..ва, скопировав, какой либо из старых фалов в новую сборку, то пожалуйста подскажите какой или какие именно файлы? Если нет - ну что поделать... :( Заранее спасибо!
 
Последнее редактирование:

Cronk

Пользователь сайта
Рейтинг
2

volodyaRenderberg

Активный участник
Рейтинг
14
никто не думал над тем чтобы, создать ветку специально по вопросам скриптинга? хотя бы начального уровня.
 

logosman

Модератор форума
Команда форума
Рейтинг
316
Какие вопросы программирования Вас интересуют?
Создайте тему, если тема будет интересной, прикреплю к форуму.
 

volodyaRenderberg

Активный участник
Рейтинг
14
я имел ввиду вообще закрепленную тему, вроди этой, я же не администратор, назвать можно как-то так "скриптинг в блендер".
есть еще один вопрос: я связал драйверами ротейты челюстной кости с транслейтами другой кости (которая контрол) когда я делаю alt+g - контрол возвращается на место, а челюсть нет, чтобы и челюсть вернулась, надо прокрутить тайм лайн, что-нибудь переместить или alt+r на контроле .. так было всегда, и это нормально или это связано с новой верисей, может я поспешил поставить 2,74 ?
 

logosman

Модератор форума
Команда форума
Рейтинг
316
Таких сюрпризов в Blender к сожалению очень много. Столкнулся с подобной проблемой в старой версии (года 2 назад). Времени тогда разбираться не было, делал скрипты в Maya.
Надо бы заново поднять этот вопрос.
 

volodyaRenderberg

Активный участник
Рейтинг
14
еще вопрос на засыпку, это не важно ,но очень интересно, просто нигде не нашел ответа, при создании примитивов, сразу после создания есть меню начальных параметров, можно ли потом в будущем вызывать его для объекта, если не было изменений сетки?
 

Камаз Юрич

Пользователь сайта
Рейтинг
2
Такая проблемка: сделал ролик, отрендерил (интернал), посмотрел. Исправил, что надо было, рендерю, результат - старые PNG-файлы. Новый ролик должен был получиться длинней, так после того, как закончились старые кадры пошли пустые (чёрный экран). Понятно ли обрисовал проблему?
И, чтоб два раза не вставать: я правильно понимаю, что для нефотореалистичного рендера анимации Блендер Интернал нормально подходит? Или лучше другой какой освоить, пока я только начинаю?
 

Камаз Юрич

Пользователь сайта
Рейтинг
2
Я бы даже сказал, что только для этого он нормально и подходит.
Понял, спасибо.
А не посоветуете рендер для анимации? Раз уж я не исключаю, что в будущем буду делать нормальные ролики, то и осваивать надо сразу то, что надо. Под словом "нормальные" я имею ввиду не хуже этого

 

mageaster

Знаток
Рейтинг
56
Последнее редактирование:

logosman

Модератор форума
Команда форума
Рейтинг
316
еще вопрос на засыпку, это не важно ,но очень интересно, просто нигде не нашел ответа, при создании примитивов, сразу после создания есть меню начальных параметров, можно ли потом в будущем вызывать его для объекта, если не было изменений сетки?
Насколько знаю, нельзя. Blender не хранит стек изменений. Значения параметров в Toolbox хранятся только на момент вызова Python скрипта.
 

mageaster

Знаток
Рейтинг
56
Это не совсем точно. На самом деле, в Т-панели отображаются параметры ОПЕРАЦИЙ. И доступны они только по совершении конкретной операции. То есть, когда мы добавляем сферу и регулируем число её долек и сечений, мы регулируем параметры ОПЕРАЦИИ ДОБАВЛЕНИЯ меша, а не параметры объекта.
 
Сверху