МАГИСТЕРИУМ в T3Ed:   создать, избавиться, исправить

Автор Tiens, 28 сентября 2009 13:06:40

« назад - далее »

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

Tiens

ЛИРИЧЕСКОЕ ОТСТУПЛЕНИЕ:
Оглядываюсь назад и вижу кучу полезной информации, которая лежит мертвым грузом. Вот решила начать понемногу "публиковать". Вдруг кому пригодится?
Хочу сразу оговориться, что все объяснения даны очень сжато, поскольку рассчитаны на пользователя с некоторым опытом редактирования - ну хотя бы минимальным, в пределах KomagTutT3 (туториала Комага для новичков с сайта http://www.shadowdarkkeep.com/).
И заранее прошу прощения за бессистемность. Не уверена, что найду время составить из всего этого полноценный туториал.
Windows XP Professional SP3, Intel Core 2 CPU 6400 @ 2.13GHz each CPU (4.26GHz total), Random Access Memory 3.25Gb, NVIDIA GeForce 9600 GT, Motherboard ASUS P5KC, Monitor Resolution 1680x1050

Tiens

ВОПРОС:   В бета-версии, в комнате у ***, двигающая полка с книгами при движении не сбрасывала книги и подсвечник... Скажи, как ты это сделала?
да, эта фишка стоит патента! :lol:
придется изрядно попотеть, так что сперва доведи этот шкаф до ума на тестовой карте. кстати, сам шкаф-дверь ничем особенным не отличается. Каким бы способом ты его ни сделал, в любом случае книги на нем держаться будут.
умеешь цеплять (с помощью связей Links) на NPC разные предметы одежды и другую лабуду? здесь тот же принцип, только вместо пьяного стражника - шкаф, а вместо одежды - книги. кстати, у Комага есть разделы про прикрепление замков к дверям и про навешивание кошелька на чувака.
СЛОЖНОСТИ:
* книга (и любой другой предмет) должна быть передвигаемая, так что лучше её брать из раздела "мусор" в Actor Browser (кажется, Junk или что-то похожее).
* книга не должна подсвечиваться или хвататься игроком (про это тоже есть у Комага), иначе при первой же попытке игрока бросить эту вещь, она улетит обратно на полку.
* самое нудное - правильно подогнать книгу на её место:
в меню связей Links есть раздел про взаимное положение связанных предметов (кажется, называется Offset или что-то в этом роде). общих правил тут почти нет - чистой воды эксперимент: вводишь разные цифры, двигаешь шкаф, смотришь куда прыгнула книга, опять вводишь цифры... правда, до этих экспериментов поставь размер сетки на 1 - так удобнее смотреть результаты.
единственно, важно помнить, что для простого передвигания книги по осям XYZ достаточно цифр от 0 до 100, а для вращения - от 0 до 33000 (верхнего предела не существует, но обычно 33000 это поворот примерно на 360 градусов).
а также учти, что вводимые цифры могут быть как положительными (без какого-либо знака "15"), так и отрицательными (со знаком минус "-15"). а еще могут быть дробными ("1.25" или "-1.25").
Добавлено позже
clearing, боже мой, ну откуда ты инфу добываешь? :lol:
[Исправлено: Tiens, 28 сен. 2009 13:13]
Добавлено позже

ВОПРОС:   Можно ли добавить мэшу (предмету) новый скин (или текстуру... как там правильно) которой у него не было? Например, хочу добавить доскам такую текстурку, что бы слить их с окружающей обстановкой. Как это можно сделать?
это называется "Add Skin" - "добавить скин". конечно, можно.
выделяешь в Textures Browser нужную тебе текстурку. находишь в "видоискателе" свой меш, зажимаешь Alt и щелкаешь ЛКМ - текстура накладывается. если понравилось - выделяешь меш и щелкаешь ПКМ, выбираешь в списке строку "Static Mesh - Add Skin" и вписываешь ей новое имя. далее ребилдинг и обязательно запуск в Game Mode.
почему-то без проигрывания в игровом режиме эта функция - создание новых скинов - глючит и теряет данные. ваще-то можно "ребилдинг и т.д." провести сильно потом, после пере-скинивания кучи объектов, но главное про него не забыть. иначе в следующий раз зайдешь в редактор и увидишь, что твои новые скины не сохранились.
а с остальными копиями этого предмета уже выбираешь свой новый скин из списка.

[Исправлено: Tiens, 28 сен. 2009 13:28]
Windows XP Professional SP3, Intel Core 2 CPU 6400 @ 2.13GHz each CPU (4.26GHz total), Random Access Memory 3.25Gb, NVIDIA GeForce 9600 GT, Motherboard ASUS P5KC, Monitor Resolution 1680x1050

Tiens

ВОПРОС:  А можно сделать чтоб книги читались на русском до упаковки ФМ?
конечно, можно. поменяй расширения файлов с *.txt на *.sch
и вообще привыкай сразу создавать тексты в формате sch. этот формат без проблем читает виндосовский блокнот. не факт, что читаться будет именно на русском (не знаю, не пробовала запускать игру из редактора на русском), но в тестовом игровом режиме книга будет открываться и показывать текст. для теста это важно.
Windows XP Professional SP3, Intel Core 2 CPU 6400 @ 2.13GHz each CPU (4.26GHz total), Random Access Memory 3.25Gb, NVIDIA GeForce 9600 GT, Motherboard ASUS P5KC, Monitor Resolution 1680x1050

Tiens

ВОПРОС: ...возле тикающих часов (кстати меша часов я не нашел и поставил кругляк бочки в стену. В темноте один фиг не опознают).
гы :))) воображение - полезная штука. хотя ваще-то циферблат часов в Т3 существует (вспомни часовую башню), правда, огроменный. его понадобится очень сильно уменьшить (через Draw Scale) и сделать ему "никакую физику" (чтоб ходить не мешал).

ВОПРОС: А как ВЫСТАВИТЬ "никакую физику" (чтоб ходить не мешал) при уменьшении размера колоны через Draw Scale?
в свойствах есть две группы свойств, отвечающие за физику Physics - там есть графы со списками, где можно выбрать из нескольких вариантов эдакую "никакую физику" - надпись типа "бла-бла-бла_None"
ДОБАВЛЕНО ПОЗЖЕ:
Вот более подробно:
- Раздел "Movement" -> свойство "Physics" изменить на "PHYS_None"
- Раздел "Physics" -> свойство "Initial Havok State" изменить на "Havok_None"
[Исправлено: Tiens, 10 фев. 2010 14:31]
Windows XP Professional SP3, Intel Core 2 CPU 6400 @ 2.13GHz each CPU (4.26GHz total), Random Access Memory 3.25Gb, NVIDIA GeForce 9600 GT, Motherboard ASUS P5KC, Monitor Resolution 1680x1050

clearing

Tiens, хотелось бы узнать поподробнее (может и скрины) маленькой тестовой карты, где реализованы некоторые интересные фишки - летающие над головой хрени, ломающиеся в нескольких местах деревья, качающиеся от ветра ветки, водяная воронка и т.п. :sly:

Savar

Знакомые вопроссы :embarassed:
Цитироватьв меню связей Links есть раздел про взаимное положение связанных предметов (кажется, называется Offset
Искал, но не нашёл.

Tiens

Цитироватьclearing написал(а) 5 окт. 2009 6:25
Tiens, хотелось бы узнать поподробнее (может и скрины) маленькой тестовой карты, где реализованы некоторые интересные фишки...
э, нет! :) пусть это сначала выйдет в ФМке. кое-что уже проверено и точно будет в моей части для The Cabal.

