Автор Тема: Изучаю DromEd  (Прочитано 52670 раз)

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

Оффлайн Force

  • Тень
  • Сообщений: 8260
Изучаю DromEd
« Ответ #570 : 05 Октября 2018 10:00:28 »
Оффтопик: Zontik, у меня подобная фигня с утечками памяти. Место нашел, устранил, а всё равно где-то течет и неясно где же еще. Я, правда, тяжелую артиллерию еще не применял, пока решил повременить, вдруг само отыщется :cheesy:, но, возможно, придется. Основные превентивные меры вроде как главную утечку устранили, но продолжает течь 64-битная версия, что странно. 32 вроде успокоилась.

Оффлайн Zontik

  • Призрак
  • Сообщений: 14574
    • Тёмное место
Изучаю DromEd
« Ответ #571 : 05 Октября 2018 10:04:56 »
Оффтопик: Прямо какой-то форум сантехников.
Дайте глазам отдохнуть! Тёмное место

Оффлайн nemyax

  • Мастер Теней
  • Сообщений: 4300
  • Нёмыч
Изучаю DromEd
« Ответ #572 : 05 Октября 2018 11:32:05 »
Оффтопик: Лучше сантехника, чем "притомился" и "дичь".

Оффлайн Maxim

  • Тень
  • Сообщений: 5061
  • AM Creator
Изучаю DromEd
« Ответ #573 : 05 Октября 2018 15:52:32 »
Цитировать
Стало быть надо каким-то образом уменьшить общее количество вершин.
Да нечего там уменьшать! Там полный примитив. По-быстрому накинуты пара стен и пара зданий. Миссия вводная, своего рода промежуточное звено и к ней когда угодно вернуться можно. Иногда заглядываю, пару комнат сделаю и сваливаю. Основные работы идут в других миссиях. Но именно эта зараза и самая странная. Я создавал более комплексные строения, в том числе со всякого рода поворотами кистей, с узкими зазорами, образующимися от, например, делания небольших срезов на краях зданий (буквально одна клеточка при сетке в 11) и не было проблем. А когда они возникали — я сам находил и поправлял свои косяки. А тут на ровном месте! На самом деле я давно уже мог просто переделать, пересобрать там большие кисти пространств или вообще целую область с нуля. Но мне чисто любопытно и принципиально узнать что это за паразит такой завёлся.
Цитировать
но в пределах этой области перепробовал, кажется, всё. И безуспешно.
Во! Ну тоже самое. И ты тоже не один месяц с этим боролся. Кроме разве что этого:
Цитировать
уже точно зная, где находится проблемная область
У меня почему-то эти области "скачут" как на Майдане. То в одном месте, то вообще в другом. Причём цифра одна и та же 2741. Короче, это послание свыше, что в 2741 году настанет Конец Света. Вот так, тафферюги.

Хм... говоришь локализовал участок после расстановки освещения? А как это выглядело, можешь описать? Типа выделялось тенью? А что если создать крупный omni light и пройтись им по потенциальным областям? Прокатит?
У тебя, ты говоришь, всё было выровнено по сетке, да ещё и крупной, но это не помогло. Вот это "с точки зрения движка" меня прикалывает. Пойди пойми какая у него там точка зрения...
Вот ещё такой вопрос. Я — любитель создавать сначала предполагаемое большое пространство, а потом в нём уже накидывать твёрдые/воздушные кисти. Заметил, что бывало ловил такую же ошибку на стыках таких больших кистей. Правда, я устранял их, но всё же... Как вообще движок - любит или не любит подгонку таких больших массивов между собой? В принципе, в Оригинале большие пространства тоже создавались как общие, а потом уже внутри них работали. Да, я понимаю, что такое есть у многих, но в тоже время встречал при просмотре в редакторе такие миссии у людей, где всё как бы "выдолблено в скале" или большие куски поделены на более мелкие и подогнаны друг к другу, образуя большой массив. Интересно, в таком подходе меньше ошибок?
« Последнее редактирование: 05 Октября 2018 16:54:55 от Maxim »
Still they talk anyway
When there's nothing to say
There's so much said in empty words...

Оффлайн nemyax

  • Мастер Теней
  • Сообщений: 4300
  • Нёмыч
Изучаю DromEd
« Ответ #574 : 05 Октября 2018 16:11:16 »
Причём цифра одна и та же 2741.
Цифра одна и та же, потому что ошибка одна и та же. Ты читал, чё я тебе выше ответил про цифру?

Оффлайн Zontik

  • Призрак
  • Сообщений: 14574
    • Тёмное место
