Blender

Автор LongShad, 18 июля 2011 23:13:52

« назад - далее »

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

nemyax

Цитата: Scrp007 от 25 января 2019 00:28:11
А к примеру детализированную модель парового робота смогёт?
Да любую модель чего угодно смогёт, если замоделишь.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Scrp007

Понятно. Ну тогда будем пробовать.
На свете так устроено — правильный путь сначала кажется неправильным. Чтобы испытать нашу веру.

Soul_Tear

Требуется изменить код скрипта export_fbx.py для экспорта Лодов в Unreal, пост как это сделать:
https://forums.unrealengine.com/community/community-content-tools-and-tutorials/119508-cyaoeu-s-bag-of-blender-tricks

"Adding support for static mesh LOD export in Blender

Credits to Pavel Křupala for this method. Blender does not have LOD support for UE4 by default but this can be added easily. This method will allow you to create an Empty object named "LOD_(objectnamehere)" which you parent your static meshes to and end up with a single LODed static mesh in UE4.

We'll accomplish this by editing the binary FBX exporter in Blender. You can find that in BlenderFolder\2.78\scripts\addons\io_scene_fbx, there's a file called export_fbx_bin.py which is what you want. First save a duplicate of the file if anything goes wrong, then edit the file by searching for the row:
Code:"

null.add_string(fbx_name_class(empty.name.encode(), b"NodeAttribute"))

Comment out the line
null.add_string(b"Null")

by adding a # before it so it looks like this:
#null.add_string(b"Null")

Then paste this:
Code:
if empty.parent is None and empty.name.startswith("LOD"):
    null.add_string(b"LodGroup")
else:
    null.add_string(b"Null")


The if line should line up with the previous line. "

Не понял этого момента:

ЦитироватьThe if line should line up with the previous line.

То есть так?
Цитировать#null.add_string if empty.parent is None and empty.name.startswith("LOD"):
    null.add_string(b"LodGroup")
else:
    null.add_string(b"Null")

Или так?
Цитировать#null.add_string
if empty.parent is None and empty.name.startswith("LOD"):

    null.add_string(b"LodGroup")
else:
    null.add_string(b"Null")

И по этой части не понял. Куда нижний код пихать? В тот же скрипт под предыдущими строчками?

"If Blender was open close it and open it again. Next in Blender create an Empty object and name it LOD_(objectnamehere). The important thing is that it has LOD in the beginning of the name. Next you need to parent your objects to this Empty. Note that the order you parent the objects is important, parenting them all at once won't necessarily work. Parent the objects one at a time, starting with LOD0, after that LOD1 and so on. The order in which you parent these objects will have an effect on the final LOD ordering in UE4.

Then export the objects (including the empty) and you should up with a single static mesh with LODs. That's it!


Here's a simple script to create the empty and parent everything automatically. It assumes you're naming things with _LOD0, _LOD1, _LOD2 suffixes in the object names."


import bpy

flip = 0                                                         
empty = bpy.data.objects.new("empty", None)
bpy.context.scene.objects.link(empty)
for obj in bpy.context.selected_objects:
    if obj.name.endswith("_LOD0"):
        LOD0 = obj
    if obj.name.endswith("_LOD1"):
        LOD1 = obj
    if obj.name.endswith("_LOD2"):
        LOD2 = obj
splitname = LOD0.name.split("_")
empty.name = "LOD_" + splitname[0]
bpy.ops.object.select_all(action='DESELECT')
LODArray = [LOD0, LOD1, LOD2]
for LOD in LODArray:
    LOD.select = True
    bpy.context.scene.objects.active = empty
    bpy.ops.object.parent_set()
    bpy.ops.object.select_all(action='DESELECT')



Soul_Tear

Yulia, чего-то пропустил вопрос :) Именно это и имел в виду, №1 - так нельзя. А ты что персонажа делаешь для Вора?

nemyax

Soul_Tear
В питоне блоки инструкций задаются отступами. И в пределах одного блока не надо смешивать отступы пробелами и табами.
Попробуй такое:

if empty.parent is None and empty.name.startswith("LOD"):
    null.add_string(b"LodGroup")
else:
    null.add_string(b"Null")
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Yulia

Цитата: Soul_Tear от 26 января 2019 23:45:28
Yulia, чего-то пропустил вопрос :) Именно это и имел в виду, №1 - так нельзя. А ты что персонажа делаешь для Вора?
Спасибо. Я хотела дотюнить до подходящего состояния уже готового своего персонажа. Сделать обычного нпц для обучения. То что лупа посреди не должно быть новая для меня тема.
Co zanadto to nje zdrawo

Soul_Tear

nemyax, спасибо!

Цитата: Yulia от 30 января 2019 12:08:56
То что лупа посреди не должно быть новая для меня тема.

Больше похоже на особенность дурацкой утилиты-конвертора, который крашится чуть ли не по любому поводу.
Также полигонов должно быть не более 1800.

nemyax

Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Soul_Tear

Сдунем пыль. Интересно, почему нельзя пройти сквозь модель? Кручу колесико мыши, чтобы попасть внутрь модели: при приближении к нужному фейсу скорость замедляется, и в какой-то момент дальше нельзя продвинуться. Так бывает с большими объектами

Кстати, Р Соул говорит, что возникли какие-то проблемы с экспортером 2.80

nemyax

Soul_Tear
Да, скорость наезда снижается при приближении к опорной точке облёта. Выделяй нужные элементы и фокусируйся сразу (точка на кейпаде), либо используй режим полёта (Shift + f).

Цитата: Soul_Tear от 09 июня 2019 14:58:41
возникли какие-то проблемы с экспортером 2.80
Я под 2.80 не адаптировал ещё.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

nemyax

Blender 2.80 близко-близко, и сердце бьётся, как олень. Расскажите, как вы готовитесь к главному релизу 2019 года. Не сдерживайтесь.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Force


Glypher

...only we know the secrets of the Glyphs...only we know the truth... - Keeper Archives

"To shape a glyph is to shape History." - Caduca

Force

Glypher
Круто! Интересно, а станет ли им удобнее пользоваться в результате? В том смысле, что расчешут ли интерфейс эргономически? Или там и так всё запредельно удобно?

Glypher

Как я понимаю, в 2.80 будет новый интерфейс, но вот насколько он окажется лучше/удобней предыдущего, это надо у nemyax'а спросить.
...only we know the secrets of the Glyphs...only we know the truth... - Keeper Archives

"To shape a glyph is to shape History." - Caduca