Это простой урок, в нём будет рассмотрено использование таймера, добавление меша на уровень и изменение его размера.
Для начала нужно создать класс дочерний от Actor класса (ну например Tree) и указать что он placeable, т.е. размещаемый.
class Tree extends Actor placeable;
Затем прописать переменные. Первая будет отвечать за меш и все действия с ним, а вторая будет обычная переменная типа Float, которая будет отвечать за изменение размера дерева.
var StaticMeshComponent Tree;
var Float Size; // Размер дерева
После этого прописать блок DefaultProperties (в нём определяются значения по умолчанию).
Там будут находится начальные настройки дерева.
В этом блоке есть свойство StaticMesh, дак вот его можно взять в UDK, любой который вам понравиться. Чтобы взять ссылку на него Необходимо запустить UDK, открыть Actor Browser найти дерево, правой кнопкой нажать на него и в появившимся списке выбрать "Copy full name to clipboard". После чего вставить ссылку на объект после StaticMesh= .
Defaultproperties
{
// Меш дерева
Begin Object Class=StaticMeshComponent Name=Derevo
StaticMesh=StaticMesh'GenericFoliage01.Trees.Mesh.SM_GEN_Foliage01_LargeTree01_Opt';//какой меш будет использован
Scale=0.1;//Размер меша
end Object
// Приравниваем к переменной Tree чтобы можно было изменять свойства
Tree=Derevo
// Добавление меша на уровень
Components.Add(Derevo)
}
После этого нужно написать функцию таймера(Она должна располагаться после описания переменных и перед блоком DefaultProperties), в ней будет изменятся переменная size, а значение этой переменной будет изменять размер дерева.
Simulated function Tick (float DeltaTime)
{
Size=Size+0.001; // Скорость с которой дерево будет расти
Tree.Setscale(size);
}
Вот и всё, теперь можно запускать UDK открывать Actor Classes и размещать на уровень.
Этот комментарий был удален автором.
ОтветитьУдалитьЗаменить
ОтветитьУдалитьSize=Size+0.001; // Скорость с которой дерево будет расти
На
Size=Size-0.001;
Ну да)) Попробуй.. Меш тупо вывернет)
УдалитьВот рабочий вар на уменьшение
class anom extends Actor placeable;
var StaticMeshComponent Anom;
var Float Size;
Simulated function Tick (float DeltaTime)
{
Size=Size-0.01;
Anom.Setscale(size);
}
Defaultproperties
{
Begin Object Class=StaticMeshComponent Name=AnomMesh
StaticMesh=StaticMesh'phystest_resources.RemadePhysBarrel';
Scale=1;
end Object
Anom=AnomMesh
Size=1
Components.Add(AnomMesh)
}