Изучаю DromEd
« Ответ #575 : 05 Октября 2018 16:32:51 »
Я не настолько хорошо это помню. И не факт, что это вообще было связано с освещением, просто пока развешивал фонари - смотрел на мир немного под другими углами и более внимательно. Так что не надо ничего делать с освещением специально.
Цитировать
Пойди пойми какая у него там точка зрения...
Ты же знаешь, что движок оперирует координатами центров кистей. А помимо центров у них есть еще и стороны, и вершины, и их положение в пространстве автор с помощью цифр напрямую контролировать не может. А если фигура чуть сложнее параллелепипеда - то и вообще никак не может.
Локализуй, в общем, потихоньку, только не забывай, что проблема может оказаться и в самой большой из кистей, которая даже не входит в область целиком. И еще - в зависимости от проведенной границы области проблемное место может немного скакать туда-сюда.
А могилки с номером 2741, похоже, не будет... Некого там хоронить-то.
Дайте глазам отдохнуть! Тёмное место

Оффлайн Maxim

  • Тень
  • Сообщений: 5061
  • AM Creator
Изучаю DromEd
« Ответ #576 : 05 Октября 2018 16:57:39 »
Я отредактировал своё сообщение выше, если что. Там ещё вопросы.
nemyax Конечно читал. Но кажется ты не о том говоришь. Каждая проблемная зона обладает своим id клетки и писаться может разное число, им соответствующее. Короче, Зонтик в теме. Щас всё разрулит
« Последнее редактирование: 05 Октября 2018 17:01:13 от Maxim »
Still they talk anyway
When there's nothing to say
There's so much said in empty words...

Оффлайн Zontik

  • Призрак
  • Сообщений: 14574
    • Тёмное место
Изучаю DromEd
« Ответ #577 : 05 Октября 2018 18:00:20 »
Maxim, послушай специалиста. Не меня. 2741 - номер строки в программе. Тебе это ничего не дает, если ты только не собираешься переписывать движок.
Насчет подхода - выемка в твердом теле как бы считается более оптимальной для движка. Правда, количество ошибок зависит в основном не от этого, просто при методе строительства в Большой Пустоте чуть повышается (на проценты) вероятность их появления, поскольку увеличивается количество ячеек.
Но чтобы построить хотя бы одну городскую улицу таким методом, нужно какое-то нечеловеческое 3D-мышление.
Поэтому строй как больше нравится, иначе наляпаешь ошибок просто из-за неудобства.
Дайте глазам отдохнуть! Тёмное место

Оффлайн Force

  • Тень
  • Сообщений: 8260
Изучаю DromEd
« Ответ #578 : 05 Октября 2018 18:13:31 »
Maxim
Цитировать
Интересно, в таком подходе меньше ошибок?
Меньше ошибок в "выдалбливании". По крайней мере с точки зрения оптимальности результирующей 3d-модели уровня. Подход с Большой Пустотой он хоть и понятнее для человеческого мышления, чреват избыточностью. Стоит тебе СЛУЧАЙНО допустить микроскопическую брешь между брашами, причем, не исключаю ситуации, что это возможно даже в результате погрешности хранения нецелых чисел в памяти, как сразу же невидимые глазу ВНЕШНИЕ стороны стен начнут обрабатываться движком и участвовать в рендеринге. И влиять на общее количество вершин. Отследить такую утечку крайне сложно, но алгоритмы построения bsp-деревьев это как-то умеют делать, хоть иногда и неточно.

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

Оффлайн Maxim

  • Тень
  • Сообщений: 5061
  • AM Creator
Изучаю DromEd
« Ответ #579 : 05 Октября 2018 18:38:17 »
Сила, спасибо, интересно было почитать. Даже кажется более-менее понятно. Стало быть, лучше поделить Большую Пустоту на секторы? Может тогда легче будет движку? Хотя вообще по логике в итоге всё равно одно количество жрать придётся. Я понимаю если бы (ну просто представим) возможно были паузы. Прожевал (просчитал) кусок, проглотил (отобразил), взял новый. А пауз же нет, всё надо тут же отображать.
Цитировать
скорее всего, ошибка именно в этом - в утечке во вне - слишком много внешних невидимых полигонов
Да мистика в том, что пространства-то не такие уж большие. У меня были куда больше и не было таких проблем с одной и той же ошибкой. Не, ну я там ловил эту извечную ошибку, но устранял проблему.
А по-другому сложно города строить. Это пещеры можно выдалбливать в скале. А как вот построить сеть улиц таким методом я даже не представляю.

