Все посты %s в %S - AMK Team
Перейти к контенту

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


faniloko

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

Такой нубский вопрос,как локу перегнать в 3dsmax 7,8 ???

ато я нигде немогу найти нормального обьяснения :cray5:

Прошу прощения за банальный вопрос-Зачем всю локу перегонять в один объект? :shok:

В среднем на одной локе от 1 до 4 милионов полигонов,это сильная нагрузка на систему(если потянет).

Достаточно перегнать в стандартный LE режим и редактировать объекты по отдельности.Есть рабочие плагины импорта и экспорта в 3dsMax формата Objekt.

Genior.gif

button.png

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


Ссылка на сообщение

Утилита от bardaka,

Отрываешь converter.ini

Ищи строку:

[1935_config]

$game_data$ = E:\Games\build_1935\gamedata\ поменяй путь к сдк

$game_levels$ = E:\Games\build_1935\gamedata\levels\ поменяй путь к сдк

Перебиваешь в стандарт LE. Запускаешь LE свою локу,узнаёшь номер своего объекта(....._part0560.object)

В максе импортируешь этот меш и делай с ним что хочешь.

Genior.gif

button.png

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


Ссылка на сообщение

Ошибка настройки шейдеров статических объектов.

Касательно сетки:

Прозрачная металлическая сетка

Double side yes

Engine def_aref

Compiler default

Material material/setka_rabica

Настройка шейдеров и материалов для статических объектов:

Terrain Grass

Double side no

Engine terrain/grass

Compiler default

Material material/grass

Terrain Sand

Double side no

Engine terrain/sand

Compiler default

Material material/earth

Terrain Asphalt

Double side no

Engine terrain/asfalt

Compiler default

Material material/asphalt

Пробиваемый металлический лист

Double side no

Engine default

Compiler default

Material material/metal_plate

Прозрачная металлическая сетка

Double side yes

Engine def_aref

Compiler default

Material material/setka_rabica

Обычная металлическая поверхность

Double side no

Engine default

Compiler default

Material material/metal

Деревянные доски

Double side no

Engine default

Compiler default

Material material/wooden_board

Толстые деревянные изделия

Double side no

Engine default

Compiler default

Material material/wood

Бетон

Double side no

Engine default

Compiler default

Material material/concrete

Кирпичная кладка

Double side no

Engine default

Compiler default

Material material/bricks

Шифер, толь

Double side no

Engine default

Compiler default

Material material/shifer

Штукатурка

Double side no

Engine default

Compiler default

Material material/stucco

Земляная насыпь

Double side no

Engine default

Compiler default

Material material/earth

Невидимая плоскость, указывающая лестницу

Double side no

Engine def_vertex

Compiler def_kolizion_vertex

Material material/fake_ladders

Невидимая плоскость, ограждающая проход персонажу

Double side yes

Engine def_vertex

Compiler def_kolizion_vertex

Material material/fake

Разбиваемое стекло

Double side yes

Engine models/window

Compiler def_vertex

Material objects/glass

Вода

Double side no

Engine effects/water

Compiler def_vertex

Material material/water

 

Некоторые настройки не подходят к SDK0.7

Genior.gif

button.png

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


Ссылка на сообщение

Мод с участием Сидоровича для ЗП Slayer_mod_STALKER_COP

 

Скрипт на Сидоровича (bind_trader.script):

-----------------------------------------------------------------------------------
-- Sidor etc binding
-----------------------------------------------------------------------------------

function bind(obj)
    local new_binder = trader_object_binder(obj)
    obj:bind_object(new_binder)
end

------------------------------------------------------------------------------------
class "trader_object_binder" (object_binder)

function trader_object_binder:__init(obj) super(obj)
    self.loaded = false
end


function trader_object_binder:reload(section)
    object_binder.reload(self, section)
end

function trader_object_binder:reinit()
    object_binder.reinit(self)

    db.storage[self.object:id()] = { }

    self.st = db.storage[self.object:id()]
end

function trader_object_binder:update(delta)
    object_binder.update(self, delta)

    -- Апдейт торговли
    if self.object:clsid() == clsid.script_trader then
        trade_manager.update(self.object)
    end

    local st = db.storage[self.object:id()]
    if st ~= nil and st.active_scheme ~= nil then
        xr_logic.try_switch_to_another_section(self.object, st[st.active_scheme], db.actor)
    end
    
    if self.st.active_section ~= nil then
        xr_logic.issue_event(self.object, self.st[self.st.active_scheme], "update", delta)
    end
end

function trader_object_binder:net_spawn(sobject)
    if not object_binder.net_spawn(self, sobject) then
        return false
    end

    local on_offline_condlist = db.storage[self.object:id()] and db.storage[self.object:id()].overrides and db.storage[self.object:id()].overrides.on_offline_condlist
    if on_offline_condlist ~= nil then
        xr_logic.pick_section_from_condlist(db.actor, self.object, on_offline_condlist)
    end

    if not self.object:alive() then
        return true
    end
    
    if alife():object(self.object:id()) == nil then
        return false
    end

    db.add_obj(self.object)
    if self.object:clsid() == clsid.script_trader then
        self.object:set_trader_global_anim("idle_spinka")
        smart_terrain.setup_gulag_and_logic_on_spawn( self.object, self.st, sobject, modules.stype_trader, self.loaded)
    end
    
    return true
end

