Перейти к контенту

[SoC] Вопросы по SDK


faniloko

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

Поздорову всем. Возникла проблема с Шейдер Эдитором для ТЧ - вылет при загрузке:

FATAL ERROR



[error]Expression : assertion failed
[error]Function : I:\xray-svn\editors\ShaderEditor\SHEngineTools.cpp
[error]File : I:\xray-svn\editors\ShaderEditor\SHEngineTools.cpp
[error]Line : 758
[error]Description : M

stack trace:

 

 

На 129-й странице такой же вопрос задавался, но ответа на него я не нашел. Если кто в курсе, помогите. 

Для начала переделал батник ( в нем почему-то Актор Эдитор ехе был прописан ), а потом запустил. До этого Шейдер Эдитором не пользовался, а тут решил освоить. Освоил... На СДК ЧН и ЗП ШЭ работает прекрасно, а вот на 0.4 не хочет.

После окончания загрузки локации в Level Editor'е X-Ray SDK 0.4 , в log'е, указаны ошибки:
CLight: Can't load sun.
Can't find shader 'levels\water01'
Can't find shader 'levels\water_ryska_lex'

Кто-нибудь сталкивался с такими?

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

@aka_sektor, нет наверное, но проблема в недостающих шейдерах. Откуда брал shaders.xr ? 

@aka_sektor, в Актор Эдиторе переназначь террейну аналогичные шейдеры. Справка по ним в доках к СДК есть. 

@Preparator, попробуй поставить все патчи (0.3 и 0.4) на твой СДК. Я с таким не сталкивался.

4-й патч стоит, а вот 3-й как-то не удосужился, сейчас попробую.



Не помогло. Тогда такой вопрос - если сделать шейдеры в СДК 0.6, в 0.4 они будут работать?

 

 2 @stalkerok007, так и сделал, понятно дело, но ни в какую не запускается. Будем поискать...

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

@stalkerok007, ставить поверх третьего патча, четвёртый - нет смысла. Нужно ставить сразу четвёртый, т.к. файлы в нём те же самые, просто несколько новых ещё добавлено.


@Preparator, судя по тому, что я понял из документации к SDK, сменить шейдеры water01 и water_ryska_lex, можно только открыв локацию в 3D редакторе, предварительно экспортировав её.

 

Из-за чего тогда ошибка:

CLight: Can't load sun.

 

Навряд ли она относится к недостаче нужных шейдеров воды.

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

@aka_sektor, шейдеры можно переназначить любому объекту в Акторе, ищи локу в папке обжект\левелс. Там все объекты локации. А но сан при первом запуске декомпилированой локи из билдов у меня всегда появлялась, при повторном не вылазило никогда. 

Изменено пользователем Preparator
  • Нравится 1

@Preparator, исправил пути к шейдерам в библиотеке объектов Level editor'а. В log'е больше нет ошибок:

Can't find shader 'levels\water01'
Can't find shader 'levels\water_ryska_lex'

 

У меня, и после 20-ой загрузки локации, не пропадает ошибка:

CLight: Can't load sun.

 

Не хотелось бы компилировать локацию с ней.

Изменено пользователем aka_sektor
@Preparator, не обязательно. Хотя в его случае не уверен. Я не ставил и все нормально. Изменено пользователем stalkerok007

@Preparator, понятно.

Хотел бы уточнить несколько моментов:

1) Влияет ли на что-либо месторасположение источника света $sun ?

2) Нужно ли кроме вкладки Light Control что-либо в нём затрагивать?

3) Существует инструкция для SDK 0.7, в которой говорится, что располагать Light нужно вначале локации, и создавать дополнительно Glow, уже на другом конце карты. Применима ли она к SDK 0.4 ?

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

@aka_sektor, 1 - можешь удалить  $sun, сохранить изменения и эта ошибка больше не вылезет. Я его никогда не ставил, потому как после манипуляций с локой файлы обновляются и строки  different file version больше не появлялись, так же как и can't load sun.

2 - нет источника, вопрос снимается.

3 - сомневаюсь, что в инструкции такое может быть написано, что-то не так ты понял. Расположение light и glow может быть любым( пример - бункер Сидоровича ).

Люди добрые помогите совсем девевяному. Установил SDK и патч 0.4 из шапки. Перенёс папку gamedata из игры в папку X-Ray SDK\level_editor с заменой. Теперь собственно сам вопрос: Как убрать с уровня ранее установленный предмет (не мной), а именно деревяный ящик.В all.spawn он прописан так:

; cse_abstract properties

section_name = physic_object

name = dc_physic_object_0176

position = -98.5496978759766, 7.30000019073486, 48.8937072753906

direction = 0, 0, 0

id = 65535

version = 118

script_version = 6

spawn_id = 7830

 

; cse_alife_object properties

game_vertex_id = 2445

level_vertex_id = 70

object_flags = 0xffffff3a

 

; cse_visual properties

visual_name = objects\dynamics\box\box_wood_01

 

; cse_ph_skeleton properties

 

; cse_alife_object_physic properties

physic_type = 0x3

mass = 10

 

Дело в том что их там 100500 штук. Если удаляю все секции из файла локации в all.spawn, то после компиляции и начала новой игры получаю вылет по xrGame.dll. Может через SDK получится их удалить? Вот только как это сделать безболезненно.

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

@tor62, выбираешь в Edit Mode Spawn Element, потом наводишь на свой ящик, жмакаешь левой кнопкой мышки, если он выделился, жми кнопку Delete на клавиатуре, сохраняйся. Потом в эдитре в Scene жми Compile, Make Game. Получишь левел спавн в папке с локой ( что в геймдате лежит ). Этот спавн запаковываешь в all.spawn ( только переименуй в alife_имялокации). 

tor62, Если имеются в виду деревянные ящики, которые можно сломать, то через СДК их очень легко удалить. И безболезненно, и безгеморройно, если всё правильно делать.

 

Упс, пока писал - интернет затупил, а пока включился - меня уже опередили :) 

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

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

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...