Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » Секреты моддинга (Вопросница) | страница 47
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 47 из 56
На страницу: Пред.  1, 2, 3 ... 46, 47, 48 ... 54, 55, 56  След.    Перейти:   Все страницы
Поиск в этой теме:
Звездные волки 2: Гражданская война » МОДовый отсек: «Секреты моддинга (Вопросница)»
PirateOnCarrier
 50 EGP

Репутация: 0
Сообщения: 31

Зарегистрирован: 25.02.2017
Michael_Moon :
PirateOnCarrier :
Да вообще всё - от начала и до конца. Вчера попробовал сделать свою собственную миссию для ЗВ1 - в качестве образца структуры файлов распотрошил старую версию скорпион мода. Вроде бы сделал, а игра меня даже на страницу миссий не пустила, вылетела с ошибкой. Могу архив с папкой миссии скинуть.

1. Прописываешь миссию в одном из Missions.xml со всякими прибабахами, типа, опосля какой должна запуститься, при каких условиях и т.д. Картинку там для нее указываешь, ссылку на описалово даешь.
2. Делаешь папку с миссией в общей папке с миссиями, что зовется страшным словом Scripts. В ней создаешь необходимые скрипты (можно глянуть в похожих папках).
3. В файле level.lst прописываешь в виде массива созданные тобой скрипты и в какой последовательности они должны загружаться.
4. Смотришь, как создаются другие локации и пытаешься повторить у себя.

В качестве примера можешь посмотреть, как реализовано в КК. У меня там все более упорядочено расположено: диалоги к диалогам, действия к действиям, координаты - в координаты, объекты - к объектам.
В Скорпионе все свалено в одну кучу, так что разбираться приходится долго и нудно. Впрочем, нет ничего невозможного, так что можно и со Скорпионом разобраться. Заодно получишь море практического экспириенса. Улыбка


Cделал всё по списку - игра опять не пустила на страничку миссий. Лог файл выдал

[Exception] 0x00158b00 EXCEPTION_ACCESS_VIOLATION (The thread attempted to read from or write to a virtual address for which it does not have the appropriate access.)
    Добавлено: 20:25 24-08-2017   
Michael_Moon
 100 EGP


Рейтинг канала: 4(72)
Репутация: -2
Сообщения: 669
Откуда: РК, Кокшетау
Зарегистрирован: 15.02.2011
PirateOnCarrier :
Cделал всё по списку - игра опять не пустила на страничку миссий. Лог файл выдал

Игру сначала начинаешь?
    Добавлено: 14:18 25-08-2017   
PirateOnCarrier
 50 EGP

Репутация: 0
Сообщения: 31

Зарегистрирован: 25.02.2017
Michael_Moon :
PirateOnCarrier :
Cделал всё по списку - игра опять не пустила на страничку миссий. Лог файл выдал

Игру сначала начинаешь?


Да
    Добавлено: 21:17 25-08-2017   
Michael_Moon
 100 EGP


Рейтинг канала: 4(72)
Репутация: -2
Сообщения: 669
Откуда: РК, Кокшетау
Зарегистрирован: 15.02.2011
Ладно, сегодня настроение не самое рабочее, так что давай тогда разберем по пунктам.

1. Mission.xml

Их там несколько штук. Каждый XML определяет свой этап игры и условно называется "эпизод". Внутри содержатся сами миссии. Разберем одну на примере "Уринотерапии":

<MissionDescription name="level_0_004"> <!-- Урино-терапия --> -- открываешь тег миссии, вписываешь ее название и коммент.
<mission_path>level_0_004</mission_path> -- указываешь папку миссии
<short_name>#M_level_0_004_name</short_name> -- имя миссии (видно в списке доступных миссий)
<short_description>#M_level_0_004_short_desc</short_description> -- краткое описание (видно в списке доступных миссий)
<description>#M_level_0_004_desc</description> -- полное описание (можно прочитать при открытии миссии)
<mission_icon>0_004</mission_icon> -- иконка миссии (лежит в текстурах)
<splash_screen>level_00</splash_screen> -- заставка, которая отображается, когда входишь в миссию (лежит в текстурах)
<starting_movie/> -- мувик при входе (если есть)
<min_required/> -- необходимый ранг (уровень), который необходимо иметь, чтобы миссия открылась. В данном случае "нулевой", поэтому заслэшена.
<mission_cost>1000</mission_cost> -- награда за миссию
<next_mission/> -- следующая миссия, которая стартует при попытке выхода из портала (как в миссии "Охота за Красным корсаром", которая состоит из 2-х частей).
<mission_level>2</mission_level> -- уровень, на котором миссия доступна (не путать с min_required (!))
<next_episode/> -- если данная миссия последняя в этом эпизоде, здесь указываешь переход на следующий XML с миссиями
<StartNewsAdd> <!-- news_1_30 --> -- открываем тег с новостью, которая появляется в списке новостей при появлении этой миссии. В данном случае это заказ на помощь Патрулю
<exit_code>MISSION_COMPLETED</exit_code> -- код выхода из предыдущей миссии, при котором эта новость появится. В данном случае для стартовой новости немного туповатое условие. Кодов несколько, на Страннике, вроде бы, их более-менее подробно разбирали.
<name>news_1_30</name> -- указание на саму новость в XML-е News.xml
</StartNewsAdd> -- закрываем тег данной новости. Если хочешь добавить их несколько, то и аналогичных тегов должно быть несколько
<ExitNewsRemove> <!-- news_1_30 --> -- новость, которая удаляется по выходу из миссии. В данном случае я удаляю заказ на помощь Патрулю, т.к. по выполнению миссии он становится неактуальным. Заполняется аналогично тегу стартовой новости
<exit_code>MISSION_COMPLETED</exit_code>
<name>news_1_30</name>
</ExitNewsRemove>

<RequiredMission> -- открываем тег, где указывается миссия, которую необходимо пройти, чтобы появилась текущая. Заполняется аналогично тегам с новостями.
<mission_name>level_1_001</mission_name>
<exit_code>MISSION_COMPLETED</exit_code>
</RequiredMission>
</MissionDescription>
-- закрываем тег текущей миссии и переходим к её скриптам

Последний раз редактировалось: Michael_Moon (09:53 26-08-2017), всего редактировалось 2 раз(а)
    Добавлено: 08:04 26-08-2017   
Michael_Moon
 100 EGP


Рейтинг канала: 4(72)
Репутация: -2
Сообщения: 669
Откуда: РК, Кокшетау
Зарегистрирован: 15.02.2011
2. Скрипты миссии.

Лежат в папке, указанной в теге <mission_path>level_0_004</mission_path>. Первым делом открываешь скрипт level.lst - в нем содержится массив скриптов, которые будут исполняться в этой миссии. Важно (!), скрипты будут исполняться в той последовательности, в которой они указаны в массиве! Так же важно помнить, что слово "скрипт" в данном случае обозначает файл миссии, а не код!

Код:
sys_IncludeFileList =
{
   "coordinates.script",
   "environment.script",
   "declare.script",
   "music.script",
   "objects.script",
   "functions.script",
   "triggers.script"
}


Необходимо помнить, что массивы в ЛУА заполняются через запятую. После последнего элемента запятая не ставится!
Как видим, исполнение скриптов миссии начинается с файла coordinates.script Так что открываем его и начинаем разбирать подробно.

coordinates.script

Как, должно быть, понятно из названия, в этом файле указываются все возможные координаты, используемые в сценарии миссии. Как минимум, желательно указать стартовые координаты для всех объектов в локации, если только эти координаты не генерятся по ходу действия. Для этого необходимо хотя бы в общих чертах представлять себе какие объекты в данной миссии будут присутствовать и какие действия они будут совершать.
Так же я предпочитаю указывать в этом файле и начальные координаты команды игрока, чтобы потом не вспоминать мучительно, куда ты их законопатил, и не рыть все файлы миссии в их поисках. Иметь одну общую координату очень удобно для тонкой настройки начала миссии.
Так же я рекомендую указывать в этом файле и единичные координаты ориентации объекта (direction или orientation).
Некоторые несознательные товарищи типа Леона, Саши Скорпиона и прочие ёжики так же помещали в этот файл и скрипт создания локации. Это возможно, но неправильно! Каждому овощу своё место, а каждому скрипту свое время.
Если, нечаянно или специально, ты создашь в этом файле какой-то объект, это может привести к вылету, т.к. сама локация еще не создана.
Рекомендую в обязательном порядке создать массив с координатами-исключениями (exceptions), в которых никакие другие объекты кроме намеченных создаваться не будут! Для чего это надо будет понятно из разбора следующих скриптов.

environment.script

В этом файле создаем локацию. Сначала задаем карту:
Код:
InitMap(1400, 1400, 10, 100);

Передаваемые параметры в данную функцию обозначают следующее:
1400 - размер карты по горизонтали (ось Х),
1400 - размер карты по вертикали (ось Z (а вовсе не Y, как может показаться)),
10 - угол наклона карты (чтобы не быть над ней уж вовсе вертикально),
100 - размер "грида" (единичного квадратика карты) в "кликах".

Создаем саму локацию:
Код:
InitEnvironment("SR_Planet_6.env");

Указываем environment (космос), который хотим использовать в данной локации. По настройке космоса есть свои тонкости, пока лень о них писать. В данном случае я указал свой космос, текстуры которого создал с помощью движка SpaceEngine.

В принципе, это все. Впрочем, я рекомендую создавать здесь же декоративные объекты типа облаков, астероидов, мусора и прочего. При этом необязательно запихивать координаты этих объектов в файл coordinates.script, а можно указывать прямо по ходу создания. Данные координаты ни на что не влияют и в дальнейшем написании миссии использоваться не будут.
Так же я (с помощью Миши Кринка (krink)) написал для себя несколько простеньких функций, которые позволяют раскидывать объекты из заданного массива в пределах заданного объема (похожие функции есть и в скриптах самой игры, но мне мои кажутся удобней). Это удобно тем, что не надо париться, прописывая ручками местоположение и ориентацию каждого астероида в локации. Для декоративных целей вполне себе годится.
Т.к. при использовании этих функций я использую массив с exceptions, то в указанных в этом массиве координатах случайные объекты создаваться не будут, что подразумевает, что основные игровые объекты типа порталов и станций создадутся именно там, где мне нужно (напомню, что, если при создании объекта в локации данная координата уже будет "зобита" другим ранее созданным объектом, игра попытается впихнуть его куда-нибудь поблизости. Если же поблизости места найдено не будет, игра его закинет точно в центр локации). В общем, лучше подстраховаться.

Переходим к следующему файлу.

declare.script

Это, пожалуй, самый таинственный и загадочный файл во всех файлах миссии. Многие ЗВ-писцы пренебрегают его важностью. А зря!
Во-первых, именно здесь создается команда игрока.
Во-вторых, в нем я поместил массив с названиями всех значимых объектов в игре, как то - порталы и станции, а так же с названиями и описаниями квестов внутри заданной миссии. Это удобно, т.к. динамическое шифрование мне недоступно, а записывать все эти названия в отдельном loc-файле в папке LocData мне лень, да и внимание рассеивает изрядно. Здесь же все под рукой и не надо "далеко бежать", если необходимо что-то исправить "на лету".
В-третьих, здесь создаются фракции, участвующие в миссии, а так же прописываются взаимоотношения между ними.
В-четвертых, здесь же я поместил так называемый "антипылесосный" скрипт, чтобы геймер не бил честных торговцев и дружественных ему патрульных и не нарушал баланс преждевременной прокачкой (некоторые ушлые геймеры умудряются обходить это условие, но к данной теме это не относится).

Так же здесь я объявляю некоторые функции для автоматического создания звеньев, но это уже специфика КК.

music.script

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

objects.script

Один из самых сложных и ответственных скриптов в миссии! Здесь указывается создание основных объектов игры - порталов, станций, навпойнтов, единичных кораблей и флайтов.
Так же я предпочитаю использовать этот файл для объявления пилотов, задействованных в данной миссии (что логично, если подумать Улыбка ).
В общем-то вся сложность здесь заключается во внимательном прописывании имен объектов. Важно следить, чтобы эти имена (особенно имена флайтов!!!) не совпадали. В противном случае могут произойти весьма забавные казусы - например 36 истребителей в одном звене Улыбка

functions.script

Самый важный скрипт! Здесь, собственно, и прописывается все действо, которое происходит в миссии. Чаще всего именно здесь происходит 90% всех запар, с которыми сталкиваются скриптописатели.
Нужно ли его структурировать и как - решать автору миссии. Что касается меня, то я стараюсь придерживаться следующей структуры (т.е., другими словами, делю файл на следующие части):
EXECUTION - здесь прописываешь некоторые анимашки при входе в локацию (для меня немного устаревшее, т.к. все мувики я создаю по ходу действия, но, например, самая первая миссия оригинала создается именно по такому принципу).
VARIABLES - указываю важные глобальные переменные, которые требуются неоднократно в течение всей миссии (например, флаги исполнения каких-то действий, счетчики и прочее).
GAME FUNCTIONS - функции, которые используются движком для своих целей. В ЗВ-2 и ГВ их больше, в ЗВ-1 меньше, но они есть и их лучше помещать отдельно, чтобы потом не путаться.
MISSION FUNCTIONS - функции сюжета (у меня они порой еще и подразбиваются, если квестов в миссии больше одного).
MISSION DIALOGS - диалоги, само собой. Выношу их отдельно и последовательно нумерую. Раньше выдумывал оригинальные названия, чтобы "сразу понятно было, о чем речь", сейчас просто обзываю Dialog_01...n. Сами диалоги обязательно имеют начало (Dialog_01_Start), конец (Dialog_01_End), функцию анимации, если есть (Dialog_01_Anim) или хмл-диалога (Dialog_01_XML), ну и функции реплик, если идут с анимацией (Dialog_01_01...Dialog_01_n).
Что и как писать в этом файле зависит от фантазии автора и его умений. Тут советов можно накидать множество, но... лучше обойтись совсем без них. Каждый должен набивать свои собственные шишки - хотя бы иногда.

triggers.script

Практически не использую этот файл, т.к. предпочитаю создавать и "убивать" триггеры по ходу пьесы. Удобней, да и кэш чище Улыбка Редко, когда нужны какие-то "стационарные" триггеры, работающие в течение всей миссии, и которые необходимо объявить прямо при входе в локацию, можно использовать этот файл. Во всех остальных случаях на него лучше забить. Ну и файл TriggerUtils.script вам в помощь (если сумеете его вставить в игру и правильно прописать его старт).

Вот, в общем-то, и все про создание локации в ЗВ-1. Как видим, ничего особо сложного. Впрочем, никогда не стоит забывать, что дьявол таится в деталях, поэтому как можно чаще пользуйтесь функцией LOG("текст сообщения, который необходимо вывести в лог игры") при отладке игры - сразу будет видно где, когда и в каком месте происходит затык Улыбка
    Добавлено: 09:52 26-08-2017   
PirateOnCarrier
 50 EGP

Репутация: 0
Сообщения: 31

Зарегистрирован: 25.02.2017
О, премного благодарствую за столь развёрнутый ответ, будем экспериментировать.
И еще такой вопрос - как всё таки создается космос?

Последний раз редактировалось: PirateOnCarrier (21:59 26-08-2017), всего редактировалось 1 раз
    Добавлено: 21:26 26-08-2017   
Aleksey_SR
 73 EGP

Рейтинг канала: 4(67)
Репутация: 6
Сообщения: 175
Откуда: Новокузнецк
Зарегистрирован: 13.12.2015
PirateOnCarrier :
О, премного благодарствую за столь развёрнутый ответ, будем экспериментировать.
И еще такой вопрос - как всё таки создается космос?

В файле Environment.script юзаешь вышеупомянутые функции InitMap и InitEnvironment. Далее заполняешь его объектами.
_________________
Discord: shadowvinyl
    Добавлено: 09:08 27-08-2017   
Michael_Moon
 100 EGP


Рейтинг канала: 4(72)
Репутация: -2
Сообщения: 669
Откуда: РК, Кокшетау
Зарегистрирован: 15.02.2011
Aleksey_SR :
В файле Environment.script юзаешь вышеупомянутые функции InitMap и InitEnvironment. Далее заполняешь его объектами.

Не совсем так, Лёш. Там все немного сложней Улыбка
    Добавлено: 09:41 27-08-2017   
Aleksey_SR
 73 EGP

Рейтинг канала: 4(67)
Репутация: 6
Сообщения: 175
Откуда: Новокузнецк
Зарегистрирован: 13.12.2015
Michael_Moon :
Aleksey_SR :
В файле Environment.script юзаешь вышеупомянутые функции InitMap и InitEnvironment. Далее заполняешь его объектами.

Не совсем так, Лёш. Там все немного сложней Улыбка

Точно, перепутал файлы. coordinates.script должно быть.

P.S. кстати, почему бы все скрипты не слить в один файл? Или хотябы в 2: первый отвечает за локацию, второй за миссию? Я один раз такое с менюшкой проделывал. Ничего по сути не поменялось. Только мини-задержка появилась при появлении ГУИ окна при запуске игры.
_________________
Discord: shadowvinyl
    Добавлено: 11:31 27-08-2017   
Michael_Moon
 100 EGP


Рейтинг канала: 4(72)
Репутация: -2
Сообщения: 669
Откуда: РК, Кокшетау
Зарегистрирован: 15.02.2011
Aleksey_SR :
P.S. кстати, почему бы все скрипты не слить в один файл? Или хотябы в 2: первый отвечает за локацию, второй за миссию? Я один раз такое с менюшкой проделывал. Ничего по сути не поменялось. Только мини-задержка появилась при появлении ГУИ окна при запуске игры.

А зачем? Каждый файл отвечает за свое. Удобно. При затыке знаешь где что искать. Была бы возможность, я бы такую же систему в ГВ сделал. Как минимум добавил бы coordinates.script, declare.script и environment.script
    Добавлено: 11:39 27-08-2017   
PirateOnCarrier
 50 EGP

Репутация: 0
Сообщения: 31

Зарегистрирован: 25.02.2017
Michael_Moon :
Aleksey_SR :
P.S. кстати, почему бы все скрипты не слить в один файл? Или хотябы в 2: первый отвечает за локацию, второй за миссию? Я один раз такое с менюшкой проделывал. Ничего по сути не поменялось. Только мини-задержка появилась при появлении ГУИ окна при запуске игры.

А зачем? Каждый файл отвечает за свое. Удобно. При затыке знаешь где что искать. Была бы возможность, я бы такую же систему в ГВ сделал. Как минимум добавил бы coordinates.script, declare.script и environment.script


Не, я немного не то имел ввиду. Как создается скайбокс - то есть файл .env, который указывается при инициализации карты в enviroment.script?
    Добавлено: 13:41 27-08-2017   
Michael_Moon
 100 EGP


Рейтинг канала: 4(72)
Репутация: -2
Сообщения: 669
Откуда: РК, Кокшетау
Зарегистрирован: 15.02.2011
3. Создание скайбокса

Файлы *.env лежат в папке ...\StarWolves\DATA\Environment. Смотрим, как и что мы можем сделать в плане космоса.
В принципе все грамотно и четко расписано в комментах внутри самих файлов, но для ленивых умом можно пройтись и разобрать тонкости.

Код:
; файл, от куда брать координаты звёзд
StarsFile             = empty.str

Указание на файл, где содержатся координаты звезды и их количество. Редактируя файл *.str можно добиться практически любой звездной конфигурации. Но это, как всегда, требует времени, усидчивости и кропотливости. Так что в данном случае стоит просто заглушка.

Код:
; радиус сферы, на которую будут накладыватся звёзды
StarsRadius           = 0

Чем меньше сфера, тем "виднее" и гуще звезды. Стандартное значение где-то 300-500. Здесь у меня стоит нуль, потому что "звездность" задается текстурой. Отличие игровой звездатости от текстурной в том, что игровые звезды мерцают.

Код:
; кол-во звёзд-точек для случайного разброса
StarsRandomPoint      = 0

Чем выше значение, тем "звездатее" небо. Почему у меня "нуль" смотри выше.

Код:
; кол-во плоских-звёзд для случайного разброса
StarsRandomPlain      = 0

"Плоские" звезды - это текстурная генерация звезд "сияющих" в отличие от звезд-точек. В локации подбирается опытным путем по вкусу редактирующего.

Код:
; базовый размер для случайно разбрасывемых плоских звёзд
PlainRandomSize       = 0

Тут, по моему, комментарии излишни

Цитата:
; разброс размеров для случайно разбрасывемых плоских звёзд
PlainRandomSizeSpread = 0

Тоже само понятно. Эксперимент - наше все.

Код:
; начало имени файлов с текстурами для звёзд
SkyBoxName            = SR_Planet_1/side

Вот тут интересно. SR_Planet_1 - это название папки, содержащей текстуры для скайбокса. Там 6 файлов: 4 стороны, верх и низ. Папка эта лежит в папке TEXTURE.

Код:
;начало тумана, как часть от полной глубины Z буфера, если -1 - туман отключен
FogStart              = 0.5
;конец тумана,  как часть от полной глубины Z буфера
FogEnd                = 0.9

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

Код:
;цвет тумана
FogColor              = 0 5 5 10

Тут он изображен "на-отмахнись". По-хорошему подбирается по основному цвету спектра одной из звезд, присутствующих в локации - типа, этот цвет превалирует.

Код:
; общий амбиент сцены
BaseAmbient           = 0 200 240 255

Тоже самое, что и в случае с цветом тумана. Общий амбиент я сейчас предпочитаю указывать по основному цвету спектра более яркой звезды, а цвет тумана - по цвету "подсвечивающей". Создается некий контраст, хорошо воспринимаемый визуально. Впрочем, тут все вкусовщина и художественное виденье сцены.

Код:
; имя карты отражения уровня
ReflectionMap         = SR_Planet_1/SRP1_reflection.dds

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

Код:
; параметры солнца
; максимум 2 солнца
Sun1_Pos              = 10 81 500 -- расположение светила на сцене. 10 - угол сдвига относительно абсолютных координат локации (если помним, Vector3(0,0,1) = нулю градусов). 81 - угол сдвига относительно вертикали локации (угол 0 градусов будет обозначать, что светило точно у вас над головой, 90 - ровно на эклиптике), 500 - удаление в кликах (подбирая удаление, можно регулировать угол освещения объектов. Нечто вроде мощной лампы, которую приближаешь или удаляешь к сцене - уровень светимости почти не меняется, но на объекты в разных точках сцены свет будет падать под разным углом)
Sun1_ColorDiffuse     = 0 255 245 200 -- основной цвет светила
Sun1_ColorSpecular    = 0 255 245 200 -- дополнительный цвет светила, дающий оттенки или высверки. Лучше подбирать в тон основному цвету, с небольшим отличием.
Sun1_ColorAmbient     =  0 25 24 20 -- еще один дополнительный цвет светила. Рекомендация та же, что и к спекулару, но сам оттенок подбирается темнее - желательно, на грани перехода основного цвета в темноту, тогда достигается самый качественный эффект. Я бы назвал этот параметр "цвет теней на объекте"
Sun1_LensFlareFile    = LensFlare_G -- текстура светила, содержится в папке TEXTURE игры. Важно подобрать ленсфлэр таким, чтобы он как можно лучше соответствовал текстурам скайбокса! Ленсфлэр красного цвета будет не очень хорошо сочетаться с зеленой текстурой космоса, вплоть до того, что геймеру будет неприятно находиться в локации и выполнять миссию.
Sun1_LensFlareScale   = 1.0 -- размер светила в градусах. Делать слишком большим не стоит, ибо светило получается "яростным". Сделаешь слишком маленьким - будет ощущение, что находишься где-нибудь на орбите Плутона - пусто и холодно. Как всегда, исходишь из текстуры локации и подбираешь размер

Параметры светила в локации. Что за что отвечает отображено в комментариях.

Код:
; параметры планет, до 10 планет
Planet1_MeshName      = moon_1
Planet1_Pos           = 300 60 20

Планеты, которые размещаешь в локации. Параметры примерно те же, что и для светила. Необходимо помнить, что указываемая планета (в данном случае moon_1), должна быть в папке OBJECTS игры. Степень приближения-удаления регулируешь последним параметром. Слишком приближать не стоит (ближе 5), ибо, как это ни парадоксально, объекты в локации могут оказаться... внутри этой планеты Улыбка Так же степень приближения зависит от качества текстуры - если хорошая и подробная, можно расположить объект поближе, чтобы было лучше видно детали, если плохая, располагаешь подальше, чтобы было видно "вообще" В общем, везде и во всем необходимо соблюдать чувство меры и внутренней гармонии.

