Jump to content

Recommended Posts

Posted

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 :P)

 

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 :D

width=463 height=200

http://s13.postimg.org/z9mlly2av/siglogo.png[/img]

My mods (Links coming soon)

Cities | Roads | Remula | SilvaniaMod | MoreStats

Posted

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.

PM's regarding modding questions should belong in the Modder Support sub-forum and won't be answered.

Posted

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? :P

width=463 height=200

http://s13.postimg.org/z9mlly2av/siglogo.png[/img]

My mods (Links coming soon)

Cities | Roads | Remula | SilvaniaMod | MoreStats

Posted

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

PM's regarding modding questions should belong in the Modder Support sub-forum and won't be answered.

Posted

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.

PM's regarding modding questions should belong in the Modder Support sub-forum and won't be answered.

Posted

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....

Posted

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

how to debug 101:http://www.minecraftforge.net/wiki/Debug_101

-hydroflame, author of the forge revolution-

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.