Автор Тема: Рендер без теней  (Прочитано 528 раз)

0 Пользователей и 1 Гость просматривают эту тему.

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

  • Житель
  • emerge --keep-going
Re: Рендер без теней
« Ответ #15 : 11 Август 2018, 13:17:51 »
демка b4w -  https://sungreen.github.io/projects/model_b4w/model_b4w.html

ссылка на проект с настройками blend-файла https://github.com/sungreen/sungreen.github.io/tree/master/projects/model_b4w

Оффлайн EZRA

  • Житель
Re: Рендер без теней
« Ответ #16 : 13 Август 2018, 08:09:59 »
Увы, у меня не установлен B4W, но где-то так примерно...
Блин, круто, а можно такое без расставления света реализовать?
... поэтому уточни что именно клиент веба должен сделать с моделью/моделями ...
... в целом задачи автоматизации в blender решаются достаточно незатратно, как минимум: автоматический групповая конвертация всех obj-файлов из указанного каталога в blend-файлы (уже обсуждалась),и вторая задача генерация из полученных моделей b4w проекты тоже в принципе реализуемо, но обычно дефолтный b4w проект - это одна страница с одной сценой, а что на самом деле тебе нужно от веба ты не пояснил ...
... требуется (как обычно) хорошая постановка задачи ...
Веб клиент будет видеть веб-страницу с 3д моделью и какими-то описаниями. (модель и текст) Веб клиенту, кроме как посмотреть, покрутить модель ничего не нужно. https://www.blend4web.com/ru/develop_article/55 примерно как указано здесь в 2-ом способе. Из автоматизации нужно хотя бы просто быстрый экспорт html страницы.
... кстати, а как эта модель загружалась в b4w - через создание нового проекта или просто импортом obj-файла в blender? ...
... для "смягчения теней" можно на вкладке  World редактора свойств активного объекта в секции Environment Lighting активизировать свет, исходящий из окружающей среды и установить силу воздействия в пределах 0.5 ...
... в дефолтных проектах это уже сделано, но там стоит сила 0.2 и еще небо рендерится ...
Загружалась импортом .stl файла через blend4web плагин.
Попробовал настройки "для смягчения теней". Вид примерно такой же, как и в предыдущих попытках. Скрины во вложении, названы по силе энергии света.
демка b4w -  https://sungreen.github.io/projects/model_b4w/model_b4w.html

ссылка на проект с настройками blend-файла https://github.com/sungreen/sungreen.github.io/tree/master/projects/model_b4w
Да круто, только у него еще текстуры накладываются, а для нас это еще действие. Достаточно эффекта как у Samovar'a. Нужна схема мини-конвеера, загрузил, минимум тыков и экспортировал.

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

  • Житель
  • emerge --keep-going
Re: Рендер без теней
« Ответ #17 : 13 Август 2018, 13:39:51 »
>> Нужна схема мини-конвеера, загрузил, минимум тыков и экспортировал.
... выложи для теста ещё пяток моделей ...

Оффлайн EZRA

  • Житель
Re: Рендер без теней
« Ответ #18 : 13 Август 2018, 15:25:09 »
>> Нужна схема мини-конвеера, загрузил, минимум тыков и экспортировал.
... выложи для теста ещё пяток моделей ...
Как уже говорил дали лишь одну модель.
Увы, у меня не установлен B4W, но где-то так примерно...
Я попробовал удалить модель и попробовал заново импортировать. Импортировалась старая модель в другом положении и размере, однако при экспорте выглядит все нормально. Какова вероятность того, что мы возьмем этот исходик и начнем лепить так по всем нашим моделям, и освещения хватит на все?

Оффлайн Samovar

  • Житель
Re: Рендер без теней
« Ответ #19 : 13 Август 2018, 16:46:23 »
Цитировать
Блин, круто, а можно такое без расставления света реализовать?

Достаточно создать одну сцену с освещением без модели (или использовать мою). Сохранить её. А затем импортировать в эту сцену новую модель и сохранять как проект B4W под новым именем...
Рутина... но, думаю, что всё можно автоматизировать, даже чтобы прога имитировала ваши действия, поочерёдно конвертируя файлы из списка... сам не пробовал...
Вот штуковина для таких вещей: http://www.xstarter.com/rus/index.php
Вероятно, это возможно организовать и через командные файлы операционной системы, но я не системщик, и мало соображаю в написании BAT и CMD командных файлов, потому выложил ссылку на прогу... Просто, подаю идею...
Кстати, а сколько моделей надо таким образом запихнуть в B4W?
 

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

  • Житель
  • emerge --keep-going
