Перейти к содержанию

Рекомендуемые сообщения

 
 

Решил я значит сделать новую модель НПС через Milkshape. Делал модель в комбезе Заря и в стальном шлеме.
Всё получилось, модель создалась, в игру ввелась. Но всё же есть одна маленькая проблема. На шлем неправильно падает освещение, как-то квадратами (скриншоты прилагаю). С чем это может быть связано, что нужно сделать?

 

Screenshot_6128.png.57860add2352b7234ad8294a3766be9b.pngScreenshot_6129.png.d586beadf0d3d852fab804d3df2886ab.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
8 минут назад, Sidorovich сказал:

На шлем неправильно падает освещение

Это называется сглаживание...

  • Хабар 1

DCM

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
35 минут назад, Policai сказал:

Это называется сглаживание...

Я уже пытался два раза сделать сглаживание, но ничего не получилось. В первый раз всё так и осталось, а во второй модель поломалась...

Изменено пользователем Sidorovich

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Sidorovich Надо в милке сгладить модель, у меня была похожая проблема. В милке выдели всю модель (или нужную группу) и нажми Ctrl + W, потом экспортируй.

Изменено пользователем liner
  • Хабар 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Sidorovich  Я вообще в милке не разбираюсь, привык работать в максе. там модификатор smooth...
 

 

  • Хабар 1

DCM

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
32 минуты назад, liner сказал:

Sidorovich Надо в милке сгладить модель, у меня была похожая проблема. В милке выдели всю модель (или нужную группу) и нажми Ctrl + W, потом экспортируй.

Не помогает...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
14 минут назад, Sidorovich сказал:

Не помогает...

ну тогда как вариант тебе ставить макс для таких случаев и плагин экспорта в формат милки...

  • Хабар 1

DCM

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
4 минуты назад, Policai сказал:

ну тогда как вариант тебе ставить макс для таких случаев и плагин экспорта в формат милки...

Всё, я разобрался. Оказалось, проблема была в том, что в SDK не ставил галочка у Make progressive! Из-за этого и нифига не сглаживалось.
В общем, всем кто пытался помочь - спасибо. С меня - по хабару!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 час назад, Sidorovich сказал:

Всё, я разобрался. Оказалось, проблема была в том, что в SDK не ставил галочка у Make progressive! Из-за этого и нифига не сглаживалось.
В общем, всем кто пытался помочь - спасибо. С меня - по хабару!

Там под ней ещё галочка с hq geometry по моему. Вот эту используй для худового оружия, если вдруг и туда полезешь.

 

Можно ли в ЗП без правок двигла один из слотов под оружие сделать слотом только для пистолетов и как? Знаю в ТЧ пистолетный превращали в слот для всего оружия, а тут? Манипуляции со строчкой slot в параметрах оружия ничё не дали, ну оно и понятно, в ТЧ без гемора можно было и контейнеров для артов сколько хочешь сделать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Last_Dawn вряд-ли. В движке все взаимодействия с этими двумя слотами могут быть как и с пистолетом, так и с другим оружием.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
10 часов назад, WolfHeart сказал:

Вот твой вылет: xr_graph_merge.cpp

 так у меня в game_levels все правильно прописано, я проверил 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
21 минуту назад, torch228 сказал:

 так у меня в game_levels все правильно прописано, я проверил

А там разве только из за game_levels может быть такой вылет?

А остальные пункты по которым может происходить данный вылет проверил?


EaRLNb6.gif
AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb).
Windows -10 PRO (х64)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 час назад, WolfHeart сказал:

А там разве только из за game_levels может быть такой вылет?

А остальные пункты по которым может происходить данный вылет проверил?

я скомпилировал ai сетку, а затем all spawn и все норм. но при загрузке локации уже в самой игре, у меня вылетает с таким логом:

Спойлер

Expression    : 
Function      : CRender::level_Load
File          : D:\prog_repository\sources\trunk\Layers\xrRenderPC_R2\r2_loader.cpp
Line          : 33
Description   : Level doesn't builded correctly.


 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
2 минуты назад, torch228 сказал:

я скомпилировал ai сетку, а затем all spawn и все норм. но при загрузке локации уже в самой игре, у меня вылетает с таким логом:

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


EaRLNb6.gif
AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb).
Windows -10 PRO (х64)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 минуту назад, WolfHeart сказал:

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

