Page 1 of 1

.

PostPosted: Sun Feb 24, 2013 22:19
by jordan4ibanez
.

PostPosted: Mon Feb 25, 2013 04:28
by ShadowNinja
Yes, and kaeza has done this iirc, unfourtunately it was very laggy and used a lot of bandwidth.
Properly implementing this functionality would probably require the player to be client-side

PostPosted: Mon Feb 25, 2013 18:50
by kaeza
Yes, that can be done, but my method is to re-implement the animations by moving *all* the bones manually. This has the implication that you have to send five "bone rotate+move" packets to the client at *every* step. You can lower the net usage by sending them every, let's say, 100ms, but that's not a very fluid animation (neither is clogging the connection).
Due to a bug in Irrlicht, you can't both animate a model, and rotate it's bones manually at the same time.
It'll probably be available when the next stable version of Irrlicht comes, and Minetest adopts it.

PostPosted: Mon Feb 25, 2013 19:58
by Calinou
kaeza wrote:You can lower the net usage by sending them every, let's say, 100ms, but that's not a very fluid animation (neither is clogging the connection).


Just code some yaw interpolation. :P

To show pitch, we could just vertically rotate the model by "pitch / 4" for now (eg. looking 80 degrees downwards results in the whole model being rotated 20 degrees downward)... looks kinda ugly but much better than nothing.

PostPosted: Mon Feb 25, 2013 21:46
by jordan4ibanez
kaeza wrote:Yes, that can be done, but my method is to re-implement the animations by moving *all* the bones manually. This has the implication that you have to send five "bone rotate+move" packets to the client at *every* step. You can lower the net usage by sending them every, let's say, 100ms, but that's not a very fluid animation (neither is clogging the connection).
Due to a bug in Irrlicht, you can't both animate a model, and rotate it's bones manually at the same time.
It'll probably be available when the next stable version of Irrlicht comes, and Minetest adopts it.

Why not have the client just translate the head movement smoothly to the new position when they receive the next position?

PostPosted: Tue Feb 26, 2013 00:24
by kaeza
jordan4ibanez wrote:Why not have the client just translate the head movement smoothly to the new position when they receive the next position?

Too lazy to implement this in C++ :P

PostPosted: Tue Feb 26, 2013 02:04
by Traxie21
How hard could that be? And, only make it so that major changes in look direction are sent.

PostPosted: Tue Feb 26, 2013 02:21
by kaeza
Traxie21 wrote:How hard could that be? And, only make it so that major changes in look direction are sent.

Even if I did that, it will probably be rejected by the core devs. I have already spoken with MirceaKitsune, and told me we should wait for the next Irrlicht. All in all, C++ is a no-no for now, sorry.

Edit: BTW, here's the proof of concept: http://www.youtube.com/watch?v=edzDAH6-WQU

PostPosted: Tue Feb 26, 2013 14:47
by PilzAdam
The current system is that the model is handled by the server and the default model is registered by the default minetest_game.
Moving it to the client would make it impossible for mods to set the model for players.

PostPosted: Tue Feb 26, 2013 16:19
by Ragnar
i miss the days when minetest had 0px wide players :/

PostPosted: Wed Feb 27, 2013 22:17
by tinoesroho
Still do, if you use 0.4.3's version of Minetest game. (You can replace/update all the components by drag-and-drop). That's how my server runs it. :-)

PostPosted: Wed Feb 27, 2013 23:14
by 0gb.us
Or you can comment out the line in 0.4.4's default that dofile()s player.lua.

PostPosted: Thu Feb 28, 2013 05:53
by kaeza
...or use Zeg9's skin switcher, which supports *both* 2D and 3D skins.