Вверх ↑
Ответов: 4557
#1: 2015-01-02 17:36:33 ЛС | профиль | цитата
Все мобы и блоки из Minecraft имеют 3D модель, которая создается в 3D редакторе. Одна из таких программ - Techne.
Techne представляет из себя небольшой 3D редактор для создания объёмных моделей для игры. Это может быть блок, моб, предмет, украшение и т.д.

Сегодня мы научимся создавать 3D модели на примере лестницы.
Открываем программу. Заходим в File -› New project. Указываем название и класс модели, а также размер текстуры.


ModelBase - стандартная модель (обычные кубы).
ModelBiped - конус, сфера, треугольник, пирамида.
После создания файла создаем блок.


Появляется куб


Далее что хотим, то и делаем с ним, однако наша задача - лестница.


Готово. Заходим в File -› Export As -› Java и сохраняем. Готово.
На выходе получаем код

package net.minecraft.src;

public class Modelladder extends ModelBase
{
//fields
ModelRenderer Shape1;
ModelRenderer Shape2;
ModelRenderer Shape3;
ModelRenderer Shape4;
ModelRenderer Shape5;
ModelRenderer Shape6;

public Modelladder()
{
textureWidth = 32;
textureHeight = 32;

Shape1 = new ModelRenderer(this, 0, 0);
Shape1.addBox(0F, 0F, 0F, 2, 16, 2);
Shape1.setRotationPoint(-8F, 8F, 5F);
Shape1.setTextureSize(32, 32);
Shape1.mirror = true;
setRotation(Shape1, 0F, 0F, 0F);
Shape2 = new ModelRenderer(this, 0, 0);
Shape2.addBox(0F, 0F, 0F, 2, 16, 2);
Shape2.setRotationPoint(-8F, 8F, -7F);
Shape2.setTextureSize(32, 32);
Shape2.mirror = true;
setRotation(Shape2, 0F, 0F, 0F);
Shape3 = new ModelRenderer(this, 0, 0);
Shape3.addBox(0F, 0F, 0F, 1, 2, 16);
Shape3.setRotationPoint(-8F, 9F, -8F);
Shape3.setTextureSize(32, 32);
Shape3.mirror = true;
setRotation(Shape3, 0F, 0F, 0F);
Shape4 = new ModelRenderer(this, 0, 0);
Shape4.addBox(0F, 0F, 0F, 1, 2, 16);
Shape4.setRotationPoint(-8F, 13F, -8F);
Shape4.setTextureSize(32, 32);
Shape4.mirror = true;
setRotation(Shape4, 0F, 0F, 0F);
Shape5 = new ModelRenderer(this, 0, 0);
Shape5.addBox(0F, 0F, 0F, 1, 2, 16);
Shape5.setRotationPoint(-8F, 17F, -8F);
Shape5.setTextureSize(32, 32);
Shape5.mirror = true;
setRotation(Shape5, 0F, 0F, 0F);
Shape6 = new ModelRenderer(this, 0, 0);
Shape6.addBox(0F, 0F, 0F, 1, 2, 16);
Shape6.setRotationPoint(-8F, 21F, -8F);
Shape6.setTextureSize(32, 32);
Shape6.mirror = true;
setRotation(Shape6, 0F, 0F, 0F);
}

public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
{
super.render(entity, f, f1, f2, f3, f4, f5);
setRotationAngles(f, f1, f2, f3, f4, f5);
Shape1.render(f5);
Shape2.render(f5);
Shape3.render(f5);
Shape4.render(f5);
Shape5.render(f5);
Shape6.render(f5);
}

private void setRotation(ModelRenderer model, float x, float y, float z)
{
model.rotateAngleX = x;
model.rotateAngleY = y;
model.rotateAngleZ = z;
}

public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5)
{
super.setRotationAngles(f, f1, f2, f3, f4, f5);
}

}



Теперь мы легко можем вставить нашу модель в игру:




Информация о том, как вставить Techne модель в игру будет в одной из будущих статей
карма: 6
7
Голосовали:Bro_DyaGa, HardFarm, OTBETCTBEHHblN, Lykf, Burs, Kiss_Ash, Garrix