ну да, я ту ошибку исправил при компиляции, но теперь другая появилась 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
Только что, torch228 сказал:

но теперь другая появилась

По этой ошибке, достоверно известных причин нет, есть различные мнения.

Вот можешь почитать может что поможет: Level doesn't builded correctly.


EaRLNb6.gif
AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb).
Windows -10 PRO (х64)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
В 28.12.2021 в 01:23, Last_Dawn сказал:

В личку отпиши, если найдёшь способ портировать, я просто другим сейчас занят. Сам бы очень хотел себе наган из OGSR

После пары бессоных ночей и так далее по тексту - (http://sigerous.ru/forum/322-208-1) здесь есть решение, урок 32, вместо милкшейпа - блендер + хрей плагин Павла Бленда (https://github.com/PavelBlend/blender-xray/wiki#supported-blender-versions) + изучение самого плагина и работы блендера. Пока всё, изучаю, худо бедно начал понимать разницу между омф и огф, конвертацией игровых ресурсов в читаемый программами формат да привязке .skl\.skls файлов

 

  • Спасибо 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Функция relocate_actor_inventory_to_box не работает. Кто-нибудь подскажите, что не так?

Спойлер

%=relocate_actor_inventory_to_box(after_gast_cashe)%

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

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

Спойлер

FATAL ERROR
 
[error]Expression    : !m_error_code
[error]Function      : raii_guard::~raii_guard
[error]File          : ..\xrServerEntities\script_storage.cpp
[error]Line          : 748
[error]Description   : ...all of pripyat\gamedata\scripts\xr_reach_task.script:430: attempt to index a nil value

Подскажите пожалуйста, что можно с этим сделать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
6 часов назад, Крим сказал:

Функция relocate_actor_inventory_to_box не работает

Инвентарный ящик, в который перемещаем предметы,  должен быть он-лайн.

 

  • Мастер! 1

Терпение... И все получится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
7 часов назад, Крим сказал:

Функция relocate_actor_inventory_to_box не работает. Кто-нибудь подскажите, что не так?

  Сама функция (Показать контент)

%=relocate_actor_inventory_to_box(after_gast_cashe)%

 

Сами махинации я плохо помню, но думаю, в первую очередь было бы неплохо проверить, работают ли функции для ящика вообще. Попробуй для начала заспавнить в него какой-нибудь фиксированный предмет? (=spawn_object_in(id_предмета:story_id_бокса)

 

3 часа назад, Chieftain сказал:

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

  Лог (Скрыть контент)

FATAL ERROR
 
[error]Expression    : !m_error_code
[error]Function      : raii_guard::~raii_guard
[error]File          : ..\xrServerEntities\script_storage.cpp
[error]Line          : 748
[error]Description   : ...all of pripyat\gamedata\scripts\xr_reach_task.script:430: attempt to index a nil value

Подскажите пожалуйста, что можно с этим сделать?

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

Единственное - если кто-то из них умрёт, трудно будет сделать проверку обычному отряду, умер ли кто-то на старой локации.

Поэтому лучшее, что я в данном случае могу посоветовать:
1) Делаешь из всех участников отряда эксклюзивных НПС
2) Делаешь каждому проверку on_death по инфопоршням (если один НПС умирает - выдаётся специальный инфопоршень, если второй - ещё один, уже новый)

Пример:
 

Спойлер

[for_bunker_infernis_squad]:online_offline_group
faction = freedom
npc = for_infernis
target_smart = for_bunker_smart
story_id = for_bunker_infernis_squad
on_death = %+for_infernis_dead% ;та самая функция, которая выдаёт инфо for_infernis_dead, если член отряда, указанный в npc, умирает.


3) Делаешь новый отряд для новой локации
4) Через логику рестриктора спавнишь этот новый отряд
5) Делаешь проверку на наличие инфопоршней убитых НПС (те, кто умерли на старой локации - выдали тебе инфопоршни, и если они всё ещё есть - эти персонажи не появляются на новой локации, или удаляются из неё).
Если что-то не понятно - могу расписать в деталях.

Кстати, вот урок по созданию эксклюзивов: Ссылка

