Giter Site home page Giter Site logo

ozz-animation's Introduction

ozz-animation's People

Contributors

guillaumeblanc avatar

Watchers

James Cloos avatar

ozz-animation's Issues

info

Wonderfull project

Original issue reported on code.google.com by [email protected] on 12 Jul 2014 at 3:48

Sample_Skin not working with FBX Example model

Steps to reproduce error:

1) I got a new cut of the source code (version 0.7.1) and tried using the 
fbx2skel, fbx2anim and sample_skin_fbx2skin executables on the example FBX 
provided with FBX SDK (Humanoid.fbx).

2) I replaced the .ozz files in the sample_skin example with the ones I had 
just created. 

3) Observe the mesh is not displayed how it should. I have attached a 
screenshot of this.



Further information:
The commands I used in conversion are as follows:

fbx2skel.exe --file=humanoid.fbx --skeleton=humanoid_skel.ozz
fbx2anim.exe --file=humanoid.fbx --skeleton=humanoid_skel.ozz 
--animation=humanoid_anim.ozz
sample_skin_fbx2skin.exe --file=humanoid.fbx --skeleton=humanoid_skel.ozz 
--skin=humanoid_mesh.ozz

Original issue reported on code.google.com by [email protected] on 28 Dec 2014 at 10:47

Attachments:

Slightly off topic: SkinnedMesh question

I realise this is a slightly off topic question but I'm having trouble 
populating the information in SkinnedMesh to render a model (populating myself, 
not from a loaded .ozz model). My main reason for asking here is because I 
would like to fully understand the ozz exmaples rather than change them 
unrecognisably and forget about them - this helps me understand future releases 
too.

Currently I'm trying to render a flat plane square, but upon rendering it 
misses 3/4 of the vertices out. I am currently rendering using the Shader class 
in ozz, but changed to render GL_POINTS rather than GL_TRIANGLES. I populate 
the Vertices and Indices in the following way (NEXT is the same definition 
found in the ozz skinning job):

int x = 0; int y = 0;
            int vertCount = pRAWWidth * pRAWHeight;

            SkinnedMesh* renderMesh
                = new SkinnedMesh(vertCount, vertCount);

            // Fill up position buffer
            SkinnedMesh::Positions posBuffer = renderMesh->positions();
            float* out_position = posBuffer.data.begin;
            // .. And colour buffer
            SkinnedMesh::Colors colBuffer = renderMesh->colors();
            SkinnedMesh::Color* out_color = colBuffer.data.begin;
            // .. And normal buffer
            SkinnedMesh::Normals normBuffer = renderMesh->normals();
            float* out_normal = normBuffer.data.begin;

            for (y = 0; y < pRAWHeight; y += 1) {
                for (x = 0; x < pRAWWidth; x += 1) {
                    // Positions
                    out_position[0] = x;
                    out_position[1] = 0.f;
                    out_position[2] = y;
                    // Colors
                    //out_color->red = 0;
                    //out_color->green = 255;
                    //out_color->blue = 0;
                    //out_color->alpha = 255; // 1.f;
                    // Normals
                    //out_normal[0] = 0.f;
                    //out_normal[1] = 1.f;
                    //out_normal[2] = 0.f;

                    // Increment ptrs
                    out_position = NEXT(float*, out_position, posBuffer.stride);
                    out_color = NEXT(SkinnedMesh::Color*, out_color, colBuffer.stride);
                    out_normal = NEXT(float*, out_normal, normBuffer.stride);
                }
            }

            // .. And indices buffer
            SkinnedMesh::Indices indiBuffer = renderMesh->indices();
            uint16_t* out_indices = indiBuffer.data.begin;

            for (int i = 0; i < vertCount; i++) {
                out_indices[0] = i;
                out_indices = NEXT(uint16_t*, out_indices, indiBuffer.stride);
            }



Any help would be much apprechiated.

Original issue reported on code.google.com by [email protected] on 22 Jan 2015 at 11:14

Unable to reproduce Skin example.

First of all this looks like a very useful skeletal animation engine - and I'm 
looking forward to trying it when I get my head around it fully. 

I'm trying to reproduce the skin example but I'm completely unable to for 
several reasons:

1) I have created a new project and included the set of lib's and header files, 
but SkinnedMesh was unavailable to me (obviously because it was part of the 
skin example and not the lib's). So I copied the SkinnedMesh code but on 
attempting to compile I get -
    A) "error C2228: left of '.Load' must have class/struct/union"
    B) "error C2065: 'kValue' : undeclared identifier"
    C) "error C2027: use of undefined type 'ozz::io::internal::Version<const _Ty>' "
It's quite obvious I'm missing something- but I'm not sure what. Any advice on 
what I would need to use from the skin example to get my test application 
running and get rid of these errors?

2) I can't find the fbx2ozz command line tool anywhere. Either the binary or 
the source code (in the project CMAKE creates). I can find some source files 
(some of which I believe may be in the wrong place, for example fbx2skin.cc), 
but they don't get made into any kind of project. Any idea what could be going 
wrong here?

3) This is more of a suggestion than a question but- unfortunately I feel like 
these samples are very much throwing me in at the deep end. I would really 
benefit from a sample that doesn't have lots of configurable menu options and 
general 'extra code' that isn't required for me to learn Ozz.

Thanks,

Original issue reported on code.google.com by [email protected] on 24 Dec 2014 at 4:52

fbx2anim and dae2anim set wrong default keyframe transformation for non-animated joints.

fbx2anim and dae2anim export non-animated joints with identity transformation 
instead of their reference transformation.

1. Use fbx2anim or dae2anim with an animation that doesn't animate all bones 
(like humanoid.fbx from fbx sdk).
2. Render animated posture in any ozz sample.
3. Notice that non-animated joints have an identity transformation (zero length 
bones), instead of their reference transformation.

fbx2anim and dae2anim should use joint's bind pose instead of identity in this 
case.

Original issue reported on code.google.com by [email protected] on 6 Jan 2015 at 10:51

How to write a custom importer?

I have a SQLite DB representing a skeletal animation, and each table 
(representing a keyframe) has the following schema:

Key_Frame_Time

Joint_Name    4x4 Matrix    Parent (first is NULL)


How would someone turn this into a raw skeleton, and each subsequent key-frame 
into a raw animation? I have looked a lot at the source code, but C++ is not my 
best language and I cannot find the proper functions to call.

I would be glad to share the format with the community once fully developed.


Thanks!
Colin

Original issue reported on code.google.com by [email protected] on 16 Jan 2015 at 6:02

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.