Дядя Миша писал: Вот это вообще не понял. Если мыслить концепциями той же халфы или сорса, какие там были публичные и приватные значения? Однако ящики спавнились исправно.
Вот есть у тебя код который например смещает объект по оси X на указанное пользователем значение. X это публичная переменная. Но там внутри например есть ещё оффсет O к примеру который умножает твоё значение допустим на 0.1, вот он приватный, его значение пользователь может подсмотреть в редакторе, но не может ручками отредактировать. А публичный и посмотреть и отредактировать прямо во время игры можно.
Естественно он не показывает вообще все не публичные переменные, а только те которые сериализует пользователь.
Цитата:
Дядя Миша писал: В принципе движок такое позволяет, но я пока толком не тестировал. Там есть одно важное ограничение - мир должен находится всегда с индексом 0. Не то чтобы это было критично, но надо продумать концепцию. А так уровней можно загружать сколько угодно, но они же сольются в единое пространство, и имена целей начнут мешать друг-другу. Навскидку.
Очевидно что БСПшка сама по себе родительский объект - префаб. И имя этой БСПшки в целом можно плюсовать к дублирующимся именам. Но имей ввиду что как раз по этому поиск по имени вообще плохая идея и от неё всюду отказываются. У объектов на сцене должны быть свои уникальные идентификаторы и теги на которые ссылаются таргетнеймы. А так же поиск по чилдренам и парентам. Тогда ничего путаться не будет, даже если ты сто раз свой объект переименуешь.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro писал: Какими критериями ты руководствовался когда писал Волатилу и инструменты к ней?
Критерий очень простой - в движке должно присутствовать всё необходимое для разработки Perilous Warp и впоследствии Option Implicit. Документация на уровне "чтобы не забыть важные моменты" (хотя если что я всегда могу заглянуть в код и освежить память, конечно). Ну и хорошая интеграция с Джеком.
Ну ещё я посоветовался с народом на форуме по некоторым ключевым моментам, например, какие должны быть названия у энтитей, или нужен ли func_rotating из коробки. Это на случай, если кто-то потом захочет примкнуть к нашей команде.
Мне было проще - Волатила делалась по сути для одного разработчика, под нужды конкретных игр сейчас и в будущем. Несмотря на то, что разработка Option Implicit начнётся не ранее чем через 10-15 лет, я уже примерно знаю что там будет. Здесь же мы говорим про публичные продукты, которые к тому же должны давать большую гибкость, т.к. проекты на них заранее не известны.
(_-=ZhekA=-_) писал: Мне в анриле нравится, что он модульный ( состоит из плагинов ) и почти все не нужное можно отключить нахрен )
Это как винда. Там тоже после установки почти всё надо выключить нахрен.
Добавлено 13-10-2023 в 16:22:
Цитата:
FiEctro писал: Вот есть у тебя код который например смещает объект по оси X на указанное пользователем значение. X это публичная переменная. Но там внутри например есть ещё оффсет O к примеру который умножает твоё значение допустим на 0.1
Ужос какой
Ты же видел энтити в кваках халфах. Там нигде нет такого "сместить объект по оси X на указанное пользователем значение". Разумеется такой объект можно сделать, но какой в этом смысл? Вот у тебя место старта игрока, вот монстр, вот аптечка, вот триггеры. Где в этой схеме специальный код, который смещает объект по оси Х на указанное пользователем значение и главное зачем?
Даже тетрис делать удобнее, создав для фигурок абстрактную физику, а не двигая каждую фигурку на определённое число юнитов.
Цитата:
FiEctro писал: Но имей ввиду что как раз по этому поиск по имени вообще плохая идея и от неё всюду отказываются
Глупость какая. А чегож код тогда не пишут, записывая вместо имён переменных специальные тэги? Когда у тебя имя ты можешь легко даже в блокноте посмотреть что к чему. Когда у тебя тэг, ты без редактора не разберёшься. А редактор платный. Ну и приехали.
Дядя Миша писал: https://hlfx.ru/forum/showthread.ph...6236#post216236
Обещал расписать через пару часов - до сих пор жду.
Окей попинаю
Цитата:
Дядя Миша писал: Ужос какой
Ты же видел энтити в кваках халфах. Там нигде нет такого "сместить объект по оси X на указанное пользователем значение". Разумеется такой объект можно сделать, но какой в этом смысл? Вот у тебя место старта игрока, вот монстр, вот аптечка, вот триггеры. Где в этой схеме специальный код, который смещает объект по оси Х на указанное пользователем значение и главное зачем?
Даже тетрис делать удобнее, создав для фигурок абстрактную физику, а не двигая каждую фигурку на определённое число юнитов.
Оно есть в коде. Я просто привёл пример сериализованых в интерфейс приватных и публичных переменных. Такой объект ничем не отличается от твоих аптечек и монстров кроме внутренней логики. Но тут речь была не о логике, а о переменных.
Цитата:
Дядя Миша писал: Глупость какая. А чегож код тогда не пишут, записывая вместо имён переменных специальные тэги? Когда у тебя имя ты можешь легко даже в блокноте посмотреть что к чему. Когда у тебя тэг, ты без редактора не разберёшься. А редактор платный. Ну и приехали.
В коде у тебя используются неймспейсы чтобы ничего не конфликтовало это теже самые теги. И ничего - разбираются как то. Причём тут платный редактор я вообще не понял, блокнот в винде бесплатный.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Дядя Миша писал: Это как винда. Там тоже после установки почти всё надо выключить нахрен.
Один раз отключил и все, а можно вообще ничего не трогать и будет норм )
__________________
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.
FiEctro писал: Такой объект ничем не отличается от твоих аптечек и монстров кроме внутренней логики.
Не помню чтобы мне хоть раз понадобилось смотреть внутренние стейты аптечек. Опять же, если у тебя объект подчиняется физическим законам, то ты уже не видишь что там физикс с ним делает, ты видишь только конечный результат его работы.
Цитата:
FiEctro писал: В коде у тебя неймспейсы это теже теги
Неймпсейс в читабельном виде. А ты говоришь там вместо имён давно MD5 чексуммы или что-то вроде этого.
Дядя Миша писал: Неймпсейс в читабельном виде. А ты говоришь там вместо имён давно MD5 чексуммы или что-то вроде этого.
Ну так у тебя прописано в коде:
public GameObject koshka;
Вот koshka это и есть имя твоей переменной. А в редакторе уже просто дрегднропом кидаешь твой объект в поле koshka и он записывает в него чексумму.
Цитата:
Дядя Миша писал: Не помню чтобы мне хоть раз понадобилось смотреть внутренние стейты аптечек. Опять же, если у тебя объект подчиняется физическим законам, то ты уже не видишь что там физикс с ним делает, ты видишь только конечный результат его работы.
А если эта аптечка даёт разное ХП в зависимости от того какой бонус ты взял ? Нет ну ты конечно можешь написать Debug.Log(hp); Но как много таких параметров ты можешь вытащить в консоль? И какое мессево это будет? Если например у тебя 100 аптечек?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
А в source есть такая энтити point_message, мы могли наблюдать их в большом количестве на картах в HL2 Beta. Такие записки, что в конкретном месте нужно будет сделать.
Предполагаю что была бы возможность делать такой привязанный текст, там уже каждый решал бы, как это использовать.
А может в уже имеющейся системе пользователю реально смастерить такое?
Дядя Миша писал: Прям вот так и прописано? И что это значит?
Ну вместо koshka может быть любое называние переменной. Это означает что в UI редактора в объекте на котором весит твой скрипт создастся поле koshka куда ты мышкой можешь засунуть любой объект, ну или выбрать из выпадающего списка.
И никакое fgd тут не нужно.
Допустим у тебя вместо кошки написано:
public GameObject targetname;
В инспекторе ты положил свой объект в поле targetname.
Теперь ты из этого скрипта где объявлен public GameObject targetname; можешь обращаться к нему, например к тем же трансформам.
targetname.transform.position.x += 1;
И соответственно это сместит при выполнении скрипта объект цель на 1 метр по оси X.
А внутри сцены например будет записано:
obj:12:1
{
component = myscript.shot;
{
targetname = obj23:5:3;
}
}
где к примеру obj:12:1 и obj23:5:3; могут быть позицией в иерархии, но не обязательно. Любые метаданные. Естественно если пользователь перемещает объекты в иерархии то ссылка тоже обновляется редактором автоматически.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Дядя Миша писал: А если я ещё одну кошку хочу поставить на уровень. Мне надо создать объект с именем koshka2 ?
Нет. Эти объекты могут быть с одним именем но с разными метаданными.
Т.е. если ты продублируешь твой объект с тем же самым скриптом ты уже в поле targetname можешь вписать другой объект или тот же самый, при том исходный объект не сломается и будет функционировать так же как и раньше. В итоге у тебя будет 2 объекта кошки со своими разными параметрами.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Там же где и объекты. Внутри сцены, префабов и бандлов. А энтития это просто компонент (скрипт) привязываемый к объекту. У тебя же есть викинги демка, запусти редактор да посмотри как всё устроено.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!