Войти на сайт Регистрация Лента форума Пользователи Правила сайта Поиск по форуму
Модератор форума: denis2000, FantomICW  
Форум » Моды для игр » Модостроение » Модостроение. Визуальный уровень
Модостроение. Визуальный уровень
denis2000Дата: Пн, 10.10.2011, 21:36 | Сообщение # 1
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Визуальный уровень

Редактирование текстур, добавление новых текстур в игру, 3D моделирование и т.д.

Если у вас появились вопросы по созданию и редактированию трехмерных объектов ,изменению и добавлению текстур. Задавайте их в этой теме - умные головы,
модосторители и просто разбирающиеся в программировании люди вам ответят.


Много интересного материала здесь (wiki), Lua_help.script, Help из SDK 0.7

Сборник модостроения ЗП v10.10.11 (автор: XOBAH): *.CHM, *.HTML
[cut noguest=Если у вас не открывается файл CHM]Если у вас не открывается файл:
1. Запустите [Пуск]=>[Выполнить] (либо хот-кей [WIN]+[R])
2. Введите команду (без кавычек) "regsvr32 %windir%\system32\hhctrl.ocx"
3. Если вылезло окно об успешном завершении вы все сделали правильно и можете перезагружать компьютер (а может и не надо)
Также: файлы МОГУТ не открываться если в пути к файлу есть: символы кириллицы, "_", "#"
Также: есть не стандартные программы-просмоторщики CHM файлов. Например: FBReader[/cut]

[cut=Где найти лог игры после вылета]Что такое LOG ошибки, и как мне его найти?
Это система отладки происходивших вылетов, которая подается игрой в форме текста, хотя не всегда.
Для того чтоб найти LOG необходимо зайти вот сюда:

В Win хр лог находится:

C:\Documents and Settings\All Users\Документы\S.T.A.L.K.E.R. - Зов Припяти\logs

Затем открываете первый файл в формате TXT, и в нем отбираете с низу 25 строчек. После кидаете эти 25 строчек в сообщение на форум.

В Win7 лог находится C:\Users\Public\Documents\S.T.A.L.K.E.R. - Зов Припяти\logs

Путь к папке с логом можно найти открыв файл fsgame.ltx который находится в корневой директории ЗП, за это отвечает строка:
...
$app_data_root$ = true | false| $fs_root$| users\
(тут мы указываем что папка пользователя, будет хранится рядом с Fsgame.ltx)
...
$logs$ = true| false| $app_data_root$| logs\
(а тут мы указываем что в папке пользователя, в подпапке Logs будут храниться наши логи)
...
[/cut][cut=Получение более подробной информации о вылете (ХОВАН)]
Открываем файл _g.script и ищем такую функцию: function abort(fmt, ...)
Там есть заккомментированная строчка "--error_log(reason)", ее и надо расскомментировать, должно получиться вот так:
Код
function abort(fmt, ...)
                       local reason = string.format(fmt, ...)
                       error_log(reason)
end

Вот для примера два одинаковых вылета, первый с функцией по умолчанию, второй - с поправленной функцией

Первый:
Код
Expression    : !m_error_code
Function      : raii_guard::~raii_guard
File          : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line          : 748
Description   : ....a.l.k.e.r. - Зов Припяти\gamedata\scripts\_g.script:478: bad argument #2 to 'format' (string expected, got nil)

Второй:
Код
Expression    : 0
Function      : ErrorLog
File          : D:\prog_repository\sources\trunk\xrServerEntities\script_engine_script.cpp
Line          : 49
Description   : 'Attempt to read a non-existant string field 'path_walk' in section 'walker@mechanic'

[/cut]


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


Если произошел вылет - выкладываем лог! Вопрос ставим четко, не забываем указывать версию игры, установленные моды их версии, установленные фиксы модов и подробно ваши правки.
Помните чем подробнее вопрос, тем точнее ответ.


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
gamerДата: Вт, 11.06.2013, 00:06 | Сообщение # 481
Новичок
Пользователи
Сообщений: 82
Награды: 0
Репутация: [ 0 ]

В сдк можно есть команда что б розмещать сразу обекты по центру(не крутить камерой)?
 
NiafaДата: Вт, 11.06.2013, 08:42 | Сообщение # 482
Отмычка
Вольные сталкеры
Сообщений: 42
Награды: 8
Репутация: [ 123 ]

gamer, принцип такой (касается макса, но скорее всего в майке так же): 1. Если пивот объекта отцентрирован по объекты (Center To Object), то в СДК объект будет появляться там же относительно глобального центра координат(виден на сетке), где он расположен в Максе относительно центра координат. 2. Если задать пивот объекта в координаты 0,0,0 в максе, в СДК объект появится в центре. Но в этом случае уже в игре могут проявиться непонятные вещи. Я встречался с такой ситуацией, что где бы не спавнился объект скриптом, появлялся он в центре координат локации.

Кроме того, проверь размер модели. Если она слишком большая (огромная), она может быть не видна, т.к. камера внутри модели. А если слишком мала, найти её сложно будет.


 
trommДата: Вт, 18.06.2013, 23:41 | Сообщение # 483
Отмычка
Пользователи
Сообщений: 28
Награды: 0
Репутация: [ 19 ]

denis2000 Хотел вернуться к своему посту от http://sigerous.ru/forum/17-2825-30 просто времени никак не было доделать и проверить, то что предлагаешь
Цитата (denis2000)
Свяжите новые вертексы ребрами и откорректируйте (если потребуется) наложение текстуры на новы полигоны.
у меня не получается наложить текстуры на новые полигоны, выложил свои действия в видеофайл http://yadi.sk/d/-DcHN1p84i_9c , что я сделал не так?


Всё что мы есть - это результат наших мыслей

Сообщение отредактировал tromm - Вт, 18.06.2013, 23:44
 
MrFocusnikДата: Чт, 20.06.2013, 18:20 | Сообщение # 484
Лекарь «Свободы»
Свобода
Сообщений: 391
Награды: 7
Репутация: [ 45 ]

Если заданная мною тема сюда не относится не ругайтесь smile

Суть моей просьбы заключается в том, что я не могу понять как перенести 3д модели локаций/персонажей в программу Cinema 4D. Пожалуйста подскажите как это сделать, а если есть возможность у Вас, то я готов принять эти файлы по скайпу(перед этим напишите мне в ЛС)

Спасибо за внимание.


 
АзазельДата: Чт, 20.06.2013, 19:14 | Сообщение # 485
Новичок
Пользователи
Сообщений: 77
Награды: 0
Репутация: [ 0 ]

MrFocusnik, С персами все проще. Загружаете в милк шейп и оттуда в нужном формате экспортируете. Она поддерживать большое количесво их.
С локациями труднее. Придется декомпилить в формат SDK потом из SDK в object вытягивать и потом в максе менять формат. Гемороя многовато конечно
 
FantomICWДата: Ср, 26.06.2013, 20:50 | Сообщение # 486
Лидер «Свободы»
Свобода
Сообщений: 4438
Награды: 44
Репутация: [ 1340 ]

Здравствуйте!
Создавал GUI по уроку Хована. При использовании предмета (от которого идет вызов) GUI расплывается, обрезается на 60%. Кнопку закрытия нажать невозможно. В чем проблема?
Действия:
[cut=ui_gui_elements.xml]
Код
<?xml version="1.0" encoding="windows-1251" ?>

<gui>
  <form_medkit_ai2 x="206" y="162" width="612" height="444">
   <texture x="0" y="0" width="612" height="444">ui\ui_medkit_ai2_gui</texture>
   <btn_close x="452" y="559" width="120" height="25">
    <texture>ui_inGame2_Mp_bigbuttone</texture>
    <text font="letterica18">ui_st_close</text>
   </btn_close>
  </form_medkit_ai2>
</gui>
[/cut]
[cut=ui_gui_elements_16.xml]
Код
<?xml version="1.0" encoding="windows-1251" ?>

<gui>
  <form_medkit_ai2 x="206" y="162" width="612" height="444">
   <texture x="0" y="0" width="612" height="444">ui\ui_medkit_ai2_gui</texture>
   <btn_close x="452" y="559" width="120" height="25">
    <texture>ui_inGame2_Mp_bigbuttone</texture>
    <text font="letterica18">ui_st_close</text>
   </btn_close>
  </form_medkit_ai2>
</gui>
[/cut]
[cut=ui_gui_elements.script]
Код
class "ui_medkit_ai2" (CUIScriptWnd)

function ui_medkit_ai2:__init(owner) super()
  self.owner = owner
  self:InitControls()
  self:InitCallBacks()
end

function ui_medkit_ai2:__finalize()
end

function ui_medkit_ai2:InitControls()
  self:SetWndRect   (Frect():set(0,0,1024,768))
  local xml, ctrl   = CScriptXmlInit(), CUIWindow()
  xml:ParseFile   ("ui_gui_elements.xml")
  self.form_medkit_ai2    = xml:InitStatic("form_medkit_ai2",self)
  ctrl = xml:Init3tButton    ("form_medkit_ai2:btn_close",    self.form_medkit_ai2)
  self:Register   (ctrl, "button_close")
end

function ui_medkit_ai2:InitCallBacks()
  self:AddCallback("button_close", ui_events.BUTTON_CLICKED, self.OnButton_close_clicked, self)
end

function ui_medkit_ai2:OnButton_close_clicked()
  self:HideDialog()
end

function run_ui_medkit_ai2(folder)
  folder:ShowDialog(true)
end
[/cut]
[cut=Вызов через коллбек]
Код
if item_name=="medkit_ai2" then  
run_gui (ui_gui_elements.ui_medkit_ai2())  
end
[/cut]
[cut=Функция в _g.script]
Код
function run_gui(gui, close_inv)
if close_inv == true then
gui:ShowDialog(true)
game_hide_menu()
level.show_weapon(false)
else gui:ShowDialog(true)
end
end

[/cut]
Текстура ui/ui_medkit_ai2_gui.dds



 
gamerДата: Пн, 01.07.2013, 20:38 | Сообщение # 487
Новичок
Пользователи
Сообщений: 82
Награды: 0
Репутация: [ 0 ]