Напоследок хочу дать несколько бесплатных советов (можно не благодарить):
1. не старайся делать космос слишком ярким или кричащим - это сильно раздражает и отвлекает от самого действа.
2. всегда помни, что космос - всего лишь декорация для миссии. Всегда старайся подобрать космос так, чтобы выполнение миссии находилось в гармонии с тем, что геймер видит вокруг себя.
3. соблюдай цветовой режим - не пытайся сделать цвета звезды слишком яркими или ядовитыми. Геймер видит эти цвета на своем мамашипе и своих истребителях, и ему неприятно на них смотреть. Старайся сделать так, чтобы цвета в локации всего лишь придавали оттенок естественным цветам самого объекта - тогда у геймера отложится в голове, что "это та локации, где все объекты приобретают теплый оранжевый оттенок". Ему будет приятно перепройти мисиию, где его глаз не раздражает кислотный космос и кричащая палитра на обшивке его любимого мамашипа.
4. не старайся делать цвет облаков и туманностей белым - создается впечатление, что действие происходит где-то в атмосфере. По отношению к космосу получается гротеск.

В общем-то, все. Как всегда, ничего особо сложного и замудреного. Улыбка

Последний раз редактировалось: Michael_Moon (19:44 27-08-2017), всего редактировалось 1 раз
    Добавлено: 16:36 27-08-2017   
Protok St
 65 EGP


Рейтинг канала: 2(15)
Репутация: 8
Сообщения: 106
Откуда: Мирградъ-Земля
Зарегистрирован: 09.08.2009
Код:
; имя карты отражения уровня
ReflectionMap         = SR_Planet_1/SRP1_reflection.dds

Цитата:
отвечает за подсветку отражений на объекте...Придает объекту большую глубину и четкость за счет того, что создает на нем игру полутеней в рамках окрашивания основного амбиента.

Карта отражения - текстура которая будет отражаться на материалах модели со свойством "отражение".
Эта текстура не оказывает влияние на "подсветку, глубину, чёткость, игру полутеней и окрашивание амбиентом".
Эта текстура отражается на зеркальных поверхностях.
Что надо о ней знать, так это то, что она должна быть безшовной. Иначе при ближайшем рассмотрении зеркал будут видны стыки краёв текстуры - что в космосе, сами понимаете, не комильфо.
Для отражения текстуры ReflectionMap, кроме свойства на материале модели, необходимо иметь альфа слой на текстуре используемой самой моделью.
Добавлю примеры. Хорошо видно текстуру отражения на плоских панелях портала. А идеально её видно на Рамаданте, если из под низа посмотреть на углубление с трубами по левому борту.

Отличные гайды, Серж! Радуют во всех отношениях )

Последний раз редактировалось: Protok St (19:25 03-10-2017), всего редактировалось 1 раз
    Добавлено: 19:02 03-10-2017   
Michael_Moon
 100 EGP


Рейтинг канала: 4(72)
Репутация: -2
Сообщения: 669
Откуда: РК, Кокшетау
Зарегистрирован: 15.02.2011
Влияние как раз оказывает, Ратмир, т.к. в игре у тебя все объекты зеркалят - больше или меньше Улыбка Зеркалят, потому что все текстуры имеют альфу Улыбка Именно этим передается типа игра полутеней, хотя на самом деле происходит то, что ты описал Улыбка
    Добавлено: 21:51 03-10-2017   
Protok St
 65 EGP


Рейтинг канала: 2(15)
Репутация: 8
Сообщения: 106
Откуда: Мирградъ-Земля
Зарегистрирован: 09.08.2009
Хорошо, что с "подсветкой, глубиной, чёткостью, и окрашиванием амбиентом", мы уже согласны.

Теперь, о полутени.
Michael_Moon :
этим передается типа игра полутеней


Сперва:
полуте́нь — слабая тень, возникающая, когда объект освещён несколькими источниками света. Она также образуется на поверхности, обращённой к источнику света под небольшим углом;

Откуда следует, что "игра полутеней" передаётся размещением нескольких источников света.

Эффект отражения на текстуре(материале модели) не является источником света, и не взаимодействует с освещением.
При любом освещении эффект зеркала будет работать одинаково.
Это проверяется выставлением альфы на 100%. Получится полное отражение ReflectionMap, которое будет одинаковым при любом освещении.

Текстура отражения ReflectionMap указанная в среде, не влияет на перечисленные показатели.

