Ну приоритет не глобальный, это именно внутри одной модели порядок геосетов в бленд моде раскидать. Тестил когда-то, вроде работало так, как ожидается.
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.
Jack-of-shadow, про мдлвис ничего не могу сказать (скрин пеона сделан в ретере после включения Wrap Width/Wrap Height), но в развётке видно, что художник перебрал и слишком уверенно на край залез, так как небольшой сдвиг верхний вершин вниз убирает шов.
Да, шов приходит с другого края, ибо при включённом Wrap UV текстура обёртывается вокруг меша. А при отключённом шва не видно из-за того, что в варкрафте край текстуры растянётся, чтобы закрыть пустоту под развёрткой.
Вот в Maya постое отключение WrapUV не вылечивает шов полностью, так как там шов просто окажется прозрачным. Ну, по крайней мере, у меня так с пеоном вышло.
Но могу сказать, что по ощущениям, майа апи это какая-то прям уродская штука (возможно, так кажется после некоторого знакомства с апи блендера, которое более интуитивное что ли).
WellDoneTrooper, есть еще маловероятный вариант - поиграть с настройками графики, поставить высокие-средние-низкие и потестить, мб что-то влияет. Как моделек, так и текстурок
На дореф патчах настройки детализации текстур нормально работают только с текстурами с длинами сторон, равными степени двойки. В вопросе 1920x1080...
загрузка UI теперь перемещена в main(), что позволяет избежать появления дефолт интерфейса на долю секунды после запуска карты. Inject main/config from WE trigger code
подкорректирован рандом, теперь одинаковые фигуры могут выпадать не более двух раз подряд.
Нужно просто создать война на позиции казармы, и отправить его в другую точку. И повторять это пока не надоест.
Есть два варианта решения задачи по перемещению юнита из одной точки в другую: отдать юниту стандартный приказ двигаться в точку, или же самостоятельно реализовать функцию перемещения юнита в нужную позицию. Примитивнейшая реализация может выглядеть так:
скриншотов нет
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
Без конкретной модели сложно что-то точно сказать, но судя по ошибкам, очень похоже, что сцена экспортируется в формате mdx1000, поэтому War3ME на ней и сыпется. Если это так, то поможет отключение галочки Use SkinWeights при экспорте, либо использование War3 Model Editor v1.08 beta, который умеет открывать новые форматы.
открыть в War3ModelEditor и там натягивать текстуры
Текстуры прекрасно натягиваются в самом блендере, во вкладке MDL Material Settings. И в обеих всериях ретеры тоже.
Базовый пример для 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
Была идея сравнивать с реальным os.time там число и это работает на луа в рефе, скорее всего сравнение с GetTimeOfDay тоже фигня полная, но я это так и не проверил, потому что утратил интерес к данной теме.
os.time() же в секундах возвращает, тогда уж лучше os.clock(), перспективный вариант для фикса мог бы быть
» Помойка Макебы / Суицидальная атака на Maya API
» Classic Asset Kit Extention / Мастерская
Ред. Makeba
» Classic Asset Kit Extention / Мастерская
» WarCraft 3 / RMS Twilac Edition
Ред. Makeba
» WarCraft 3 / RMS Twilac Edition
» WarCraft 3 / Избавляемся от швов
» Помойка Макебы / Суицидальная атака на Maya API
Ред. Makeba
» WarCraft 3 / Избавляемся от швов
» Помойка Макебы / Суицидальная атака на Maya API
» WarCraft 3 / Белый экран вместо изображения загрузки
» WarCraft 3 / FRAMETRIS (тетрис на фреймах)
» WarCraft 3 / Как сделать чтоб из казармы выходили воины во время кат сцены
Есть два варианта решения задачи по перемещению юнита из одной точки в другую: отдать юниту стандартный приказ двигаться в точку, или же самостоятельно реализовать функцию перемещения юнита в нужную позицию. Примитивнейшая реализация может выглядеть так:
» WarCraft 3 / Про ландшафт
» WarCraft 3 / Проблемы с экспортом из Блендера в Варкрафт
» WarCraft 3 / Проблемы с экспортом из Блендера в Варкрафт
Ред. Makeba
» WarCraft 3 / Отделения камеры
» WarCraft 3 / Как упростить работу с wordl editor lua?
» WarCraft 3 / Amy Rose (Sonic Heroes)
» WarCraft 3 / RMS Twilac Edition
» WarCraft 3 / RMS Twilac Edition
» WarCraft 3 / "Пересадка мяса"
» Королевство Нубдерон / Комментарии XGM как смысл жизни #1
» WarCraft 3 / Замедление внутренних таймеров в Рефордже
» WarCraft 3 / MRF — бессмысленный и беспощадный
» WarCraft 3 / MRF — бессмысленный и беспощадный