ЦитироватьSavar написал(а) 5 окт. 2009 12:52
Цитироватьв меню связей Links есть раздел про взаимное положение связанных предметов (кажется, называется Offset
Искал, но не нашёл.
т.е. как до этого Offset добраться? вся последовательность действий такая:
* выделяешь объект (в данном случае - шкаф, хотя можно и книжку - разницы не будет), далее щелкаешь ПКМ. в появившемся меню выделяешь Actor Links.
* в открывшемся окне находишь и выделяешь ту связь Rigid Attachment, которую надо править. далее жмешь на кнопку Edit Selected Link - открывается окно свойств данной связи (Properties).
* вот тут, в списке свойств, и ищи раздел Offset и его два подраздела - m_rotationOffset (поворот приклепленной книжки в разные стороны) и m_translationOffset (смещение книжки вдоль осей X, Y и Z).

Добавлено позже
ВОПРОС:   Какие нужны скрипты, чтобы призрак убивался только святой водой?
это не скрипты (вернее, скрипт не сработает). делается просто:
в Actor Browser зайди в раздел Pawn - Creatures, в подраздел с зобяками, и создай нового зомбяка под каким-нить уже существующим. пропиши ему невидимость и наличие тени. запиши на бумажку, как он будет называться.
далее ищи в том же Actor Browser раздел Vulnerabilities, где создай свой новый Vulnerabilities с нужными тебе свойствами (по примеру остальных подгонишь как захочется). запиши на бумажку, как он будет называться.
далее опять вернись к зомбякам, выбери "папочку" твоего нового и загляни в его links (щелкаешь ПМК и читаешь список). выбираешь в списке линков тот, где есть слово Vulnerabilities, щелкаешь Copy Link и аккуратно вписываешь внизу в окошки имена твоего зомби и твоего Vulnerabilities, щелкаешь ОК.
далее в меню Actor Browser выбери Export All Script и Save All Packages. все, можешь вставлять в карту нового зомбяка.

Добавлено позже
ПРИМЕР для наглядности - свеже-созданный NPC (призрак), который можно повредить только святой водой:





Добавлено позже
На третьем рисунке пометки "Урон" и "Иммунитет" значат, что позиция (26) - это такая настройка свойств, при которой призрак умирает (УРОН), а позиция (15) - когда призрак никак не повреждается (ИММУНИТЕТ).
[Исправлено: Tiens, 8 июля 2010 15:40]
Windows XP Professional SP3, Intel Core 2 CPU 6400 @ 2.13GHz each CPU (4.26GHz total), Random Access Memory 3.25Gb, NVIDIA GeForce 9600 GT, Motherboard ASUS P5KC, Monitor Resolution 1680x1050

Tiens

ВОПРОС:   Недалеко от фонтана стоит каменный монстр, но не двигается и не реагирует. В "unr" карте этой твари нет.
это из скрытой группы - хвост от посещения Гамалл.
в редакторе открой список групп - это пиктограмма с зеленой буквой "G" в строке значков прямо под строкой меню. откроется маленькое скромное окошко со списком, где некоторые позиции отмечены галочкой. выдели галочками все-все позиции и жми "ОК". тады появится то, до сего момента было скрыто. можешь повторно открыть список групп и проверить, все ли выделено.

Windows XP Professional SP3, Intel Core 2 CPU 6400 @ 2.13GHz each CPU (4.26GHz total), Random Access Memory 3.25Gb, NVIDIA GeForce 9600 GT, Motherboard ASUS P5KC, Monitor Resolution 1680x1050

Tiens

ВОПРОС:   Светильник горит в одной комнате, но через стену свет попадает и в другую...
У стенки со светильником в свойствах нет галочки на "Cast Shadows" (т.е. "отбросить тень").
Если не помогает, то надо также добавить светильнику свойство "Lighting" -> "Shadow Extrusion Distance" - это, так сказать, "принудительное удлинение тени". Иногда надо добавить тень и мешу (т.е. предметам), "приколоченному" к освещенной стенке (особенно когда этот меш - оформление дверного проёма) - через свойство "Render" -> "Shadow Extrusion Offset". Кстати, в обоих случаях цифры могут варьироваться от 50 до 1024, хотя значения = 512 обычно хватает.
Всё вместе должно сработать.
[Исправлено: Tiens, 14 дек. 2009 4:34]
Windows XP Professional SP3, Intel Core 2 CPU 6400 @ 2.13GHz each CPU (4.26GHz total), Random Access Memory 3.25Gb, NVIDIA GeForce 9600 GT, Motherboard ASUS P5KC, Monitor Resolution 1680x1050

Serge

Цитироватьдля вращения - от 0 до 33000 (верхнего предела не существует, но обычно 33000 это поворот примерно на 360 градусов).
Точнее 32768 - 360 градусов
Цитировать* книга не должна подсвечиваться или хвататься игроком (про это тоже есть у Комага), иначе при первой же попытке игрока бросить эту вещь, она улетит обратно на полку.
Ни сколько хвататься сколько бросаться в игровой мир. Так например без проблем можно поместить лут, записки и ключи.
Кстати кто мне откроет страшную тайну как сделать дверь приоткрытой или ограничить ход ее поворота.:confused:

Tiens

ЦитироватьКстати кто мне откроет страшную тайну как сделать дверь приоткрытой или ограничить ход ее поворота.
Отрегулировать угол поворота можно через свойство m_hingeLimitMax. Оно находится в меню связей: ПКМ -> Actor Links -> выделить строку связи Hinged Attachment -> кнопка Edit Selected Link -> найти в Properties раздел Physics -> вручную вписать свойству m_hingeLimitMax желаемый угол поворота. По умолчанию значение угла равно 85 градусов, т.е. угол в 135 градусов даст дверь, распахнутую настежь, а угол в 60 градусов только слегка её приоткроет.
Исходя из этого легко организовать иллюзию "приоткрытой двери": надо повернуть дверь (в закрытом состоянии) прямо на карте в редакторе и вручную уменьшить ей угол поворота. Минус такого решения - сколько бы игрок ни хлопал дверью, она никогда не закроется "до конца". Теоретически тут может помочь скрипт, но мне пока не удалось найти работающий вариант подобного скрипта.
Windows XP Professional SP3, Intel Core 2 CPU 6400 @ 2.13GHz each CPU (4.26GHz total), Random Access Memory 3.25Gb, NVIDIA GeForce 9600 GT, Motherboard ASUS P5KC, Monitor Resolution 1680x1050

DJ Riff

Цитироватьно мне пока не удалось найти работающий вариант подобного скрипта
Может, просто по клику юзера удалять эту дверь и проявлять нормальную? (Извиняюсь, если не в кассу, случайно забрел :embarassed: )
Тьма тоже распространяется со скоростью света.

Zontik

Ну раз уж все здесь собрались...
В Thief 1/2 прокатил бы такой трюк:
1) подпереть дверь чем-нибудь тяжелым;
2) в редакторе дверь закрыта, но при старте миссии какой-либо триггер ее открывает; дверь приоткрывается, натыкается на объект и застревает;
3) после задержки в пару секунд этот подпирающий объект можно удалить.
Дайте глазам отдохнуть! Тёмное место

Serge

ЦитироватьМожет, просто по клику юзера удалять эту дверь и проявлять нормальную? (Извиняюсь, если не в кассу, случайно забрел  )
ЦитироватьНу раз уж все здесь собрались...
В Thief 1/2 прокатил бы такой трюк:
1) подпереть дверь чем-нибудь тяжелым;
2) в редакторе дверь закрыта, но при старте миссии какой-либо триггер ее открывает; дверь приоткрывается, натыкается на объект и застревает;
3) после задержки в пару секунд этот подпирающий объект можно удалить.
Эх хитрецы, до чего доводит человеческая изобретательность. :lol: Вариант от DJ Riff точно сработает, плюс скрипт очень простой не запутаешься. Но я думал что можно как-нить задать степень приоткрытости по-простому, а если нет, то придется скриптами.
Предлагаю свой вариант:
1) Повернуть дверь немного, это обеспечит ее приоткрытость, однако как выразилась Tiens она не будет закрываться до конца.
2) Это исправляем одноразовым скриптом. Юзер трогает дверь проходит время пока дверь будет проворачиваться на положенные ей 85 градусов, после этого она доворачивается вокруг оси на свою приоткрытость. Плюс на время поворота надо лишь игрока возможности взаимодействовать с ней иначе сложатся 2 противоположных движения.
Осталось только проверить :yes:
[Исправлено: Serge, 26 янв. 2010 20:09]

Tiens

ЦитироватьZontik написал(а) 26 янв. 2010 15:56
...В Thief 1/2 прокатил бы такой трюк:
1) подпереть дверь чем-нибудь тяжелым...
Интересная идея, но в T3Ed это работает по-другому. Свойство StartOpen (свойства двери Properties -> раздел Physics -> подпапка Door Controller -> свойство Start Open = True) открывает дверь при старте карты. Открывающаяся дверь прекрасно застревает, наткнувшись на разрушаемый ящик из раздела Set Dressing в Actor Browser (кстати, на обычный Static Mesh дверь вообще не реагирует), но как только ящик исчезает, дверь продолжает свое движение. Но все же можно провернуть вот такой финт:
1) настроить дверь так, чтобы она в положении "открыто" выглядела для игрока закрытой.
2) положить между косяком двери и самой дверью маленький ящичек, покрытый "невидимой" текстурой и не имеющий тени. Дверь воткнется в этот ящик и останется "приоткрытой".
3) добавить двери скрипт типа "When I'm frobbed by the player - Set [bOutOfWorld] to [TRUE] on linked objects of [Trigger Script]" и привязать ящичек к двери связью Trigger Script Link. Тогда, как только игрок схватится за дверь, она визуально откроется (по сути - "закроется"), а невидимый ящичек - исчезнет с прохода.
[Исправлено: Tiens, 28 янв. 2010 10:25]
Windows XP Professional SP3, Intel Core 2 CPU 6400 @ 2.13GHz each CPU (4.26GHz total), Random Access Memory 3.25Gb, NVIDIA GeForce 9600 GT, Motherboard ASUS P5KC, Monitor Resolution 1680x1050