Monday, December 7, 2015

BVHUtil - A multi-platform BVH MoCap utility (Like BVH Hacker)


Update 28-Feb-2017:

Due to lack of fund, time and reason i quit gaming this project was suspended. However even after ~1.5yrs no BVH viewer on android exists. I thought someone might make one. So may be i will try to re-build a simple bvh viewer to keep an option for some users. The download link to PlayStore is dead because i disabled the BVH Viewer app but many apk sites maintain a copy of it. Please download from these sites. I will update link if i could.




I am working on 3d games like Tekken 3, Dear Or Alive using unity3d and some other engines/libraries. Soon i started working got stuck in making models and their animations. While making 2d games i could make graphics alone but in this case its way more harder and time consuming. I make human models using OpenSource software MakeHuman and then import them into Blender 3D to do rest of work. However there is a method called Animation Re-targeting which can use external animation to be applied to acompatible model. A compatible model means they must have same skeletal architecture no matter what design of mesh they have. Fortunately one can use BVH MoCap files. Many of them are freely downloadable. Carnegie-Mellon Graphics Lab Motion Capture Database offers lots of free BVH files.



There is already an editor called BVH Hacker which can do most of tasks anyone needs. However i tried to find, as much as i can, a software which can edit REST POSE of BVH file without affecting the motion data. I could not find any & there were methods which were time consuming and not for anyone who doesn't know how to use Blender3D. So i made Rest Pose editor* myself and it works well.


Details:
However i am using it for personal use and willing to release it on stores. At present BVHUtil works on its own format which is nothing but extension of BVH replacing Euler rotations channels by Quaternion.


Features:
- BVH viewer with interpolation of animation.


WIP features for updates to come:
- Frame control for viewing. View any frame like seeking a video frame.
- Remove frames
- Edit Frame animation data i.e. rotation of joints/bones.
- Export* interpolated frames to enhance animation smoothness within file.
- Export* any part of skeleton. E.g. export right hand as bvh.
- Edit rest pose* without affecting a single animation frame. This feature is rare and i will take some time to make it available. This feature is complete and ready but is not exposed in UI. More info at bottom.
- Animation re-targeting to embed animation in a model? I myself need this and will make it anyhow.


* mark is for features which are available in my own BVH2 format. This is extension of bvh format where Euler rotations are replaced by Quaternions. Once i make precise port of these features to bvh format i will update this app. * features will be available once i finish BVH2 to BVH export. BVH2 format name can probably be changed with something else.


Download:
I have only released Android version yet. PC version will be released after i am done with mobile builds.


https://play.google.com/store/apps/details?id=org.greh.bvhutil


Key words:
Edit Mocap BVH rest pose, rest pose editor, android bvh viewer, android mocap viewer

Wednesday, November 20, 2013

Websites which helped me a lot

Computer technology

Good programming tutorials, Java, python etc
www.zetcode.com

Emulation tutorials covers NES, GB.
http://codeslinger.co.uk/pages/blog/wordpress

OpenGL, 3d game tutorials, NeHe ( Neon, Helium)
http://nehe.gamedev.net/
http://www.gamedev.net/

Game competition
http://www.ludumdare.com/

Indie Games
http://www.tigsource.com/

Game development resources like arts, music

For geek computer users
http://www.geek.com/

Good Linux stuff, books etc.
http://www.linuxtropia.org/




Science

Very good tutorial on Waves and signals
http://www.doctronics.co.uk/signals.htm

Science projects - for science lovers
http://www.scitoys.com/




Music

Mod, XM, IT, S3M Module musics
http://www.modarchive.org/

Game music remixes
http://www.ocremix.org
http://remix.thasauce.net

Game music collection
http://www.gamemp3s.net

Snes music collection
http://snesmusic.org/v2/

Emulators, console musics, roms utils etc
http://www.zophar.net




Arts

Ocean of artists
www.deviantart.com




Hardware

Hardware projects, circuits, pin-outs
http://www.epanorama.net/
http://www.pinouts.ru/




Books

http://safari5.bvdep.com/
http://www.gutenberg.org/
http://www.bartleby.com/



Research papers
http://arxiv.org/



Others

Lots of free contents of almost everything, must visit
http://www.freebyte.com/



Thursday, November 7, 2013

Differentiate rotation and pinch gesture





For guessing gestures manually in programming i have found by logging how IOS sdk does it internally. As we can see in the below picture -





















Gesture is decided by first motion of fingers. But in many cases a blended approach can also be used. Means on X-axis motion doing rotation and Y-axis motion doing Pinch.

There is nothing more to write because other methods can use filtering and algorithm to smartly differentiate gestures.  Like managing a Rectangular band over the two touch points and calculating the motion of fingers strictly inside rectangular boundaries.

We know, if we don't use first motion, then there will be delay in gesture recognition.