function trader_object_binder:net_destroy()
    xr_sound.stop_sounds_by_id(self.object:id())

    local st = db.storage[self.object:id()]
    if st and st.active_scheme then
        xr_logic.issue_event(self.object, st[st.active_scheme], "net_destroy")
    end

    if db.offline_objects[self.object:id()] then
        db.offline_objects[self.object:id()].level_vertex_id = self.object:level_vertex_id()
        db.offline_objects[self.object:id()].active_section = db.storage[self.object:id()].active_section
    end

    db.del_obj(self.object)
    db.storage[self.object:id()] = nil
    object_binder.net_destroy(self)
end

function trader_object_binder:net_save_relevant()
    return true
end

function trader_object_binder:save(packet)
    set_save_marker(packet, "save", false, "trader_object_binder")
    object_binder.save(self, packet)
    xr_logic.save_obj(self.object, packet)
    if self.object:clsid() == clsid.script_trader then
        trade_manager.save(self.object, packet)
    end
    set_save_marker(packet, "save", true, "trader_object_binder")
end

function trader_object_binder:load(reader)
    self.loaded = true
    set_save_marker(reader, "load", false, "trader_object_binder")
    object_binder.load(self, reader)
    xr_logic.load_obj(self.object, reader)
    if self.object:clsid() == clsid.script_trader then
        trade_manager.load(self.object, reader)
    end
    set_save_marker(reader, "load", true, "trader_object_binder")
end

 

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

Genior.gif

button.png

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


Ссылка на сообщение

С права над рабочей панелью есть:

список объектов либо(object_list)

 

Genior.gif

button.png

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


Ссылка на сообщение

Винда не причём,либо конвертер менять либо что-то в левел не хватает.

Genior.gif

button.png

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


Ссылка на сообщение

Отсутствуют Lod текстуры,для правильной декомпиляции карты - в батнике допиши команду (.................-mode le -with_lods)

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

Genior.gif

button.png

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


Ссылка на сообщение

Настройка воды:

Вода

Double side no

Engine effects/water

Compiler def_vertex

Material material/water

 

Genior.gif

button.png

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


Ссылка на сообщение

Настройка бьющегося стекла:

Engine models/window

Compiler def_vertex

Material objects/glass

Double side yes

 

 

Genior.gif

button.png

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


Ссылка на сообщение
Здравствуйте, у меня следующий вопрос:

Как создавать тайники в сдк?

Ставишь inventory_box со ссылкой на логику:

[logic]
cfg = scripts\treasure_inventory_box.ltx

И в настройках указываешь Стори ид-- (agr_secret_0027) соответственно нужно прописать gamedata\config\game_story_ids.ltx

Genior.gif

button.png

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


Ссылка на сообщение

Максимальное количество видов Lod объектов на одной локации = 64 вида.

При этом соотношении - получается level_lods.dds равный 2048*2048.Большего размера текстура не создастся.

Genior.gif

button.png

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


Ссылка на сообщение

Sad,

Это происходит при добавлении моделей из других версий СДК.Вспомни что последнее добавлял и попробуй удалять периодично запуская компилятор.

Genior.gif

button.png

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


Ссылка на сообщение

Вампир35,

Переустанови дефлаут сектор во вкладке сектора.

Genior.gif

button.png

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


Ссылка на сообщение

Попробуй сделать инсталяторы с помощью Microsoft Application Compatibility Toolkit

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

Genior.gif

button.png

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


Ссылка на сообщение

Пример:

converter -omf -skls krovosos_animation.omf
pause

 

Если речь идёт о конкретной анимации, а не скомпом, то можно и так:

converter -omf -skl название_анимации имя_файла_с_анимациями.omf

ColR_iT

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

Genior.gif

button.png

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


Ссылка на сообщение

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

C:\Program Files\X-Ray SDK\level_editor\logs\ - для 0.4

C:\Program Files\X-Ray CoP SDK\editors\logs\ для 0.7

И там будут лог файлы с Вашими ошибками. Выкладывайте на форуме чтоб мы могли понять в чём причина и как исправить.

Genior.gif

button.png

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


Ссылка на сообщение

НОМ - это очень важная вещь для оптимизации как и сектора и порталы!

НОМ разгружает визуализацию статических объектов в игре. За НОМ стенкой статика выгружается(исчезает).

Стенки НОМ ставятся не только в объекты(дома, контейнеры, бетонные заборы и т. д.) ими нужно разбивать терейн. В основном это делается по середине дорог, холмов, вокруг подземных объектов на локации.

Представьте Вы идёте вдоль бетонного забора внутри которого стоит НОМ стенка - Вы видите только сам забор и территорию на локации что по этой стороне забора. А вот что касаемо за забором, в данный момент, - прозрачная пустота, нет никакой статики. Как только вы доберётесь до края этого забора - то встаньте по средине, увидите и с правой и с левой стороны всё на объекты месте. Теперь вы двигаетесь по противоположной стороне - соответственно всё исчезает с обратной стороны.

PS.

В предшествующих уроках по 0.4 СДК - был урок о создании НОМ объекта из геометрии статического путём экспорта и импорти LWO.

Это не правильно. НОМ объекты должны иметь самое минимальное количество полигонов, обратите внимание что геометрия всех ном объектов на локации колеблются от 1кб и до 100кб. Если же создавать НОМ путём "экспорта и импорти LWO" то в итоге геометрия всех ном объектов превысит десятки мб. В итоге прерывистое движение камеры, безлоговые вылеты и многое другое.

В итоге - без НОМ плохо, а с неправильным ещё хуже!

  • Полезно 2

Genior.gif

button.png

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


Ссылка на сообщение

Не находит локацию, смотри game_levels - там прописан level ID локи. И ещё, не забыть скопировать правленные конфиги из СДК в папку с игрой.

Изменено пользователем genior
  • Полезно 1

Genior.gif

button.png

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


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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