26

» Помойка Макебы / Суицидальная атака на Maya API

Поковыряв skinCluster чёт приуныл и охладил своё трахание, дальше меша и рига двигаться перехотелось.

Использую этот комментарий в качестве файлового хранилища
Загруженные файлы
26

» Classic Asset Kit Extention / Мастерская

Которое работает некоректно)
Ну приоритет не глобальный, это именно внутри одной модели порядок геосетов в бленд моде раскидать. Тестил когда-то, вроде работало так, как ожидается.
Priority Plane – Alpha-queued geosets can be made to draw in a specific order with relation to each other in the same model. The lower the value is, the sooner it is rendered. Values between -20 and 20 are regularly used.
26

» Classic Asset Kit Extention / Мастерская

в самой игре есть графический баг с отображением blend геометрии с непрозрачностью - движок путает, какую геометрию рендерить первой
Есть же свойство Priority Plane в материалах для установки порядка рендера
26

» WarCraft 3 / RMS Twilac Edition

не понимаю, для чего скачивать вашу версию, если в ней нет исполнямого файла
сделайте нормальную версию, чтобы запускалась с двух кликов
Загруженные файлы
26

» WarCraft 3 / Избавляемся от швов

Jack-of-shadow, про мдлвис ничего не могу сказать (скрин пеона сделан в ретере после включения Wrap Width/Wrap Height), но в развётке видно, что художник перебрал и слишком уверенно на край залез, так как небольшой сдвиг верхний вершин вниз убирает шов.
Да, шов приходит с другого края, ибо при включённом Wrap UV текстура обёртывается вокруг меша. А при отключённом шва не видно из-за того, что в варкрафте край текстуры растянётся, чтобы закрыть пустоту под развёрткой.
Вот в Maya постое отключение WrapUV не вылечивает шов полностью, так как там шов просто окажется прозрачным. Ну, по крайней мере, у меня так с пеоном вышло.
26

» WarCraft 3 / Избавляемся от швов

Приколы со швами в стандартных варкрафтовских моделях всплывают и в Maya, кстати

В самом варкрафте это видно при включённых Wrap U, Wrap V
26

» Помойка Макебы / Суицидальная атака на Maya API

Алексей Андреич, скорее начинаю.
Но могу сказать, что по ощущениям, майа апи это какая-то прям уродская штука (возможно, так кажется после некоторого знакомства с апи блендера, которое более интуитивное что ли).
26

» WarCraft 3 / Белый экран вместо изображения загрузки

WellDoneTrooper, есть еще маловероятный вариант - поиграть с настройками графики, поставить высокие-средние-низкие и потестить, мб что-то влияет. Как моделек, так и текстурок
На дореф патчах настройки детализации текстур нормально работают только с текстурами с длинами сторон, равными степени двойки. В вопросе 1920x1080...
26

» WarCraft 3 / FRAMETRIS (тетрис на фреймах)

Вышла новая версия! Прокрутить к ресурсу
  • загрузка UI теперь перемещена в main(), что позволяет избежать появления дефолт интерфейса на долю секунды после запуска карты. Inject main/config from WE trigger code
  • подкорректирован рандом, теперь одинаковые фигуры могут выпадать не более двух раз подряд.
Ну и ещё по мелочи там.
26

» WarCraft 3 / Как сделать чтоб из казармы выходили воины во время кат сцены

Нужно просто создать война на позиции казармы, и отправить его в другую точку. И повторять это пока не надоест.
Есть два варианта решения задачи по перемещению юнита из одной точки в другую: отдать юниту стандартный приказ двигаться в точку, или же самостоятельно реализовать функцию перемещения юнита в нужную позицию. Примитивнейшая реализация может выглядеть так:
скриншотов нет
function playCinematic()
    createBarracks()
    SetSkyModel("environment\\sky\\lordaeronsummersky\\lordaeronsummersky")
    local t = CreateTimer()
    TimerStart(t, 2, false, function()
        CinematicModeBJ(true, GetPlayersAll())
        createFootmans()
        CameraSetupApplyForPlayer(true, gg_cam_Camera_002, Player(0), 0)
        CameraSetupApplyForPlayer(true, gg_cam_Camera_003, Player(0), 15)
        DestroyTimer(t)
    end)
end

function createBarracks()
    --если бараки уже стоят, то эта функция не нужна
    local barracks = CreateUnit(Player(0), FourCC('hfoo'), 0, 0, bj_UNIT_FACING)
    BlzSetUnitSkin(barracks, FourCC('hbar'))
    SetUnitScale(barracks, 2, 2, 2)
    SetUnitFacing(barracks, 300)
    SetUnitAnimation(barracks, "stand work")
end

function createFootmans()
    --здесь работаем с пехотинцами

    local function createFootman()
        --с каждым вызовом этой функции мы создаём нового пехотинца внутри казармы
        --включаем для него проигрывание анимации
        --и создаём таймер, в котором меняем его положение на карте

        local f = CreateUnit(Player(0), FourCC('hfoo'), 0, 0, -90)
        SetUnitPathing(f, false)
        SetUnitAnimationByIndex(f, 26)

        local x = GetUnitX(f)
        local tFootman = CreateTimer()
        TimerStart(tFootman, 0.015, true, function()
            local y = GetUnitY(f)
            if y < -3000 then
                --при достижении крайней точки удаляем футмана
                RemoveUnit(f)
                DestroyTimer(tFootman)
                return
            end
            SetUnitPosition(f, x, y - 1.5)
        end)
    end

    createFootman()

    local t = CreateTimer()
    TimerStart(t, 1.5, true, function()
        createFootman()
    end)
end

26

» WarCraft 3 / Про ландшафт

Максимум 16. Расширить до 16 можно с помощью HiveWE например
Загруженные файлы
26

» WarCraft 3 / Проблемы с экспортом из Блендера в Варкрафт

Без конкретной модели сложно что-то точно сказать, но судя по ошибкам, очень похоже, что сцена экспортируется в формате mdx1000, поэтому War3ME на ней и сыпется. Если это так, то поможет отключение галочки Use SkinWeights при экспорте, либо использование War3 Model Editor v1.08 beta, который умеет открывать новые форматы.

открыть в War3ModelEditor и там натягивать текстуры
Текстуры прекрасно натягиваются в самом блендере, во вкладке MDL Material Settings. И в обеих всериях ретеры тоже.
26

» WarCraft 3 / Отделения камеры

Базовый пример для Reforged. Остерегайтесь залипаний клавиш!
тысячи строк кода
CamKeys = {
    --задаём здесь желаемые клавиши на отдаление и приближение
    up = OSKEY_ADD,
    down = OSKEY_SUBTRACT
}

CamKeysShift = {
    --здесь задаём расстояние, на которое будет сдвигаться камера каждый тик таймера
    [CamKeys.up] = 7,
    [CamKeys.down] = -7,
}

CamKeysState = {
    [CamKeys.up] = false,
    [CamKeys.down] = false,
}

function initCamKeys()
    --инициализация триггоров на клавиши камеры и таймера опроса клавиш
    local camTrigger, releaseCamTrigger = CreateTrigger(), CreateTrigger()

    for _, value in pairs(CamKeys) do
        BlzTriggerRegisterPlayerKeyEvent(camTrigger, GetLocalPlayer(), value, 0, true)
        BlzTriggerRegisterPlayerKeyEvent(releaseCamTrigger, GetLocalPlayer(), value, 0, false)
    end

    TriggerAddCondition(camTrigger, Condition(controlCamKeys))
    TriggerAddCondition(releaseCamTrigger, Condition(controlCamKeysRelease))

    local t = CreateTimer()
    TimerStart(t, 0.01, true, function() setCameraDistance() end)
end

function controlCamKeys()
    CamKeysState[BlzGetTriggerPlayerKey()] = true
end

function controlCamKeysRelease()
    CamKeysState[BlzGetTriggerPlayerKey()] = false
end

function setCameraDistance()
    local shift = 0
    for k, v in pairs(CamKeysState) do
        local kShift = CamKeysShift[k]
        if v then
           shift = shift + kShift
        end
    end

    if shift ~= 0 then
        SetCameraFieldForPlayer( GetLocalPlayer(), CAMERA_FIELD_TARGET_DISTANCE, GetCameraField(CAMERA_FIELD_TARGET_DISTANCE) + shift, 0.00 )
    end
end
26

» WarCraft 3 / Как упростить работу с wordl editor lua?

nazarpunk, кажется, Берги удалил статью с сайта, была же вроде подробная, хоть и не про вс коде
26

» WarCraft 3 / RMS Twilac Edition

Вышла новая версия! Прокрутить к ресурсу
— Human readable settings [[[C:\Users\[USER_NAME]\AppData\Roaming\ReteraStudioBeta]]] (this might not properly import all existing settings)
26

» WarCraft 3 / Замедление внутренних таймеров в Рефордже

Была идея сравнивать с реальным os.time там число и это работает на луа в рефе, скорее всего сравнение с GetTimeOfDay тоже фигня полная, но я это так и не проверил, потому что утратил интерес к данной теме.
os.time() же в секундах возвращает, тогда уж лучше os.clock(), перспективный вариант для фикса мог бы быть
26

» WarCraft 3 / MRF — бессмысленный и беспощадный

Кек. Разбираем варик по косточкам :D
Не, по косточкам это к Унрузе, а мы тут так, по верхам проходим.
26

» WarCraft 3 / MRF — бессмысленный и беспощадный

Но теперь главный вопрос... Зачем это нужно?
Можно Артасу в ролике плащ поменять