Faire tourner un block Techne
-
Bonjour à toutes et à tous, je vais vous apprendre à faire tourner sur lui même un block Techne, je suis sur que vous y trouverez pleins d’utilités !
Pour cela, créez votre model, et chargez le avec un TileEntity, comme tout bloc 3D
Ensuite, dans la classe de votre model, dans votre public void render ajoutez à la suite du setRotationAngleLaPartieDeVotreEntity.rotateAngleY += 0.01F;
Pour exemple, mon model est composé de ça:
Shape1 = new ModelRenderer(this, 0, 0); Shape1.addBox(0F, 0F, 0F, 16, 16, 16); Shape1.setRotationPoint(-8F, 8F, -8F); Shape1.setTextureSize(64, 32); Shape1.mirror = true; setRotation(Shape1, 0F, 0F, 0F);
Pour moi, je met donc:
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, entity); Shape1.rotateAngleY += 0.01F; Shape1.render(f5); }
Le 0.01 définissant le degré de rotation à chaque tick.
Il ne me reste plus qu’a redéfinir le offset de mon “Shape1” et le placement de mon point de rotation, pour moi se sera donc :Shape1 = new ModelRenderer(this, 0, 0); Shape1.addBox(-8F, 8F, -8F, 16, 16, 16); Shape1.setRotationPoint(0F, 0F, 0F); Shape1.setTextureSize(64, 32); Shape1.mirror = true; setRotation(Shape1, 0F, 0F, 0F);
Ainsi, je redéfini mon point de rotation au centre du bloc, et modifie le offset pour le placer lui aussi au centre de celui ci.
Vous me direz, pourquoi redéfinir le offset et le point de rotation ?
Car la fonction de rotate modifie l’emplacement de mon point de rotation et de mon entité.Voila, merci d’avoir lu jusqu’au bout, et n’hésitez pas a faire de commentaire, c’est mon premier tutoriel !
-
Je valide.
-
Peut-on faire un balancement comme les mobs, comme le moteur de IndustrialCraft par exemple ???
-
Les moteurs de BuildCraft fonctionnent de la même manière que les pistons, si je me souviens bien.
-
Parce que j’ai deja fait un bloc dont une partie tourne mais j’aimerais faire en sorte que le mouvement sois plus ou moins rapide et
surtout qu’il soit plus naturel et j’ai testé le Mathhelper sans succes. -
@‘jeje78660’:
Parce que j’ai deja fait un bloc dont une partie tourne mais j’aimerais faire en sorte que le mouvement sois plus ou moins rapide et
surtout qu’il soit plus naturel et j’ai testé le Mathhelper sans succes.Je vais chercher sa de suite et mettrai à jour le tuto si je trouve ^^___
Pour modifier la vitesse de rotation il suffit de modifier la variable ici: ```java
LaPartieDeVotreEntity.rotateAngleY += 0.01F; -
Ok merci beaucoup