среда, 6 февраля 2013 г.

свое оружие в udk

skMesh.GetSocketWorldLocationAndRotation(SocketName, vLocation, rRotation);

if(skMesh != None && skMesh.GetSocketByName(SocketName) != None){

function Vector GetSocketLocation(Name SocketName)

Трассировка луча (Trace)Да-да, нам на помощь придет обычная трассировка луча. Но чтобы было удобно находить точки для трассировки, оружие должно быть выполнено в виде SkeletalMesh и к нему должны быть присоединены два сокета: один неподалеку от рукоятки холодного оружия, второй на кончике оружия. Тогда в коде мы легко сможем в любой момент определить положение этих сокетов в пространстве методом:

Проблема в том, что для холодного оружия в UDK нет встроенного механизма определения столкновений (коллизий collisions). Да и не только для холодного оружия. Вообще нельзя отдельно для прикрепленных объектов просчитать столкновение. Считается только один единственный Collision Cylinder для всего персонажа, а прикрепленные объекты теряют свои коллизионные примитивы, даже если они у них были. Все это справедливо для режима ходьбы (PHYS_Walking) так уж устроен движок Unreal Engine. Давайте разбираться, как это ограничение обойти.

Если огнестрельное оружие встроено в Unreal Development Kit (UDK) по умолчанию и может быть использовано в собственной игре практически без изменений (за исключением, разве что самой модели оружия), то с холодным оружием (ножами, мечами, палками, дубинками и кусками арматуры) придется повозиться самому.

Создание холодного оружия в UDK

Создание холодного оружия в UDK / Создание игр / Dimanjy

Комментариев нет:

Отправить комментарий