danilaxxl danilaxxl

CollectableItemData.cs

[CreateMenuItem(fileName = "newItem", menuName = "Data/Items/Collectable", order = 51]

GoloGames GoloGames

vadya_ivan, рад, что вам игра показалась интересной : )

P.S. Кстати уже доступна бесплатная демо-версия в Steam

vadya_ivan vadya_ivan

Визуал, задумка, музыка , механики, все в цель

GoloGames GoloGames

Ato_Ome, спасибо за позитивные эмоции, будем стараться : )

Ato_Ome Ato_Ome

Потрясающий результат, все так четенько, плавненько)
То ли саунд, то ли плавность напомнили мне игрушку World of Goo, удачи вам в разработке и сил побольше дойти до релиза!)

Cute Fox Cute Fox

Graphics are a little cool, good HD content. But this game doesn't cause nary interest me.
However the game is well done.

GMSD3D GMSD3D

Почему действие после всех условий выполняется?
[step another object]

Zemlaynin Zemlaynin

Jusper, Везде, но наугад строить смысла нет. Нужно разведать сперва территорию на наличие ресурсов.

Jusper Jusper

Zemlaynin, а карьеры можно будет везде запихать?
Или под них "особые" зоны будут?

Zemlaynin Zemlaynin

Это так скажем тестовое строительство, а так да у города будет зона влияния которую нужно будет расширять.

Jusper Jusper

А ссылка есть?

Jusper Jusper

Я не оч понял из скриншота, как вообще работает стройка. У игрока будет как бы поле строительства?

split97 split97

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

split97 split97

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

ViktorJaguar ViktorJaguar

Почему я нигде не могу найти нормальный туториал, где покажут как экипировать предмет (например, меч) в определенную (выделенную под оружие) ячейку???

Логотип проекта Unreal Engine

Движение в Unreal Engine

Начал потихоньку ковырять UDK. появился вопрос по кизмету. Как сделать движение объекта относительно его поворота. Так как передвижение по координатам делается легко, то вот с движением объекта относительно его поворота не могу понять как.

Ответ

Sergant1000, краткий гайд тут настрочу.

  • Сам нод - класс, который наследуется от SequenceAction
  • В свойствах можно задать имя нода (параметр ObjName) и категорию (параметр ObjCategory)
  • За момент, когда "сигнал" входит в нод, отвечает событие Activated, основной код выполнения стоит писать в нем
  • За параметры нода отвечает массив VariableLinks, в котором изначально находится параметр Target; очистить массив можно, прописав в свойствах по умолчанию VariableLinks.Empty
  • Объявление параметра выглядит следующим образом
VariableLinks(0)=(ExpectedType=class'SeqVar_Float',LinkDesc="Argument",PropertyName=CosineArgument,bWriteable=true)

Тут ExpectedType - какого типа нод должен приниматься (чаще всего достаточно поменять слово после прочерка на тип), LinkDesc - как будет подписан "вход" параметра на ноде, PropertyName - переменная в классе, в которую будет заноситься внесенная инфа (например, в моем примере в классе должна быть переменная CosineArgument типа Float), bWriteable - можно ли изменять значение этого параметра (можно ставить false для, например, результата).

  • Входные и выходные точки представляют собой массивы bool InputLinks и OutputLinks соответственно.

То есть, синус будет выглядеть где-то так:

class SeqAct_GetCosine extends SequenceAction;

var float CosineArgument;
var float CosineResult;

event Activated()
{
    CosineResult = Cos(CosineArgument);
}

defaultproperties
{
    ObjName="Calc Cosine"
    ObjCategory="Misc"
    VariableLinks.Empty
    VariableLinks(0)=(ExpectedType=class'SeqVar_Float',LinkDesc="Argument",PropertyName=CosineArgument)
    VariableLinks(1)=(ExpectedType=class'SeqVar_Float',LinkDesc="Result",PropertyName=CosineResult)
}

Как-то так, должно работать, у меня сейчас нет UDK, чтобы проверить. Таким же образом можно сделать любые другие вспомогательные ноды.

Смотрите также:


Комментарии



В теории везде это делается так: берётся угол поворота, от него берутся синус и косинус и множатся на скорость. Таким образом получаются отдельные скорости по осям. И объект перемещается по этим осевым скоростям. Как оно в udk - не знаю.

Банальное передвижение: используйте нод Get Location and Rotation, берите из него векторы Location и Rotation, получите новый вектор, равный сумме Location и умноженного на определенный коэффициент Rotation, присвойте новое значение позиции через Set Location and Rotation. Осталось придумать, как менять Rotation в зависимости от входных данных. Я уже не помню, есть ли косинусы/арккосинусы, и прочая тригонометрия в Кисмете. Если есть - берете тот же Rotation, берете его координаты, вычисляете по ним любой тригонометрический показатель (косинус, синус, тангенс), по нему - угол, если есть инпут - меняете соответственным образом угол, опять переделываете в тригонометрический показатель, по нему вычисляете компоненты для обновленного вектора Rotation, нодом Set Vector создаете новый вектор и через тот же Set Location and Rotation присваиваете объекту.

Проблема в том что я не нашел в кизмете, ни синусов, ни косинусов.

Sergant1000, недостающие ноды можно написать самому, или поискать в интернете уже готовые решения.

lentinant, мне бы пример.

lentinant, можешь сделать гайд по созданию нодов. или ткнуть где посмотреть.

Sergant1000, краткий гайд тут настрочу.

  • Сам нод - класс, который наследуется от SequenceAction
  • В свойствах можно задать имя нода (параметр ObjName) и категорию (параметр ObjCategory)
  • За момент, когда "сигнал" входит в нод, отвечает событие Activated, основной код выполнения стоит писать в нем
  • За параметры нода отвечает массив VariableLinks, в котором изначально находится параметр Target; очистить массив можно, прописав в свойствах по умолчанию VariableLinks.Empty
  • Объявление параметра выглядит следующим образом
VariableLinks(0)=(ExpectedType=class'SeqVar_Float',LinkDesc="Argument",PropertyName=CosineArgument,bWriteable=true)

Тут ExpectedType - какого типа нод должен приниматься (чаще всего достаточно поменять слово после прочерка на тип), LinkDesc - как будет подписан "вход" параметра на ноде, PropertyName - переменная в классе, в которую будет заноситься внесенная инфа (например, в моем примере в классе должна быть переменная CosineArgument типа Float), bWriteable - можно ли изменять значение этого параметра (можно ставить false для, например, результата).

  • Входные и выходные точки представляют собой массивы bool InputLinks и OutputLinks соответственно.

То есть, синус будет выглядеть где-то так:

class SeqAct_GetCosine extends SequenceAction;

var float CosineArgument;
var float CosineResult;

event Activated()
{
    CosineResult = Cos(CosineArgument);
}

defaultproperties
{
    ObjName="Calc Cosine"
    ObjCategory="Misc"
    VariableLinks.Empty
    VariableLinks(0)=(ExpectedType=class'SeqVar_Float',LinkDesc="Argument",PropertyName=CosineArgument)
    VariableLinks(1)=(ExpectedType=class'SeqVar_Float',LinkDesc="Result",PropertyName=CosineResult)
}

Как-то так, должно работать, у меня сейчас нет UDK, чтобы проверить. Таким же образом можно сделать любые другие вспомогательные ноды.

Возможность добавлять комментарии была ограничена