Re: Рендер без теней
« Ответ #20 : 13 Август 2018, 19:45:16 »
... импортировать модель можно в один файл, а настройки сцены можно сделать в другом файле и слинковать модели ...
... если потом подменить файл с моделью на другую модель, то сохранение в b4w будет уже с новой моделью ...

импортированный объект: https://yadi.sk/d/rJ4Ii_s83aC29Q
сцена с освещением: https://yadi.sk/d/jbeoxF5u3aC29G
html контейнер: https://yadi.sk/d/jbeoxF5u3aC29G


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

  • Житель
  • emerge --keep-going
Re: Рендер без теней
« Ответ #21 : 13 Август 2018, 20:56:14 »
... вот совсем ленивый вариант в котором ничего руками делать не нужно, кроме копирования obj файлов в каталог и запуска скрипта https://yadi.sk/d/ARnd4QCT3aC82k ...
... работает следующим образом:
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 ...




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

  • Житель
  • emerge --keep-going
Re: Рендер без теней
« Ответ #22 : 14 Август 2018, 03:03:46 »
... добавил в код ренден превью изображение модели, теперь автоматически все obj-модели из каталога конвертируются в html и при этом создаётся картинка для каждой модели ...

Код: python [Выделить]
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()

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

  • Житель
  • emerge --keep-going
Re: Рендер без теней
« Ответ #23 : 14 Август 2018, 07:20:08 »
>> примерно как указано здесь в 2-ом способе. Из автоматизации нужно хотя бы просто быстрый экспорт html страницы.
... насколько понял для второго варианта нужен еще и json ...
... вот файл со скриптом, который автоматически делает html, json, jpeg ...
https://yadi.sk/d/Xg1fOywY3aCfgM

Оффлайн EZRA

  • Житель
Re: Рендер без теней
« Ответ #24 : 14 Август 2018, 08:28:30 »
... вот совсем ленивый вариант в котором ничего руками делать не нужно, кроме копирования obj файлов в каталог и запуска скрипта https://yadi.sk/d/ARnd4QCT3aC82k ...
... работает следующим образом:
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 ...
Великолепно! А это будет работать правильно, если заменить obj в кода на stl?

Оффлайн Samovar

  • Житель
Re: Рендер без теней
« Ответ #25 : 14 Август 2018, 08:35:04 »
Оффтоп:
EZRA, надеюсь, вы не пожалеете небольшую сумму денег на хостинг форума...
Осенью у нас снова и опять начнётся "плачь Ярославны"... да и админу нужна материальная мотивацая, а то он совсем приуныл...

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

  • Житель
  • emerge --keep-going
Re: Рендер без теней
« Ответ #26 : 14 Август 2018, 20:38:51 »
>> А это будет работать правильно, если заменить obj в кода на stl?
... да, если корректно внести изменения, то по stl файлам код также пробежится ...
... там может быть вопрос по соизмеримому для просмотра масштабированию модели, но для этого нужно проанализировать больше чем одна предоставленная модель ...

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

  • Житель
  • emerge --keep-going
Re: Рендер без теней
« Ответ #27 : 15 Август 2018, 06:50:39 »
... вот код для обработки stl и obj с авто масштабированием модели ...
... в строке s = 4/max(obj.dimensions) можно менять константу, например 4 заменить на 2 (размер стандартного куба по умолчанию) ...
Код: python [Выделить]

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()

Оффлайн EZRA

  • Житель
Re: Рендер без теней
« Ответ #28 : 15 Август 2018, 07:39:39 »
... вот код для обработки stl и obj с авто масштабированием модели ...
... в строке s = 4/max(obj.dimensions) можно менять константу, например 4 заменить на 2 (размер стандартного куба по умолчанию) ...
Код: python [Выделить]

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()

Супер! Только зачем еще файл текстуры экспортируется и файл .bin?

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

  • Житель
  • emerge --keep-going
Re: Рендер без теней
« Ответ #29 : 15 Август 2018, 13:35:04 »
>> зачем еще файл текстуры экспортируется и файл .bin?
... текстура для окружающего света чтобы не так скучно было, удали если не нужна ...
... а про bin написано в доке к аддону https://www.blend4web.com/doc/ru/addon.html#json ...

 

* По форуму

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

untitled.jpg
Скачано: 7
Автор: Samovar
17.jpg
Скачано: 13
Автор: nilsen71
15.jpg
Скачано: 9
Автор: nilsen71
12.jpg
Скачано: 11
Автор: nilsen71
11.jpg
Скачано: 14
Автор: nilsen71