Giter Club home page Giter Club logo

bvh-obj's Introduction

bvh+obj File Format Specification

"Because there aren't enough 3D file formats already"

Overview

bvh+obj is a file format for describing characters and their animations. As the name suggests, it relies heavily on the bvh and obj file formats with a bit extra.

It was designed to fit a specific need in a specific problem, and thus is not universally aplicable. Don't use it if you don't want to.

I am not the best person to be writing Blender scripts (not being a graphic designer at all), and so it is probable that my script is horrible and doesn't work in many cases. If you edit it, please submit a pull request.

File Format

The file is split into two parts: the bvh section and the obj section. Each is slightly modified however.

  • Modifications to the bvh section

In the bvh section a line will follow the MOTION line of the form

Action Count: NUMBER_OF_ACTIONS

where NUMBER_OF_ACTIONS is the number of motion blocks to follow. Each follows the same format as the usual bvh (a string of space separated values for the parameters detailed in the HIERACHY section, with the addition of a line

Name: ACTION_NAME

before the frame count. This name is arbitrary.

  • Modifications to the objsection

The major change in the obj section is a new command. It is of the form

vg BONE_NAME COUNT V_1/W_1 V_2/W_2 ... V_COUNT/W_COUNT

where BONE_NAME is the name of some joint defined in the bvh section, COUNT is the number of succeding pairs, and each of the V_i/W_i represent a vertex and its weight to that joint.

The weights should be complete, ie the sum of all the weights associated with some vertex should be very close to 1.

Things To Do

  • Check the exporter extensively
  • Write an importer

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.