Sidebar

Размер модели в игре

  • Автор теми Ayk
  • Дата створення

Ayk

Member
15.09.12
207
12
18
Размер энтити (модели) в игре

Здравствуйте.
Столкнулся с непонятной проблемой при создании ентити в игре и установкой модели.

Лор:
- взял картинку, 140х165, поставил в Милке как задний фон, создал каркас по контуру изображения, скомпилировал модель.
- модель в игре была большой, почти как игрок. Скомпилировал второй раз, с параметром #scale 0.5. Размер (визуально) в игре устраивал.

Суть:
- создаю ентити, прописываю свойства, размер:
Код:
engfunc( EngFunc_SetSize, ent, Float:{-X, -Y, -Z}, Float:{X, Y, Z} )
И вот тут начинаются траблы:
- если X и Y меньше 5.0, то Z игнорируется и в игре физический размер ентити 1х1х1, визуально больше (половина текстуры уходит в пол).
- если X и Y 5.0 или больше, то Z учитывается верно, при правильном Z текстура остается над полом.
- НО, даже если размер {6.0 6.0 6.0} (и - и +), то в игре ентити визуально далеко от стены но застревает в ней.
Чтобы ентити не застревала в стене, её нужно создавать примерно на 32.0 (больше 16.0 точно) от стены, даже если SIZE у ентити {5.0 5.0 5.0} (+ & -).

У кого какие идеи?

И ещё, как регулировать конечный размер модели в игре, если картинка эскиз на задний фон в Милке будет, к примеру, 1024х1024??
Если делать по контуру картинки, то в игре модель будет огромной.
 
Останнє редагування:

qpAHToMAS

Administrator
Команда форуму
Администратор
22.10.06
9 323
33
  • Золотая медаль 215
  • Золотая медаль 152
  • Серебряная медаль 136
  • Золотая медаль 221
Ayk сказав(ла):
- взял картинку, 140х165, поставил в Милке как задний фон, создал каркас по контуру изображения, скомпилировал модель.
- модель в игре была большой, почти как игрок. Скомпилировал второй раз, с параметром #scale 0.5. Размер (визуально) в игре устраивал.
Значит вопрос: как ставится фоновая картинка в милке (её масштаб).
Ты взял изображение 140x165 px, хочешь дабы оно было 140 и 165 юнитам соответственно? Это наверняка настраивается в момент установки фоновой картинки.
Если нет, то делай плоскость нужного размера и натягивай на неё текстуру фона.

Ayk сказав(ла):
Суть:
- создаю ентити, прописываю свойства, размер:
А что за ентитя? Сложный вопрос, может быть ты столкнулся с какими-нибудь hull'ами.
Если на карту поставить тот же cycler_sprite с моделькой, то в его центре будет невидимый (но материальный для некоторых объектов) bounding box (hull?).
 

Ayk

Member
15.09.12
207
12
18
qpAHToMAS сказав(ла):
Значит вопрос: как ставится фоновая картинка в милке (её масштаб).
Правый клик - выбрать фон - выбор - ОК.
Сейчас посмотрел, масштаб 0.25 X и 0.25 Y.
qpAHToMAS сказав(ла):
Ты взял изображение 140x165 px, хочешь дабы оно было 140 и 165 юнитам соответственно?
Я не заметил возможность выбрать масштаб. Сейчас если подумать то размер модели в игре примерно соответствовал масштабу 0.25.
Думаю что тут 1 к 1, примерно.
qpAHToMAS сказав(ла):
info_target с изменённым classname.
Оффтоп
 
Останнє редагування:

Flash

VIP
VIP
21.09.04
16 980
41
  • Золотая медаль 111
  • Серебряная медаль 216
  • Золотая медаль 221
  • Серебряная медаль 311
  • Серебряная медаль 115
  • Золотая медаль 125
  • Золотая медаль 211
2 Ayk:
Рекомендую декомпилить модельку игрока и юзать её для масштабирования.
 

Ayk

Member
15.09.12
207
12
18
Flash сказав(ла):
2 Ayk:
Рекомендую декомпилить модельку игрока и юзать её для масштабирования.
Дельный совет, учту.

Как я понимаю, у модели нет физической структуры, она висит на ентити как текстура.
Если ентити меньше модели, то через части модели (текстуры) можно проходить.
Если ентити больше модели, то будут невидимые "преграды".

Но, мне всё также непонятно что за траблы в моём случае.
Размер ентити {-6.0, -6.0, -10.0} {6.0, 6.0, 10.0}, расстояние до стены больше половины игрока, но ентити застревает в стене. Как определил? Ентити очень медленно спускается вниз и уходит в пол.

Есть ещё идеи?
Сама модель влияет как нибудь?

Post automatically merged:

Продолжил поиски решения и узнал одну особенность.

Размер ентити: {-5.0, -5.0, -10.0} {5.0, 5.0, 10.0}
Смотрим аттач.

Ничего не понимаю...

Post automatically merged:

И ещё:
- вывожу в консоль mins и maxs ентити, всё как надо, те же {-5.0, -5.0, -10.0} {5.0, 5.0, 10.0}.
- создаю линии между углами ентити (бокса), всё как надо, размер и положение линий соответствуют заданному размеру.
- НО!! только с двух сторон (передняя и правая) и только рядом со world-brush, ентити зависает/лагает/ломается (медленно скользит вниз и проходит сквозь пол), даже если расстояние до стен больше в 2-3 раза чем бокс ентити.

Что это за ухня??? :mad: %)
 

Вкладення

Останнє редагування:

Ayk

Member
15.09.12
207
12
18
Как и ожидалось, модель роли не играет.
Создаваемая ентити всё также застревает в ворлд-брашах только с двух сторон (перед и правый бок), даже если расстояние до стены дважды-трижды превышает размер ентити.
Использовал код из плагина в котором такой проблемы нет, не помогло.
Может ли влиять то, что сервер на Винде, билд 6153?

Ни у кого нет никаких идей?
 

xDShot

Well-known member
20.12.10
1 844
Z min значение с минусом. Если origin энтити 0,0,0, то надо либо поправить хуллы, либо сместить оригин. Иначе получается, что энтитя вписана в пол.
 

Ayk

Member
15.09.12
207
12
18
xDShot сказав(ла):
Z min значение с минусом. Если origin энтити 0,0,0, то надо либо поправить хуллы, либо сместить оригин. Иначе получается, что энтитя вписана в пол.
"Z min" это про размер?
У модели кость (она одна) стоит ровно в центре, и чтобы вся модель была над землей, размер ентити должен быть такой:
Код:
engfunc( EngFunc_SetSize, ent, Float:{-5.0, -5.0, -12.0}, Float:{5.0, 5.0, 6.0} )
Или я что то не понял?

Оригин рандомный (место смерти игрока).
 

Ayk

Member
15.09.12
207
12
18
2 xDShot:
Я понял.
Оригин не 0 0 0, он равен позиции игрока при смерти.

Скрины подвезли.
1. https://imgur.com/1UYlHUA - в красной зоне ентити застрянет в ящике (ворлд-браш), несмотря на то что расстояние как две ширины.
2. https://imgur.com/62jp9xV - тут видно лучше. 1 юнит к стене и ентити застрянет в ней.
И так только с двух сторон, видно на скрине выше.
Тут также виден физ. бокс ентити (pev_size).

Идеи?
 

Game Server

Доноры Красавчики

Користувачі онлайн