6) Новому отряду указываешь в target_smart уже новый смарт террейн от той локации, на которой они находятся.
7) Если надо, отряд можно сначала заспавнить на другом смарт террейне - они потом всё равно пойдут к тому, который у них указан в таргете. Например, возле места, куда переходит ГГ, можно будет сделать новый смарт - и туда заспавнить отряд. Или указать каждому параметр spawn_point - и там указать точку, в которой они будут появляться. Саму точку указать по правилам от того смарта, что указан в таргете. Сам параметр указывается в squad_descr.

Пример:
 

Спойлер

[for_bunker_infernis_squad]:online_offline_group
faction = freedom
npc = for_infernis
target_smart = for_bunker_smart
relationship = friend
story_id = for_bunker_infernis_squad
spawn_point = for_infernis_spawn
on_death = %+for_infernis_dead%

;Здесь точка, где появляется for_infernis - for_infernis_spawn


Кстати, очень советую делать для квестовых отрядов каждому НПС эксклюзивные логики. Так намного проще управлять каждым из них, да и функционал значительно расширяется. Удачи!

Изменено пользователем Infernis

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
4 часа назад, Chieftain сказал:

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

  Лог (Скрыть контент)

FATAL ERROR
 
[error]Expression    : !m_error_code
[error]Function      : raii_guard::~raii_guard
[error]File          : ..\xrServerEntities\script_storage.cpp
[error]Line          : 748
[error]Description   : ...all of pripyat\gamedata\scripts\xr_reach_task.script:430: attempt to index a nil value

Подскажите пожалуйста, что можно с этим сделать?

Инфы мало что за новые локации. Граф-поинты настроены нормально для переходов неписей? Со смартами тоже всё ок?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 час назад, Infernis сказал:

Единственное - если кто-то из них умрёт, трудно будет сделать проверку обычному отряду, умер ли кто-то на старой локации.

Изобретаете велосипед.

В этом нет ничего сложного. В моде Связь Времен. еще 4 года назад была реализована схема переноса сквада на другой смарт , причем количество НПС , которое выжило в скваде после битвы с врагами, точно переносилось в процессе игры.

Для этого был создан сквад без НПС, например такой

[jup_a24_lena_squad]:online_offline_group
faction = smuggler
target_smart = jup_a24
story_id = jup_a24_lena_squad
spawn_point = jup_a24_lenfsq_1_walk

Дальше была выполнена функция %=respawn_squad_new_smart(jup_a15_lena_squad:jup_a24:jup_a24_lena_squad)%

В этом случае первый сквад( jup_a15_lena_squad ) был посчитан после боя в плане членов сквада и переспавнен на другом смарте (jup_a24 ) как новый сквад( jup_a24_lena_squad ).

Сама функция:

Спойлер

function respawn_squad_new_smart( actor, npc, p )
    --' p[1] - Story_id сквада, который будет удален, а НПС проспавнятся в скваде p[3]
    --' p[2] - Имя смарта, на котором проспавнится новый сквад.
    --' p[3] - Секция сквада, который будет проспавнен и в него будут добавлены НПС из сквада p[1].
    local respawn_squad_tbl = {}
    if ( p[ 1 ] == nil or p[ 2 ] == nil or p[ 3 ] == nil ) then
        abort("Wrong parameters in function respawn_squad_new_smart")
        return
    end
    local squad = get_story_squad( p[ 1 ] )
    for k in squad:squad_members() do
        local s_obj = alife():object( tonumber( k.id ) )
        local section = s_obj:section_name()
        table.insert( respawn_squad_tbl, section )
    end
    local squad_id = p[ 3 ]
    local smart_name = p[ 2 ]
    local board = sim_board.get_sim_board()
    board:remove_squad( squad )
    local smart = board.smarts_by_names[ smart_name ]
    local squad = board:create_squad( smart, squad_id, respawn_squad_tbl )
    board:enter_smart(squad, smart.id)
    for k in squad:squad_members() do
        board:setup_squad_and_group(k.object)
    end
    squad:update()
end

Для реализации были внесены изменения в с крипты sim_board. script и sim_squad_scripted.script

Их можно там посмотреть.

 

  • Мастер! 1

Терпение... И все получится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

makdm Ну, это уже кому как удобнее будет)

Я в Lua валенок, поэтому мне проще на оригинальных скриптах.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

makdm Все, разобрался, благодаря вам. Теперь вещи перемещаются в ящик.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   1 пользователь онлайн