Пожалуйста подскажите, как избавиться от тени моделиэто пожелание частично противоречит этому
хотелось бы что бы модель выглядела, как при редактировании.
ЦитироватьПожалуйста подскажите, как избавиться от тени моделиэто пожелание частично противоречит этомуЦитироватьхотелось бы что бы модель выглядела, как при редактировании.
Вариант 1: Если модель не должна быть чувствительной к свету и тени, то можно при встроенном рендере Blender включить у неё в материале галочку "Без затенения". Но тогда модель станет абсолютно плоской, одноцветной.
Вариант 2: Если нужна картинка, в точности такая же, как при редактировании, то лучше всего для рендера вместо нажатия (http://blender-3d.ru/forum/hotkey/[url="modules/sections/index.php?op=viewarticle&artid=24"][img]http://blender-3d.ru/forum/hotkey/f12.jpg) (http://"modules/sections/index.php?op=viewarticle&artid=24").jpg[/img][/url] выбрать из меню "Визуализация" - "Визуализировать изображение в OpenGL". Чтобы при этом в кадр не попадали лампы, курсор, линии обводки и пр., нужно в N-панели в разделе "Отображение" включить галочку "Только визуализируемое".
Вариант 3: Если всё-таки нужна "жизненная трёхмерная" картинка, но рендер получается тёмным, то можно в настройках Мира включить галочку "Ambient Occlusion", и немного ниже увеличить количество сэмплов (изначально там 5, нужно хотя-бы 10, а лучше 12, но от этого увеличивается время рендера).
... покажи как выглядит это в вебе ...Из ответа Striver, дало результат только "без затенения":
Увы, у меня не установлен B4W, но где-то так примерно...Блин, круто, а можно такое без расставления света реализовать?
... поэтому уточни что именно клиент веба должен сделать с моделью/моделями ...Веб клиент будет видеть веб-страницу с 3д моделью и какими-то описаниями. (модель и текст) Веб клиенту, кроме как посмотреть, покрутить модель ничего не нужно. https://www.blend4web.com/ru/develop_article/55 примерно как указано здесь в 2-ом способе. Из автоматизации нужно хотя бы просто быстрый экспорт html страницы.
... в целом задачи автоматизации в blender решаются достаточно незатратно, как минимум: автоматический групповая конвертация всех obj-файлов из указанного каталога в blend-файлы (уже обсуждалась),и вторая задача генерация из полученных моделей b4w проекты тоже в принципе реализуемо, но обычно дефолтный b4w проект - это одна страница с одной сценой, а что на самом деле тебе нужно от веба ты не пояснил ...
... требуется (как обычно) хорошая постановка задачи ...
... кстати, а как эта модель загружалась в b4w - через создание нового проекта или просто импортом obj-файла в blender? ...Загружалась импортом .stl файла через blend4web плагин.
... для "смягчения теней" можно на вкладке World редактора свойств активного объекта в секции Environment Lighting активизировать свет, исходящий из окружающей среды и установить силу воздействия в пределах 0.5 ...
... в дефолтных проектах это уже сделано, но там стоит сила 0.2 и еще небо рендерится ...
демка b4w - https://sungreen.github.io/projects/model_b4w/model_b4w.htmlДа круто, только у него еще текстуры накладываются, а для нас это еще действие. Достаточно эффекта как у Samovar'a. Нужна схема мини-конвеера, загрузил, минимум тыков и экспортировал.
ссылка на проект с настройками blend-файла https://github.com/sungreen/sungreen.github.io/tree/master/projects/model_b4w
>> Нужна схема мини-конвеера, загрузил, минимум тыков и экспортировал.Как уже говорил дали лишь одну модель.
... выложи для теста ещё пяток моделей ...
Увы, у меня не установлен B4W, но где-то так примерно...Я попробовал удалить модель и попробовал заново импортировать. Импортировалась старая модель в другом положении и размере, однако при экспорте выглядит все нормально. Какова вероятность того, что мы возьмем этот исходик и начнем лепить так по всем нашим моделям, и освещения хватит на все?
Блин, круто, а можно такое без расставления света реализовать?Достаточно создать одну сцену с освещением без модели (или использовать мою). Сохранить её. А затем импортировать в эту сцену новую модель и сохранять как проект B4W под новым именем...
import bpy
import os
me_path = "/home/sungreen/_MODELING/_AUTO_B4W/objs/"
print("start convertz")
for root, dirs, files in os.walk(me_path):
for name in files:
objs = []
if name.endswith('obj'):
print(root,name)
bpy.ops.import_scene.obj(filepath=os.path.join(root, name))
bpy.ops.object.select_all(action='DESELECT')
for obj in bpy.data.objects:
if not obj.name.startswith('SMPP'):
objs.append(obj)
obj.select = True
obj.scale = (0.01, 0.01, 0.01)
bpy.ops.export_scene.b4w_html(filepath=os.path.join(root, name+'.html'))
bpy.data.scenes['Scene'].render.filepath = os.path.join(root, name+'.jpg')
bpy.ops.render.render(write_still=True)
bpy.ops.object.delete()
... вот совсем ленивый вариант в котором ничего руками делать не нужно, кроме копирования obj файлов в каталог и запуска скрипта https://yadi.sk/d/ARnd4QCT3aC82k ...Великолепно! А это будет работать правильно, если заменить obj в кода на stl?
... работает следующим образом:
1) необходимо создать на компьютере папку и выложить в неё все obj модели требуемые для конвертации в html ...
2) открыть в blender файл auto_b4w.blend
3) в окне текстового редактора поправить скрипт, указав в 4 строке путь к obj файлам, у меня me_path = "/home/sungreen/_MODELING/_AUTO_B4W/objs/"
4) запустить скрипт Alt+P или кнопка Run Script
5) искать результаты там же где objs ...
import bpy
import os
me_path = "/home/sungreen/_MODELING/_AUTO_B4W/models/"
print("start convertz")
for root, dirs, files in os.walk(me_path):
for name in files:
objs = []
if name.endswith('obj') or name.endswith('stl'):
print(root,name)
if name.endswith('obj'):
bpy.ops.import_scene.obj(filepath=os.path.join(root, name))
else:
bpy.ops.import_mesh.stl(filepath=os.path.join(root, name))
bpy.ops.object.select_all(action='DESELECT')
for obj in bpy.data.objects:
if not obj.name.startswith('SMPP'):
objs.append(obj)
obj.select = True
s = 4/max(obj.dimensions)
obj.scale = (s,s,s)
bpy.ops.export_scene.b4w_html(filepath=os.path.join(root, name+'.html'))
bpy.ops.export_scene.b4w_json(filepath=os.path.join(root, name+'.json'))
bpy.data.scenes['Scene'].render.filepath = os.path.join(root, name+'.jpg')
bpy.ops.render.render(write_still=True)
bpy.ops.object.delete()
... вот код для обработки stl и obj с авто масштабированием модели ...Супер! Только зачем еще файл текстуры экспортируется и файл .bin?
... в строке s = 4/max(obj.dimensions) можно менять константу, например 4 заменить на 2 (размер стандартного куба по умолчанию) ...Код: pythonimport bpy
import os
me_path = "/home/sungreen/_MODELING/_AUTO_B4W/models/"
print("start convertz")
for root, dirs, files in os.walk(me_path):
for name in files:
objs = []
if name.endswith('obj') or name.endswith('stl'):
print(root,name)
if name.endswith('obj'):
bpy.ops.import_scene.obj(filepath=os.path.join(root, name))
else:
bpy.ops.import_mesh.stl(filepath=os.path.join(root, name))
bpy.ops.object.select_all(action='DESELECT')
for obj in bpy.data.objects:
if not obj.name.startswith('SMPP'):
objs.append(obj)
obj.select = True
s = 4/max(obj.dimensions)
obj.scale = (s,s,s)
bpy.ops.export_scene.b4w_html(filepath=os.path.join(root, name+'.html'))
bpy.ops.export_scene.b4w_json(filepath=os.path.join(root, name+'.json'))
bpy.data.scenes['Scene'].render.filepath = os.path.join(root, name+'.jpg')
bpy.ops.render.render(write_still=True)
bpy.ops.object.delete()