Flenix Posted November 13, 2013 Share Posted November 13, 2013 Can anyone point me to a place where I can see how they work? A tutorial would be brilliant, but failing that some simple working source code to look at would be nice (The only one I could think of was Buildcraft, which to be honest isn't exactly simple ) I don't need to do anything too fancy, just want to animate a few things with the Tile Entity Special Renderer. Any help is great Quote http://s13.postimg.org/z9mlly2av/siglogo.png[/img] My mods (Links coming soon) Cities | Roads | Remula | SilvaniaMod | MoreStats Link to comment Share on other sites More sharing options...
Busti Posted November 13, 2013 Share Posted November 13, 2013 I guess the TileEntity of the Engine in Buildcraft just changes the Speed of the movement. The actual animation is done in the Renderer which uses the given PartialTickTime (PTT) which is a float variable to sync the Animation to the Framerate. If you just want to make something rotate try to increase the new rotation by the PTT and multiply it with the speed. Try it out and experiment a bit with it. If you want to have a more advanced style of animation you have to write a System which can handle Wavefront keyframes. Quote PM's regarding modding questions should belong in the Modder Support sub-forum and won't be answered. Link to comment Share on other sites More sharing options...
Flenix Posted November 13, 2013 Author Share Posted November 13, 2013 https://github.com/BuildCraft/BuildCraft/blob/master/common/buildcraft/energy/render/RenderEngine.java The reason I didn't want Buildcraft is because it seems to do things quite differently to other mods. I'm sure it's all very efficient, but the above render class is TOTALLY different to any other render class I've seen before. I can't see any reference to power or redstone in there, nor to the PartialTickTime you just mentioned. Maybe I'm just being blind? Quote http://s13.postimg.org/z9mlly2av/siglogo.png[/img] My mods (Links coming soon) Cities | Roads | Remula | SilvaniaMod | MoreStats Link to comment Share on other sites More sharing options...
Busti Posted November 14, 2013 Share Posted November 14, 2013 I am using the TileEntitySpecialRenderer for the rendering. Its render functions are called every tick and the TileEntity is given so I can use its variables. The coordinates are for the renderer and relative to the player which is always 0, 0, 0 Use this setup for the rendere: @Override public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float partialTickTime) { Rendere here... } I will upload a Tutorial tomorrow at 8:00GMT featuring the TileEntitySpecialRenderer and animations Quote PM's regarding modding questions should belong in the Modder Support sub-forum and won't be answered. Link to comment Share on other sites More sharing options...
Busti Posted November 14, 2013 Share Posted November 14, 2013 http://www.minecraftforge.net/wiki/TileEntitySpecialRenderers_and_Animation The tutorial is now online but I cant add it to the tutorial list. Quote PM's regarding modding questions should belong in the Modder Support sub-forum and won't be answered. Link to comment Share on other sites More sharing options...
Flenix Posted November 16, 2013 Author Share Posted November 16, 2013 Cheers. I'll give that a try, then I'll add it to the list for you Quote http://s13.postimg.org/z9mlly2av/siglogo.png[/img] My mods (Links coming soon) Cities | Roads | Remula | SilvaniaMod | MoreStats Link to comment Share on other sites More sharing options...
Enkey Posted November 18, 2013 Share Posted November 18, 2013 http://www.minecraftforge.net/wiki/TileEntitySpecialRenderers_and_Animation The tutorial is now online but I cant add it to the tutorial list. Oh thanks, now I know how to make rotation animation, but how do I make it animate in line (like the build craft engine)? Quote If someone helps you, click that thank you button EasyTessellator library: http://www.minecraftforge.net/forum/index.php/topic,14705.0.html Link to comment Share on other sites More sharing options...
Busti Posted November 18, 2013 Share Posted November 18, 2013 Just do the same thing but with a Translation / Position value and make it change direction when it has reached its final / Start position. You can perform any type of animation using this basic concept. Quote PM's regarding modding questions should belong in the Modder Support sub-forum and won't be answered. Link to comment Share on other sites More sharing options...
Meoco Posted November 19, 2013 Share Posted November 19, 2013 Ok, so I see what you're doing here, but How would I control individual parts of the model, as opposed to the entire thing? Quote Link to comment Share on other sites More sharing options...
Mazetar Posted November 19, 2013 Share Posted November 19, 2013 The model file contains each part of the model does it not? By modifying a parts position and rotation you could achieve that I'd look at this: http://www.minecraftforum.net/topic/1866695-modding-animation-guide/ Assuming you are using Techne models for your block, then it's similar to mobs as they have the same model type Quote If you guys dont get it.. then well ya.. try harder... Link to comment Share on other sites More sharing options...
Meoco Posted November 21, 2013 Share Posted November 21, 2013 Ok, so I got the animations working via the renderer class, but now it speeds up with each instance rendered, which is back to where I was before. am I doing this incorrectly somehow?? I'm using "this.model.[part].offsetY to modify a position in my RenderTileEntityAt method. I tried using glTranslatef, but I'm not seeing how to specify a specific piece of my model.... Quote Link to comment Share on other sites More sharing options...
hydroflame Posted November 21, 2013 Share Posted November 21, 2013 yeah heres the thing, you are using a variable that is local to your object, since the object is called twice within the same tick, with 2 tesr itll go twice as fast, becasue the rotation is increased twice per tick to fix this you should use the system time, this way all tesr will render using the same value //aka dont do animation++; model.rotate(animation, 0, 1, 0); //but do long time = System.currentTimeMillis() % 40000L; model.rotate(time, 0, 1, 0); btw both method describe a continous rotation around Y axis Quote how to debug 101:http://www.minecraftforge.net/wiki/Debug_101 -hydroflame, author of the forge revolution- Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.