Zontik
Что номер строки в программе? И ты туда же ))) Там же ошибка эта извечная "Слишком много вершин Too many vertices ". 2741 это номер области проблемы! Потому что когда в других областях проблемы там другие цифры, а текст такой же! Ты ж сам не первый раз слышишь и сталкиваешься с такой ошибкой. И знаешь, что визуальная локализация идёт через команду бравых CC  ;D
Ладно, я пересоберу короче область эту. Придётся, конечно, дофига заново там расставлять кистей и объектов, но зато одним махом уж. Посмотрим, выживет ли ошибка или нет. Кстати, узнать это можно весьма скоро, потому что эту ошибку тоже ждать не приходится долго. Через пять-шесть портализаций она регуляром вылезала.
« Последнее редактирование: 05 Октября 2018 18:43:17 от Maxim »
Still they talk anyway
When there's nothing to say
There's so much said in empty words...

Оффлайн Zontik

  • Призрак
  • Сообщений: 14574
    • Тёмное место
Изучаю DromEd
« Ответ #580 : 05 Октября 2018 20:49:30 »
Force, а ты уверен? Это все-таки не Doom 3 и не Dark Radiant. Здесь микроскопическая брешь между воздушными бррр... элементами будет означать только то, что они друг с другом не соединяются. Никаких утечек не последует.
Если, конечно, я понял концепцию утечек правильно.
Maxim, в Dark Engine нет понятия "линия" (Line). А в программировании есть. Выводы делай сам.
Цитировать
File: PTDRAWHW.C, Line: 2741
Неужели это можно понять как-то неправильно?
Когда диагностируется проблемная ячейка, про нее так и пишут - cell 2741.
Дайте глазам отдохнуть! Тёмное место

Оффлайн Force

  • Тень
  • Сообщений: 8260
Изучаю DromEd
« Ответ #581 : 05 Октября 2018 21:37:40 »
Zontik, только не воздушными бр... кистями, а твёрдыми. Могу дать совет - заполняйте невидимые области брашами с текстурой неба с очень крупным scale. Прям топите всю эту невидимую геометрию в одном двух таких брашах, они "съедят" всё лишнее. Думаю, это известный совет.

Оффлайн nemyax

  • Мастер Теней
  • Сообщений: 4300
  • Нёмыч
Изучаю DromEd
« Ответ #582 : 06 Октября 2018 00:11:36 »
когда в других областях проблемы там другие цифры, а текст такой же!
В том файле одинаковые куски кода с таким сообщением в нескольких местах.

Оффлайн Soul_Tear

  • Мастер Теней
  • Сообщений: 4511
Изучаю DromEd
« Ответ #583 : 10 Октября 2018 23:41:43 »

Что я только ни делал  — периодически всё равно появляется. Введёшь команду cc 2741, получаешь белым выделением якобы проблемную область. Тыщу раз всё проверишь, переделаешь, убедишься, что всё прилепляется к сетке как положено  (да и размер там 13, а это более чем нормально), никаких мелких зазоров нет, оптимизируешь и вроде всё хорошо. До какой-то поры. Пройдёт время, и в какой-то момент снова бац, и та же самая хреновина. Вот только после cc 2741 получаешь подсвечиванием совсем другую область! (хоть и располагающуюся недалеко). 
This drivin' me crazy!  :confused1:
(на скриншоте выделение это не то; это просто выделен был куб в момент скрина)
Наверное я этому злополучному числу 2741 поставлю памятник-пасхалку там где-нить.
А лучше наверное могилку! Точно. Когда и если решу эту хрень.

Цифры не то, о чем надо думать. В сообщении все четко сказано - "слишком много вершин", их у тебя видно невооруженным глазом. Возможно, дело не в количестве в целом на уровне, а в ячейке, в видимой сцене. Спрячь нижние вершины ступенек лестницы в клин/куб, если она висит в воздухе. Если лестница прилегает к стене, убедись, что там нет щели. Вершины с наружной/внешней стороны ступенек можно спрятать в длинный куб: его нижний край убрать в пол, а верхний срезать воздушным клином. Я такую ошибку ловлю, увлекаясь балками, выходящими из стены на улицу, что под потолком первого каменного этажа средневековых зданий.

Лестницы можно замоделить со смещенным центром, а внутрь спрятать плоский куб. И ГГ и НПЦ будут ходить по ним без проблем. Экономия ресурса колоссальная. Только лайтмапы красиво не лягут. Но если в таком помещении темно или приглушенный свет, сойдет.
« Последнее редактирование: 10 Октября 2018 23:48:03 от Soul_Tear »
Сейчас играю в Darkest Dungeon

Оффлайн Soul_Tear

  • Мастер Теней
  • Сообщений: 4511
Изучаю DromEd
« Ответ #584 : 10 Октября 2018 23:54:41 »
Вообще вершинная ошибка безобидная. Редактор от нее не падает, как раньше. Я просто отменяю сообщение. В игре тоже ничего не происходит. Но лучше исправить :)
Сейчас играю в Darkest Dungeon