Q/A

Добавлен , опубликован
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
28
RiseD, столько бреда за раз я давно не слышал
location lguz=Location(0,0);
unit myunit= // юнит к которому крепим камеру

define height=1800 //высота камеры относительно юнита

float GetZ(float x,float y){
    MoveLocation(lguz,x,y);
    return GetLocationZ(lguz);
}

void Update(){ // эту функцию вешаем на таймер с периодом 0,025
    float z=GetZ(GetUnitX(myunit),GetUnitY(myunit));
    if(z<0){
        z=0;
    }
    if(GetOwningPlayer(myunit)==GetLocalPlayer()){
        ResetToGameCamera(0);
        SetCameraField(CAMERA_FIELD_TARGET_DISTANCE,z+GetUnitFlyHeight(myunit)+height,0);
        SetCameraTargetController(myunit,0,z/2,false);
    }
}
пишу по памяти но вроде работает
21
nvc123, размести юнита с фиксированной высотой полёта в эдиторе - его высота будет напрямую зависеть от рельефа, но в игре высота его полёта зависит не только от рельефа. В остальном да - весьма вероятно что я написал бред. Сейчас проверю что вышло.
24
nvc123, в зависимости от типа передвижения еще может применяться интерполяция на перепадах высоты, была у меня когда-то проблема с этим, когда я систему снарядов делал.
21
nvc123, твоя штука устанавливает высоту камеры над юнитом на высоту точки рельфа под юнитом. Это не правильно.

prog, как решил?
24
RiseD, это лет пять назад было, если не больше, не помню уже. Скорее всего экспериментами с типом движения, но это работает для снарядов, но не очень применимо для всего остального.
21
prog, если ты про добавление/удаление морфа ворона, то это не оно. Оно не применимо к камере. А вот об интерполяции я бы почитал. Есть какой-либо материал по этой теме?
28
RiseD, я проверил свой код
он нормально работает над рельефом, водой и преградами(декор/юниты)
хз что тебе ещё надо
prog, сдвиг по y сглаживает последствия интерполяции для камеры
RiseD:
А вот об интерполяции я бы почитал. Есть какой-либо материал по этой теме?
какой материал
при большом перепаде высот летающие юниты используют интерполяцию чтобы не сразу падать вниз как камень а плавно опускаться
длится подобный эффект недолго
и при использовании сдвига по y почти не отражается на камере
21
Мне нужно настроить параметр "CAMERA_FIELD_ZOFFSET", а не "CAMERA_FIELD_TARGET_DISTANCE". Какой сдвиг? от чего зависит величина этого сдвига?
28
RiseD, ты мой код хоть тестировал?
и читал его?
или увидел 1 параметр и сразу кричать код гамно
судя по тому что ты писал до того как начать нести всякую херь тебе надо чтобы летающий юнит всегда был в центре камеры и не выходил за её пределы вне зависимости от того над чем он летит
я прав?
если нет то объясни нормально что должно получится
не прибегая к тому что тебе кажется или ты подумал
просто скажи как должен выглядеть результат
ибо в твоих комментах дофига того как по твоему всё работает но нету нигде того что должно быть на выходе (а ведь начинать надо с конца, тоесть с чёткого осознания того как будет выглядеть результат)
21
nvc123, пожалуйста скинь карту на которой ты это тестил.

судя по тому что ты писал до того как начать нести всякую херь тебе надо чтобы летающий юнит всегда был в центре камеры и не выходил за её пределы вне зависимости от того над чем он летит
Ты прав, нужно чтобы чтобы камера всегда была на какой-то высоте над юнитом. Где бы он не находился. Я уже упоролся с этой камерой -_-
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.