HLFX.Ru Forum Страницы (32): « Первая ... « 19 20 21 22 [23] 24 25 26 27 » ... Последняя »
Показать все 479 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Наши проекты (https://hlfx.ru/forum/forumdisplay.php?forumid=1)
-- XashNT: блог разработчика (https://hlfx.ru/forum/showthread.php?threadid=6097)


Отправлено FiEctro 31-10-2024 в 18:18:

Дядя Миша

Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено (_-=ZhekA=-_) 31-10-2024 в 20:04:

FiEctro
А где ссылка и скрины?

__________________
Kiss my ass if you don't like my Ford!
------------------------------------------
Game Area51 Update 1
First Person Shooter Released Jul 24, 2017
The game is a 3d shooter with the elements of the quest.

http://button.moddb.com/download/medium/125531.png


Отправлено Дядя Миша 01-11-2024 в 06:12:

(_-=ZhekA=-_) это только для бетатестеров

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено (_-=ZhekA=-_) 01-11-2024 в 06:53:

Цитата:
Дядя Миша писал:
(_-=ZhekA=-_) это только для бетатестеров

Я не совсем понял, это бета тест чего, ксаша, юнити?

__________________
Kiss my ass if you don't like my Ford!
------------------------------------------
Game Area51 Update 1
First Person Shooter Released Jul 24, 2017
The game is a 3d shooter with the elements of the quest.

http://button.moddb.com/download/medium/125531.png


Отправлено FiEctro 01-11-2024 в 07:20:

(_-=ZhekA=-_)
Ксаша, демки на других движках тоже могут быть как пример для сравнения.
Работает примерно так:


Но моя демка попроще, там просто карта из первой кваки без текстур.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено FiEctro 01-11-2024 в 12:13:

У меня кстати такой вопрос по дереву. Вот мы сортируем числа исходя больше они или меньше. Но что если на вход поступает равное число? На какую ветку его расположить и почему? Ведь ветки для равенства у нас нет.
https://alxgk.ru/uploader/img/ee520b63f2a5fe45b72e988213e41ceb.png

И отсюда вытекает другой вопрос, что если полигон лежит параллельно секущей плоскости? Куда он пойдёт? Учитывать нормаль?

Что если 1 вертекс полигона лежит на другой стороне плоскости?

Что если 2 вертекса на разных сторонах плоскости, а третий на ней?

Какие ещё комбинации я забыл упомянуть?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ZGreen 01-11-2024 в 13:34:

Как это у тебя с вертексами получилось такое измыслить? По геометрии что было в школе?


Отправлено FiEctro 01-11-2024 в 13:46:

Цитата:
ZGreen писал:
Как это у тебя с вертексами получилось такое измыслить? По геометрии что было в школе?



Когда учителя хорошие были пятерки, но раньше у нас геометрию вела злючая и жирная математичка с мерзким голосом. Баб она била тряпкой для доски по таблу, а мне однажды поставила ноль по алгебре когда я не принёс домашнее задание. Ещё у нас химичка такая же свиноматка была, мы ей кнопок на стул положили, а она даже не почувствовала.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 01-11-2024 в 14:44:

Цитата:
FiEctro писал:
Вот мы сортируем числа исходя больше они или меньше

Погоди постой, ты меня не путай. Если речь про бинарный поиск, то все числа в массиве должны быть уникальные. Нельзя чтобы в массиве было две пятёрки, очевидно же. Иначе бинарный поиск сломается.

Цитата:
FiEctro писал:
И отсюда вытекает другой вопрос, что если полигон лежит параллельно секущей плоскости? Куда он пойдёт? Учитывать нормаль?

Параллельно или лежит прям на ней? Это важно. Если прям на этой же плоскости, то они все на этой ноде как раз и останутся. Но будут сверху обрезаны иерархией дерева. А если просто параллелен, то не имеет значения. Ну и да, нормаль тоже учитывается, хотя это и не обязательно.

Только вот причём тут вертексы-то вообще? Мы когда строим дерево вертексами не опирируем, только плоскостями.

Цитата:
FiEctro писал:
мы ей кнопок на стул положили, а она даже не почувствовала

Интересный опыт.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 01-11-2024 в 15:28:

Цитата:
Дядя Миша писал:
Погоди постой, ты меня не путай. Если речь про бинарный поиск, то все числа в массиве должны быть уникальные. Нельзя чтобы в массиве было две пятёрки, очевидно же. Иначе бинарный поиск сломается.


Тогда смысл от такого поиска ?

Цитата:
Дядя Миша писал:
Параллельно или лежит прям на ней? Это важно.


На ней.

Цитата:
Дядя Миша писал:
Только вот причём тут вертексы-то вообще? Мы когда строим дерево вертексами не опирируем, только плоскостями.


Я с этими плоскостями запутался, я всегда считал что они используются просто как условие чтобы отфильтровать лишние полигоны. Но тут получается плоскость фильтрует плоскости? Какой в этом смысл? Да и вот две пересекающиеся бесконечные плоскости, как определить по какую сторону лежит пересекающая если она бесконечная? Всё это звучит как абсурд.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Crystallize 02-11-2024 в 01:31:

Цитата:
FiEctro писал:
Что если 1 вертекс полигона лежит на другой стороне плоскости?

как это вообще


Отправлено ZGreen 02-11-2024 в 03:46:

Цитата:
FiEctro писал:
как определить по какую сторону лежит пересекающая если она бесконечная?

Пересекающая, по какую-то сторону? Тут нет ли опечатки?


Отправлено Дядя Миша 02-11-2024 в 05:18:

Цитата:
FiEctro писал:
Тогда смысл от такого поиска

У тебя в уровне все полигоны уникальные. Иначе бы они схлопнулись в один треугольник.

Цитата:
FiEctro писал:
На ней.

ну значит будет лежать на этой ноде.

Цитата:
FiEctro писал:
я всегда считал что они используются просто как условие чтобы отфильтровать лишние полигоны

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

Цитата:
FiEctro писал:
как определить по какую сторону лежит пересекающая если она бесконечная?

Да элементарно. Для построения дерева используются только позитивные плоскости, вот как раз чтобы не запутаться где у тебя лево, а где право.
То есть у полигона может быть какая угодно плоскость, но функция, которая генерирует плоскости по трём точкам создаёт ДВЕ плоскости, позитивную и негативную. И располагает их в массиве таким образом, чтобы позитивная усихда была чётной. Это важный момент, про который обычно никто не упоминает почему-то.

Добавлено 02-11-2024 в 08:18:

Ну и да, плоскость плоскостью разрезать невозможно, очевидно. Поэтому из плоскости делают один супер-гигантский полигон топ-1 в мире.
Он размерами со всю карту и даже в 1.74 раза больше чем вся карта.
И вот его уже мы обрезаем плоскостью. Шесть раз обрезали и вот у нас вместо супер-гигантских полигонов получился наш брашевый кубег.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 02-11-2024 в 08:04:

Цитата:
Crystallize писал:
как это вообще


https://alxgk.ru/uploader/img/2d821af0743406d1de12912279c823d0.jpg
Вот собственно варианты которые я описывал. И если что даже не я это придумал. Вариант E описывает пересечение с плоским полигоном условно бесконечной высоты и ширины.

D - полигон лежит на плоскости.

Цитата:
Дядя Миша писал:
То есть у полигона может быть какая угодно плоскость, но функция, которая генерирует плоскости по трём точкам создаёт ДВЕ плоскости, позитивную и негативную. И располагает их в массиве таким образом, чтобы позитивная усихда была чётной. Это важный момент, про который обычно никто не упоминает почему-то.


Для чего нужно 2 плоскости? И по какому критерию она отбирает какая будет четной? Я думал там просто нормаль.

Цитата:
Дядя Миша писал:
Это важный момент, про который обычно никто не упоминает почему-то.


Там полно важных моментов которые нигде не расписаны.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 02-11-2024 в 13:05:

Цитата:
FiEctro писал:
Для чего нужно 2 плоскости?

ну я же написал - одна чётная, другая нечётная. Но у реальных полигонов плоскость-то не всегда чётная, вот в чём штука. А мы их храним в едином массиве. Как же нам по быстрому отличить чётную плоскость от нечётной? Ну вот так - по номеру. Чётный номер = чётная плоскость.
Таким образом planenum & ~1 нам всегда вернёт чётную.

По умолчанию позитивной плоскостью считается та, которая используется для разбиения дерева, но. Если она аксиальная и нормаль меньше нуля, то свапается. Для неаксиальной этого не делается, там всё равно чёрт ногу сломит какую считать позитивной, а какую нет.

Цитата:
FiEctro писал:
Там полно важных моментов которые нигде не расписаны.

Есть такое.

Псевдокод:
C++ Source Code:
1
AddNewPlane()
2
{
3
  array[i+0] = plane; // позитивная чётная
4
  array[i+1] = -plane; // негативная нечётная
5
 
6
  if( plane.axial && plane.normal[plane.axis] < 0 )
7
  {
8
    swap( array[i+0], array[i+1] );
9
  }
10
}

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Временная зона GMT. Текущее время 21:58. Страницы (32): « Первая ... « 19 20 21 22 [23] 24 25 26 27 » ... Последняя »
Показать все 479 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024