20 Мая 2024, 09:44:36
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Навигация по форуму







guest3d
Quest3D - Русскоязычное сообщество > Quest3D > Визуализация, Шейдеры > У меня такая проблемА.! Надо визуализировать посёлок
У меня такая проблемА.! Надо визуализировать посёлок
(Прочитано 9050 раз)
  [1]
Печать
cyop | * | Новичок | Сообщений: 7 | « 09 Ноября 2011, 21:46:45 »
У меня такая проблемА.! Надо визуализировать посёлок |
0
привет всем.
Стоит такая задача, мне надо сделать 3д модель будущего посёлка, состоящих в основном из однотипных домов.
Я подумал что дело будет проще используя NatureGenerator, одну модельку привязал, и расплодил.
Сделал модель дома как один объект.
Но не тут то было.
Неучел того что, объекты разделяются при экспорте,както.
Допустим в максе нужные полигоны разделил на разные ID и у них разные материалы. И по этим же id они внутри объекта разделились на кучу каналов.

И когда привязываешь все каналы к NatureGenerator и начинаешь рисовать то рисуется только каркас здания.

Как можно это решить?
Либо придётся сделать модель без никаких айди с одной текстурой Непонимающий
Alteste | *** | Постоялец | Сообщений: 224 | «Ответ #1 09 Ноября 2011, 22:46:19 »
Re: У меня такая проблемА.! Надо визуализировать посёлок |
1
Делаешь клоны своих домов в максе с инстансом и экспортируешь в квест с опцией Separate objects with instansing
Для материала - сделай единую текстуру для всего дома
Sqwer | ***** | Ветеран | Сообщений: 540 | «Ответ #2 10 Ноября 2011, 02:00:46 »
Re: У меня такая проблемА.! Надо визуализировать посёлок |
2
Для начала нужно посмотреть какого качества эти домики должны быть. (может ты гулять будешь  по улицам, а быть может будет вид только с высоты птичьего полёта).

Варианты решения:
1) как верно подметил Альтест, можно заделать одну большую текстуру на элементы домиков и их использовать (метод назается атласингом). Жаль если только придётся гулять по улачкам -  текстуры не хватит. (текстура 9К*9К не подойдёт - будут жестокие тормоза из-за кэш миса текстуры, что особенно актуально для карт предыдущих поколений).


2) Не забываем, что Иесус дал возможность программировать на Квесте или собирать каналы для него.

2а) Вытягиваем данные элементов (матрица трансформации) из найчура и гоним их в рендер массив сцены. (вот вам и возможность любой гибкой работы с шейдерами, вот вам профит при рассаживании найчуром).

2б) Пишим канал на С++  (можно и на CLR и на CRT) и радуемся.

P.S. А вообще, посёлок это много кв.км -> много дипов.
так что лучше всё собрать по батчам, а то ФПСу не обрадуетесь. (в ДХ9ке нет константных буферов, и смена контента для шйдеров происходит весьма дорого)

Если не хочется выполнять что-либо из пункта 2, то для вас есть менее производительный рендер Юнити. (только есть одна не очень приятная особенность, пусть ФПС там и достойный, но вот переодично всё подтормаживает из-за чистильщика мусора).
« Последнее редактирование: 10 Ноября 2011, 02:17:57 от Sqwer »
Ruslan | ***** | Ветеран | Сообщений: 664 | «Ответ #3 10 Ноября 2011, 02:18:50 »
Re: У меня такая проблемА.! Надо визуализировать посёлок |
3
домики бывают разные Улыбающийся
детализированные по 20-30 тысяч тринглов, а бывают боксы «лол-поли», если примитивные, то лучше сшить их в один мешь.
если же детальные, то стоит посмотреть на загрузчик Collada
cyop | * | Новичок | Сообщений: 7 | «Ответ #4 15 Ноября 2011, 17:03:44 »
Re: У меня такая проблемА.! Надо визуализировать посёлок |
4
Спасибо!
ещё один вопрос возник
сделал генплан, очертания участков - как один объект, а улицы, т.е. асфальт другой объект, и их приложил близко друг к другу, оказывается на обзоре из далека, рендер как то глючит и все друг на друга налаживается и мерцает. А при близком осмотре всё замечательно и глюков нет, а на этой цене вид из далека очень важен.
Получается их тоже надо объединить в один меш, и исключить те полигоны которые друг на друга налаживаются ?
Либо есть какой нить другой вариант попроще?

* 124543.jpg (161.89 Кб, 1026x466 - просмотрено 1566 раз.)
Ruslan | ***** | Ветеран | Сообщений: 664 | «Ответ #5 15 Ноября 2011, 18:47:55 »
Re: У меня такая проблемА.! Надо визуализировать посёлок |
5
cyop
В данном случае есть три решения:
- подкрутить Near\Far clipping plane distance у камеры (тут все зависит от масштаба сцены)
- написать свой шейдер для так называемой "декали" с учетом альфа блендинга и альфа канала плейн(тот что сверху будет, в вашем случае генплан) смешивается при рендеринге с бэк-буфером
- порезать геометрию ландшафта и генплана таким образом, чтобы треугольники у этих мешей не пересекались.
Sqwer | ***** | Ветеран | Сообщений: 540 | «Ответ #6 16 Ноября 2011, 10:18:27 »
Re: У меня такая проблемА.! Надо визуализировать посёлок |
6
cyop
Советую Вам прочесть книжку Френка Луны про директ. Там всё очень ёмко описано по принципам работы Direct3D.

Кроме того следует уяснить, что квест - это не движок. Это скорее сильный фремворк с нодным графическим скрипт языком.


То теме:
// техника декалей
technique blendAlphaDecal
{
   pass P0
    {
      VertexShader = compile vs_3_0 v();
      ZEnable = true;
      ZWriteEnable = false;
      
                // порядок обходавершин
      CullMode = ccw;
      
                // смещение по глубине
      DepthBias = -0.0000001;
                // угловая градиентная компенсация смещения по глубине
      SlopeScaleDepthBias = -1.00;
      
      ShadeMode = Gouraud;
      AlphaBlendEnable = false;
      AlphaTestEnable = FALSE;
      PixelShader = compile ps_3_0 f();
   }

}

ИНТЕРЕСУЮЩИЕ СТРОКИ:
DepthBias и SlopeScaleDepthBias

Без расширений в Квесте эти параметры DepthState'а можно применить только в шейдерах.
« Последнее редактирование: 16 Ноября 2011, 10:21:09 от Sqwer »
Alteste | *** | Постоялец | Сообщений: 224 | «Ответ #7 16 Ноября 2011, 12:24:51 »
Re: У меня такая проблемА.! Надо визуализировать посёлок |
7
Ну вообще то не "налаживаются", а накладываются и этот эффект называется Z-Fighting http://en.wikipedia.org/wiki/Z-fighting
cyop | * | Новичок | Сообщений: 7 | «Ответ #8 20 Ноября 2011, 13:16:23 »
Re: У меня такая проблемА.! Надо визуализировать посёлок |
8
спасибо
не смог нормально сделать анврап и рендертутекстуре, поэтому текстура с альфа каналом никак немогла нормально леч на нижний полигон, пришлось по трудному пути пойти.
 
  [1]
Печать
 
Quest3D - Русскоязычное сообщество > Quest3D > Визуализация, Шейдеры > У меня такая проблемА.! Надо визуализировать посёлок
Перейти в: