Войти на сайт Регистрация Лента форума Пользователи Правила сайта Поиск по форуму
Модератор форума: 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 по ссылке из шапки и соседнюю тему "Курс молодого бойца",
возможно Ваш вопрос уже рассматривался.


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


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

MrFocusnik, С персами все проще. Загружаете в милк шейп и оттуда в нужном формате экспортируете. Она поддерживать большое количесво их.
С локациями труднее. Придется декомпилить в формат SDK потом из SDK в object вытягивать и потом в максе менять формат. Гемороя многовато конечно
 
FantomICWДата: Ср, 26.06.2013, 20:50 | Сообщение # 482
Лидер «Свободы»
Свобода
Сообщений: 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 | Сообщение # 483
Новичок
Пользователи
Сообщений: 82
Награды: 0
Репутация: [ 0 ]

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

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


 
sergej5500Дата: Пн, 01.07.2013, 22:58 | Сообщение # 485
Полевой Исследователь
Ученые сталкеры
Сообщений: 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 | Сообщение # 486
Полевой исследователь
Ученые сталкеры
Сообщений: 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 | Сообщение # 487
Отмычка
Пользователи
Сообщений: 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 | Сообщение # 488
Техник Вольных
Вольные сталкеры
Сообщений: 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 | Сообщение # 489
Мастер
Пользователи
Сообщений: 598
Награды: 3
Репутация: [ 49 ]

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


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

sniper777, textures\intro\

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

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


[cut=тл][/cut]
 
FantomICWДата: Сб, 13.07.2013, 01:57 | Сообщение # 492
Лидер «Свободы»
Свобода
Сообщений: 4438
Награды: 44
Репутация: [ 1340 ]

sniper777, textures/ui/ui_main_menu.dds


 
yakutiДата: Сб, 13.07.2013, 12:06 | Сообщение # 493
Отмычка
Пользователи
Сообщений: 46
Награды: 0
Репутация: [ 7 ]

Не совсем понял как такое раздвоение исправлять
http://s018.radikal.ru/i505/1307/da/6e18de3aea1f.jpg
 
denis2000Дата: Сб, 13.07.2013, 12:32 | Сообщение # 494
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

yakuti, Выбрать что-то одно или crosshair текстуру или механический прицел. Оба одновременно выглядят примерно так.

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
PecheneginДата: Вс, 14.07.2013, 15:43 | Сообщение # 495
Отмычка
Пользователи
Сообщений: 25
Награды: 0
Репутация: [ 0 ]

Привет Знатокам!!! Кто-нибудь пробывал конструировать модель оружия в программе "Autodesk Inventor" для Сталкера? Совместимы ли расширения файлов Инвентора для вставки в Сталкер, и можно ли, сделанную в Инвенторе модель винтовки, вставить в игру? Может быть необходимо использовать для моделирования оружия в Cталкере, только SDK или Макс3д?

Pechenegin
 
Поиск: