Дядя Миша Там ещё в статье такая интересная ремарка, что редакторы с отрицательными брашами, положительных брашей как таковых не создают до самого последнего момента, когда пишется МАП-файл. То есть до этого фактически идёт не редактирование брашей, а 3д-моделирование которое под браши только замаскировано для удобства. И потом из этой модели уже создаются браши. Но тогда возникает вопрос: почему генерация брашей из модели уровня в каком-нибудь Кварке происходит безболезненно, а всякими сторонними тулзами вызывает кучу невалидных объектов? Дело в более ответственном подходе к кодингу или в чём-то ещё?
Camblu_Buildovich писала: И какую-нибудь папочку текстурок, хочу понять, есть ли там пэбээрчик)))
Есть да. Но визуально я сперва подумал, что его нету. Уж больно блестючее всё.
Добавлено 03-09-2021 в 09:47:
Цитата:
Crystallize писал: редакторы с отрицательными брашами, положительных брашей как таковых не создают до самого последнего момента, когда пишется МАП-файл
Я никогда не юзал в Кварке отрицательные брашы, мне они всегда казались жутко неудобными.
Цитата:
Crystallize писал: почему генерация брашей из модели уровня в каком-нибудь Кварке происходит безболезненно
Дядя Миша ну другие редакторы режут сразу браши а Кварк/Qed режет модели, которые только выглядят как браши. И при сохранении МАПа он эту модель перегоняет в браши, причём никаких глюков и утечек не возникает. А поди попробуй какой-нибудь OBJ рипнутый из анрила, тоже ведь модель, перегнать в браши сторонней тулзой - получишь кашу.
Дядя Миша писал: Правда здесь та же самая ошибка - всё намешано в кучу. Стенки, лайтпробы, игрок, туман и лампочки. Впрочем, дело привычки.
Этот список не просто иерархический, это паренты. А как ты разделишь дочерний и родительские объект в списке?
Цитата:
Дядя Миша писал: Обратите внимание, что у каждой стенки внутри есть объект коллизии, а объект стенка раскрывается как папка. На мой взгляд нелогично
делать визуальную часть стены папкой, а коллизию - файлом внутри папки, следовало бы уравнять эти вещи в правах, иначе получается логическая ловушка, но видимо авторам это неочевидно.
Это не папка, объект это просто пустой абстрактный класс, а что он наследует из каких скриптов ты уже выбираешь внутри объекта.
Цитата:
Дядя Миша писал: Нижняя часть отдана файловому менеджеру. Зачем окно файлов должно постоянно присутствовать на экране для меня самая большая загадка.
Затем что это удобно, всё под рукой и работает drag and drop. Ты можешь моментально мышкой перетащить любой ассет на сцену. Или скрипт внутрь объекта.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro писал: Этот список не просто иерархический, это паренты
Это список, из которого мы берём новый объект, чтоы поставить его на сцену. И почему-то в этом списке стенки соседствует с лайтпробами.
Вот представь ты пришёл в магазин у тебя на одной полке лежит молоко и моторное масло.
Добавлено 12-08-2023 в 21:19:
Цитата:
FiEctro писал: Это не папка, объект это просто пустой абстрактный класс
Тогда почему внутри этой папки нет визуал объекта, а есть только коллижен?
Объект - это необязательно визуал. Это три состояния как минимум:
- непроходимый и видимый
- несолидный и видимый
- невидимый та солидный
Есть и более специальные состояния, например невидимый точечный эмиттер звуков или просто специальная точка из которой бьёт луч.
Да мало ли. Тогда уж логичнее в этой папке ещё и компонент трансформ иметь. Моделька для коллизии, моделька для показа, матрица трансформации и скрипт, который со всем этим связан. Всё это жутко неоптимально, но вам навязали именно такую схему и вы думаете, что это очень удобно и гибко.
Добавлено 12-08-2023 в 21:21:
Цитата:
FiEctro писал: Ты можешь моментально мышкой перетащить любой ассет на сцену. Или скрипт внутрь объекта.
Представь себе не могу. Потому что окошко маленькое и его скорее всего придётся скроллить, залезать внутрь других папок, там выбирать.
Если же ты всё сложишь в одну папку - то у тебя будет классический бардак в ресурсах. Т.е. этот менеджер именно что провоцирует содержать ресурсы в бардаке.
Дядя Миша писал: Представь себе не могу. Потому что окошко маленькое и его скорее всего придётся скроллить, залезать внутрь других папок, там выбирать.
Если же ты всё сложишь в одну папку - то у тебя будет классический бардак в ресурсах. Т.е. этот менеджер именно что провоцирует содержать ресурсы в бардаке.
Это окно ничем не отличается от окна explorer. Бардак из папок можно навести везде, для этого никакой движок не нужен.
Цитата:
Дядя Миша писал: Это список, из которого мы берём новый объект, чтоы поставить его на сцену. И почему-то в этом списке стенки соседствует с лайтпробами.
Вот представь ты пришёл в магазин у тебя на одной полке лежит молоко и моторное масло.
Я думал речь про список объектов слева. Тогда хз.
Цитата:
Дядя Миша писал: Объект - это необязательно визуал. Это три состояния как минимум:
- непроходимый и видимый
- несолидный и видимый
- невидимый та солидный
Ну вот где ты в C++ видел проходимые и видимые объекты? Объект это обстракция, как имя например - Андрей. Это может быть и человек, и велосипед или село какое нить. А вот когда он наследует какое то свойство, наприр тело и разум то мы уже конкретизируем что да, это всё таки человек. А если у него наследуется класс трансформ то можем ему ещё и координаты задать.
Выкини эту кушную логику энтитей, и мысли логикой ООП С++. Вся эта конкретизация только будет усложнять тебе архитектуру, где под каждый конкретный случай тебе нужно писать новую энтитю.
Цитата:
Дядя Миша писал: Представь себе не могу. Потому что окошко маленькое и его скорее всего придётся скроллить, залезать внутрь других папок, там выбирать.
А какое у тебя разрешение? Окна вроде можно растягивать и перемещать.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro писал: Это окно ничем не отличается от окна explorer
Отличается и очень сильно. Эксплорер развернут на весь экран, он большой.
А это окно мелкое и вытянутое.
Цитата:
FiEctro писал: Я думал речь про список объектов слева
Слева - это то что уже на сцене. Справа - источник объектов, которые можно поставить на сцену. Если я не забыл ещё.
Цитата:
FiEctro писал: Ну вот где ты в C++ видел проходимые и видимые объекты?
А зачем мыслить категориями С++ в играх?
Ну признайся, ты не же сам до этого догадался, ты начитался "умных" статей.
Цитата:
FiEctro писал: А вот когда он наследует какое то свойство, наприр тело и разум то мы уже конкретизируем что да, это всё таки человек.
Боюсь что так и не понял сути ООП.
Цитата:
FiEctro писал: где под каждый конкретный случай тебе нужно писать новую энтитю.
Дело в том, что конкретных случаев в принципе - не так уж и много. А вот конкретных случаев на сцене - дохрена. И лучше расставить гораздо более высокоуровневый объект "разрушаемая модель" чем каждый раз её копировать и настраивать вручную, а называться они у тебя будут типа Model1, Model2, Model3 и ты потом заманаешься вспоминать что эти штуки делают. А так они будут проассоциированы с именем энтити и ты сразу сообразишь с чем имеешь дело. У каждой абстракции есть несколько уровней и важно уметь передвигаться по этим уровням при необходимости, а не застрять на каком-то конкретном и расхваливать его за гибкость.
Crystallize я не понимаю откуда ты берёшь все эти утверждения.
Ну формат-то свой, ну так он и в джеке свой и в ворлдкрафте. А как ты определил что он замороченный, из чего это следует?
Дядя Миша писал: Отличается и очень сильно. Эксплорер развернут на весь экран, он большой.
А это окно мелкое и вытянутое.
Ну и как ты себе это представляешь? Постоянно сворачивать туда сюда? Это ещё хуже.
Цитата:
Дядя Миша писал:
А зачем мыслить категориями С++ в играх?
Ну признайся, ты не же сам до этого догадался, ты начитался "умных" статей.
Да потому что это лучше чем хардкодить каждый объект под конкретный случай.
Цитата:
Дядя Миша писал: Боюсь что так и не понял сути ООП.
Ну расскажи как ты понял.
Цитата:
Дядя Миша писал: Дело в том, что конкретных случаев в принципе - не так уж и много. А вот конкретных случаев на сцене - дохрена. И лучше расставить гораздо более высокоуровневый объект "разрушаемая модель" чем каждый раз её копировать и настраивать вручную, а называться они у тебя будут типа Model1, Model2, Model3 и ты потом заманаешься вспоминать что эти штуки делают. А так они будут проассоциированы с именем энтити и ты сразу сообразишь с чем имеешь дело. У каждой абстракции есть несколько уровней и важно уметь передвигаться по этим уровням при необходимости, а не застрять на каком-то конкретном и расхваливать его за гибкость.
БСП объект это по сути рутовый объект, а внутри него такое же дерево дочерних объектов с разными свойствами. Типа префаба. Со скелеталкой примерно так же. А вот как в кваке повесить один и тот же коллайдер и на точечный объект и на кость, и на ландшафт, и на партиклю?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro писал: Ну и как ты себе это представляешь? Постоянно сворачивать туда сюда? Это ещё хуже.
Там где по смыслу нужно вставить модель, тыкаешь кнопочку Открыть - открывается окно эксплорера, там выбираешь модель. В принципе это может быть окно редактора где модели уже сгруппированы по папкам и у них есть предпросмотр.
Цитата:
FiEctro писал: Да потому что это лучше чем хардкодить каждый объект под конкретный случай.
Ну если ты не в состоянии абстрагировать конкретные случаи в небольшую группу - то разумеется. А что, разве в Юнити нет возможности создать энтить в том представлении, в котором оно было в квейке?
Цитата:
FiEctro писал: Ну расскажи как ты понял.
Как минимум - не надо смешивать понятия объекта и абстрактного типа данных.
Цитата:
FiEctro писал: А вот как в кваке повесить один и тот же коллайдер и на точечный объект и на кость, и на ландшафт, и на партиклю?
Для начала объясни мне, что это такой за волшебный коллайдер, который одинаково годится и для партикли и для ландшафта?
Далее - тебе навязали иллюзии, что такая свобода - это очень хорошо для демократии.
Но есть всего лишь два сценария:
1. объект солиден и его форма стремится повторить визуальную до идеала.
2. объект проходим.
Есть ещё третий частный случай - некоторые части объекта проходимы, которые лишь являются расширенной версией первого сценария.
ВСЁ! Никаких других кейсов здесь нет и быть не может в принципе.
Нет такого случая, когда бы коллайдер для партикли понадобилось повесить на ландшафт и наоборот. Это всё равно как тебе бы предоставили свободу переливать воду не только из левой проруби в правую, но и из правой - в левую.
Добавлено 12-08-2023 в 23:03:
Цитата:
FiEctro писал: БСП объект это по сути рутовый объект
Нет, не рутовый. Его просто так представляют для наглядности.
Эти модельки делались под конкретную карту и их удобнее хранить вместе с нею. Только и всего.
Дядя Миша писал: Там где по смыслу нужно вставить модель, тыкаешь кнопочку Открыть - открывается окно эксплорера, там выбираешь модель. В принципе это может быть окно редактора где модели уже сгруппированы по папкам и у них есть предпросмотр.
А если тебе надо вкинуть сразу несколько объектов? И куда они вставятся? В 0 0 0 координату?
Цитата:
Дядя Миша писал: Ну если ты не в состоянии абстрагировать конкретные случаи в небольшую группу - то разумеется. А что, разве в Юнити нет возможности создать энтить в том представлении, в котором оно было в квейке?
Можно, просто не навешивай больше 1 скрипта.
Цитата:
Дядя Миша писал: ВСЁ! Никаких других кейсов здесь нет и быть не может в принципе.
Нет такого случая, когда бы коллайдер для партикли понадобилось повесить на ландшафт и наоборот. Это всё равно как тебе бы предоставили свободу переливать воду не только из левой проруби в правую, но и из правой - в левую.
Не совсем. Коллайдер это просто геометрия которую использует физика, грубо говоря - моделька. Бывает ббокс, бывает сфера, бывает капсула, а бывает меш, ещё какой то меш для террейнов. И да, внезапно коллайдер может быть проходимым если ему включить галочку Is trigger. Этот колайдер например можно повесить на кость, чтобы она взаимодействовала с физикой.
А так у тебя будет отдельный ббокс для брашей, отдельный ббокс для моделей, отдельный ббокс для спрайтов и т.д.
Цитата:
Дядя Миша писал: Нет, не рутовый. Его просто так представляют для наглядности.
Удобно же, можно управлять объектами после компиляции БСП, вместо того чтобы каждый раз его пересобирать целиком. В халфе в целом тоже можно, но в основном только точечные.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!