Это не отменяет факта, что текстура отражения придаёт объектам особый вид. Однако она это делает вне зависимости от показателей освещения и амбиента. Таков графический движок. Одна и та же текстура отражения будет давать одинаковый эффект в разных условиях освещения и амбиента.
    Добавлено: 22:37 03-10-2017   
Michael_Moon
 100 EGP


Рейтинг канала: 4(72)
Репутация: -2
Сообщения: 669
Откуда: РК, Кокшетау
Зарегистрирован: 15.02.2011
Не придирайся. Улыбка Независимо от технического исполнения эффект передается именно такой, какой я описал Улыбка
Присмотрись внимательней: ReflectionMap стараются подогнать под текстуру космоса (во всяком случае под её наиболее значимые детали). Получается, типа фон (туманности, скопления и т.д.) зеркалит на поверхности, как будто на неё ложится некий неяркий свет далеких светящихся объектов (которые объектами вовсе не являются). Т.е. получается как бы дополнительный эффект освещения, независимо от имеющихся основных "светильников".
Так что именно то и есть: "Придает объекту большую глубину и четкость за счет того, что создает на нем игру полутеней в рамках окрашивания основного амбиента" Подмигиваю

Последний раз редактировалось: Michael_Moon (06:16 04-10-2017), всего редактировалось 1 раз
    Добавлено: 06:14 04-10-2017   
Protok St
 65 EGP


Рейтинг канала: 2(15)
Репутация: 8
Сообщения: 106
Откуда: Мирградъ-Земля
Зарегистрирован: 09.08.2009
Michael_Moon :
Т.е. получается как бы дополнительный эффект освещения, независимо от имеющихся основных "светильников".

Это не освещение, не как бы освещение. Это отражение.
В данном случае мне неясны причины побуждающие подменять понятия.
    Добавлено: 11:41 04-10-2017   
Michael_Moon
 100 EGP


Рейтинг канала: 4(72)
Репутация: -2
Сообщения: 669
Откуда: РК, Кокшетау
Зарегистрирован: 15.02.2011
R4JVR :
Это не освещение, не как бы освещение. Это отражение.

Отражение чего?
    Добавлено: 13:15 04-10-2017   
Protok St
 65 EGP


Рейтинг канала: 2(15)
Репутация: 8
Сообщения: 106
Откуда: Мирградъ-Земля
Зарегистрирован: 09.08.2009
Michael_Moon :
Отражение чего?

"На колу мочало, начинаем всё с начала." Хы...
http://www.elite-games.ru/conference/viewtopic.php?p=3540714#3540714

"Не учи учёного, по кругу верчёного." Улыбка
Беседа с человеком, который при любых обстоятельствах сохраняет свою точку зрения - доставляет. Подмигиваю

Серьёзно, Серж, по-моему, про отражение написано достаточно. И то, что ты остаёшься при своём мнении - достойно уважения.

Телепортация
У меня есть другой вопрос где ты сможешь блеснуть знанием движка.
На каком расстоянии от камеры объекты в игре исчезают из вида?
Это расстояние константа для всех машин-компов или зависит от их мощности?
Настраивается ли это расстояние вручную, настройками конфига например?
    Добавлено: 16:14 04-10-2017   
Michael_Moon
 100 EGP


Рейтинг канала: 4(72)
Репутация: -2
Сообщения: 669
Откуда: РК, Кокшетау
Зарегистрирован: 15.02.2011
Это не константа. Задается в main.ini файла в корне игры.

Итак, отражение чего мы видим на объектах? Вопрос с точки зрения обывателя, которому твои "тонкости игростроя" до Красной армии. Если что, не надо мне объяснять про текстуры и альфа-слои. Я, как обыватель, в них не разбираюсь и разбираться не хочу - захожу в любимую игру и просто играю.
    Добавлено: 17:44 04-10-2017   
Звездные волки 2: Гражданская война -> МОДовый отсек: «Секреты моддинга (Вопросница)»
На страницу: Пред.  1, 2, 3 ... 46, 47, 48 ... 54, 55, 56  След.    Перейти:   Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Хотя, с нашей скоростью постинга в конфу, конец темы ты можешь и не увидеть... (Harley)

  » Секреты моддинга (Вопросница) | страница 47
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18