Как уменшить количество полигонов на готовом обекте?
 
NiafaДата: Пн, 01.07.2013, 22:58 | Сообщение # 488
Отмычка
Вольные сталкеры
Сообщений: 42
Награды: 8
Репутация: [ 123 ]

gamer, есть два способа.
1. Внутренними модификаторами конкретного 3д-редактора. В максе это буду Optimize, Prooptimizer(вроде с 2010 версии), MultiRes. Работает быстро, результат средний. Очень просто перемудрить и получить инвалидные фейсы, если модель незамкнута.
2. Делать ретопологию. Это дизайнерский приём, когда High-poly модель полностью переделывается- лоу-поли сетка рисуется поверх хай-поли. Работа долгая, но результат того стоит. Есть специальный проги для этого.


 
sergej5500Дата: Пн, 01.07.2013, 22:58 | Сообщение # 489
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

Доброе утро. Решил добавить СГМ-персонажам уникальные иконки. Надоело, что Мольфар в окне торговли отображается как обычный наёмник. Редактирование файла ui_actor_portrets через Paint.Net проблем не вызвало. При открытии этого файла через SIE вылазит предупреждение (Эта текстура с числом mipmap-уровней больше одного). В Paint.Net есть опция (Генерировать Mip Maps). В связи с этим возник вопрос: какая от этих Mip Maps уровней польза? Пробовал сохранять файлы и так и эдак. С Mip Maps файл занимает больше места на жёстком диске. В чистом Зове Припяти Mip Maps нет. Грузятся иконки одинаково: что с Mip Maps, что без них. Заранее благодарен за информацию.

Сообщение отредактировал sergej5500 - Сб, 06.07.2013, 10:58
 
denis2000Дата: Пн, 01.07.2013, 22:59 | Сообщение # 490
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

sergej5500, Мипсы (Mip Maps) - это сформированные уменьшенные текстуры в плоть до 1 пикселя, нужны для того чтобы накладывать их на 3D модели на большом удалении от игрока. Например базовая текстура 512х512 пикселей, к ней формируются мипсы размерами 256х256, 128х128, 64х64, 32х32, 16х16, 8х8, 4х4, 2х2, 1х1 пиксель и теперь когда модель объекта близко к ГГ берется базовая текстура и натягивается, если расстояние например 20 метров берется 256х256 и так далее. Теперь ответ почему их используют: дело в том что если использовать большую текстуру и наложить на объект на большом удалении то при рендеренге возможны текстурные артефакты когда пиксель на экране принадлежащий удаленной модели будет менять свой цвет при незначительном изменении угла зрения, плюс наложение меньшей текстуры происходит быстрее. Минус такого метода - нужно больше текстурной памяти.
Отсюда вывод: для интерфейсной текстуры мипсы не нужны в принципе, поскольку не могут быть использованы, а размер файла, время загрузки увеличиваются и требуют больше текстурной памяти.


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
yakutiДата: Пт, 12.07.2013, 13:17 | Сообщение # 491
Отмычка
Пользователи
Сообщений: 46
Награды: 0
Репутация: [ 7 ]

Подскажите как такое исправить, я про прицелы
http://s019.radikal.ru/i627/1307/5d/42a5c368ffde.jpg
http://s019.radikal.ru/i638/1307/ea/e32e3ba0b79e.jpg

КМБ! Урок 16. denis2000
 
XOBAHДата: Пт, 12.07.2013, 16:31 | Сообщение # 492
Техник Вольных
Вольные сталкеры
Сообщений: 912
Награды: 21
Репутация: [ 991 ]

FantomICW, Файл текстуры должен быть с размерами, равными степени 2-ки (например, 512х1024, 1024х1024, но не 500х700, 600х600). К сожалению, я уже не могу глянуть на файл текстуры и сказать про ее размеры...
И еще, давно уже не кодил в сталке, тем более GUI, но у Вас, по-моему мнению, криво прописана сама кнопка в XML:
Форма имеет размеры 612х444
(<form_medkit_ai2 x="206" y="162" width="612" height="444">)
А кнопку вы располагаете гораздо ниже этой формы, а именно на 559 пикселе по Y, попробуйте поднять ее
(<btn_close x="452" y="559" width="120" height="25">)


 
sniper777Дата: Пт, 12.07.2013, 22:23 | Сообщение # 493
Мастер
Пользователи
Сообщений: 598
Награды: 3
Репутация: [ 49 ]

Где находятся картинки загрузочного экрана?


[cut=тл][/cut]
 
denis2000Дата: Пт, 12.07.2013, 22:30 | Сообщение # 494
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

sniper777, textures\intro\

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
sniper777Дата: Пт, 12.07.2013, 22:46 | Сообщение # 495
Мастер
Пользователи
Сообщений: 598
Награды: 3
Репутация: [ 49 ]

А картинка меню?


[cut=тл][/cut]
 
Форум » Моды для игр » Модостроение » Модостроение. Визуальный уровень
Поиск: