Blender

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

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

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

Soul_Tear

 
Цитата: nemyax от 18 января 2016 12:01:32

Оператор Make Normals Consistent (Ctrl+Alt+N или в T-панели Normals: Recalculate на вкладке Shading/UVs).

Сначала надо выделить полигон? И как включить отображение затенения? А то не видно, что происходит после использования предложенных способов.

nemyax

Цитата: Soul_Tear от 18 января 2016 20:28:31
Сначала надо выделить полигон?
Естественно. Желательно все полигоны в куске.

Цитата: Soul_Tear от 18 января 2016 20:28:31
как включить отображение затенения?


Как включать отображение нормалей, ты вроде знаешь.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Soul_Tear

В этом режиме ничего странного не вижу:


Может дело в чем-то другом? Объект обрабатывался BSP, там куча лишних ребер.

nemyax

Цитата: Soul_Tear от 19 января 2016 17:06:48
Объект обрабатывался BSP, там куча лишних ребер.
Тогда для начала выдели все вершины и сделай пробел, Remove Doubles. А потом уже пересчитай нормали.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Soul_Tear

#379
Что это за баг, и как исправить? :(
https://drive.google.com/file/d/0B6Xov5E0HZFsTU5uaE1Vc0FsR0U/view?usp=sharing
https://drive.google.com/file/d/0B6Xov5E0HZFsd1Q5UjlIOWNKRzA/view?usp=sharing

Это саркофаг для Зонтика (не буквально) :biggrin:


nemyax

Попробуй потреуголить для начала. Если останутся баги освещения, подраздели помельче.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Soul_Tear

Есть хорошая ванна LarryG с горизонтальной трубой. Я повернул ее вниз, однако после экспорта модель стала такой:


Удалил двойные вершины - получилось такое:


Это можно исправить? Я имею в виду, не перекраивать все, и а еще как-нибудь?

Soul_Tear

Цитата: nemyax от 29 января 2016 21:25:02
Попробуй потреуголить для начала. Если останутся баги освещения, подраздели помельче.

Там изначально были треугольники, я решил удалить все лишние ребра...

Soul_Tear

И как это "потреуголить"? Разрезать по диагонали методом тыка?

nemyax

Цитата: Soul_Tear от 29 января 2016 21:27:59
Это можно исправить? Я имею в виду, не перекраивать все, и а еще как-нибудь?
Подозреваю, что честный ответ — "перекраивать", но всё равно дай файл посмотреть.

Цитата: Soul_Tear от 29 января 2016 21:29:27
Там изначально были треугольники, я решил удалить все лишние ребра...
Ну у чудо-движка проблемы с наложением текстур на не-треугольники.

Цитата: Soul_Tear от 29 января 2016 21:31:55
И как это "потреуголить"?
Хотя бы выделить и пробел, Triangulate.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Soul_Tear

Цитата: nemyax от 29 января 2016 21:54:23
Подозреваю, что честный ответ — "перекраивать", но всё равно дай файл посмотреть.

Вот исходный bin: https://drive.google.com/file/d/0B6Xov5E0HZFsZXJRZlVkREpUSnc/view?usp=sharing
А это импорт в Блендер отредактированной модели: https://drive.google.com/file/d/0B6Xov5E0HZFselVTVjlFOXJIRFU/view?usp=sharing

Со вторым скрином разобрался, надо было нормали перевернуть. Я только не понял, почему получилась каша, как на первом скрине.

Цитата: Soul_Tear от 29 января 2016 21:31:55
Хотя бы выделить и пробел, Triangulate.

Помогло местами, буду треуголить дальше. Вообще, какова причина данного бага?

nemyax

Цитата: Soul_Tear от 30 января 2016 02:21:22
Я только не понял, почему получилась каша, как на первом скрине.
Там нагромождение полигонов по одним и тем же вершинам. Ты можешь после импорта почистить это дело вот таким скриптом:

import bpy, bmesh

lookup = {}
mesh = bpy.context.object.data
bm = bmesh.from_edit_mesh(mesh)
for f in bm.faces:
    co0 = [v.co[:] for v in f.verts]
    co0.sort()
    co = tuple(co0)
    if co in lookup:
        lookup[co] = lookup[co] + [f]
    else:
        lookup[co] = [f]
for a in lookup:
    bmesh.ops.delete(bm, geom=lookup[a][1:], context=3)
bmesh.ops.remove_doubles(bm, verts=bm.verts, dist=0.001)
bmesh.update_edit_mesh(mesh)

Запускать в блендерном текстовом редакторе. Модель должна при этом быть в edit mode.
Останется пара крупных полигонов по бокам, ты их заметишь по z-файтингу. Удали их рукой. Потом  упорядочь нормали.
Чтобы сделать чашу двусторонней, клонируй её полигоны и разверни им нормали.

Цитата: Soul_Tear от 30 января 2016 02:21:22
какова причина данного бага?
Плохая интерполяция текстурных координат. Dark Engine не единственный движок с таким отстоем. В оригинальной кваке вроде тоже проявлялось.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Soul_Tear

Запустил скрипт - получил такое сообщение:


Цитата: nemyax от 30 января 2016 15:52:38
Плохая интерполяция текстурных координат.

Текстура криво надета? Замечаю это только на своих моделях.

nemyax

Весь скрипт скопируй, а не наиболее полюбившиеся строчки.
Цитата: Soul_Tear от 30 января 2016 17:09:16
Текстура криво надета? Замечаю это только на своих моделях.
Текстура надета нормально, но рендерит её движок криво. Такого предостаточно и на штатных моделях.
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Soul_Tear

Эти щели - баг движка? Они образуются на ребрах между полигонами, лежащими в одной плоскости. Как исправить?




Кстати, полигоны, у которых нормали не перевернуты, влияют на производительность?
Цепь одного чела (Dale), на внутренных полигонах нормали не перевернуты.
http://spirited-tech.com/thief/wp-content/uploads/2016/01/DLchains.jpg

Вчера, играя в свой любимый Дисхоноред, заметил, что и там тоже самое.

А это следовало спросить давно, но лучше поздно, чем никогда. Как разместить модель в центре сетки (как в А8 Locate > Center about Origin)?