Jump to content
Hash, Inc. Forums

rasikrodri

*A:M User*
  • Posts

    126
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by rasikrodri

  1. Hi everyone,

    I just wanted to let everyone know that I have created a plugin for Godot game engine that will import am Models directly.
    It will import them as a polygon model off course, one polygon per patch(at least for now). It will import the first decal with uvs and the texture.
    It will also import actions/animations. The details of what it can import fully or partially is in my github repository page.

     

    https://github.com/rasikrodri/Godot-Plugin---Hash-Animation-Master-Model-Importer-As-Scene

     

    Try it out an let me know how it works.

    To install it you download the zip file I have attached or from the github repository, open godot, got to AssetLib tab, click on import, and select the downloaded zip file


    I created this because at the end of last year and at the beginning of this year I had many vacation days from work and I wanted to program something completely different from what I do at work.

    I love Animation Master and in previews years I tried writing some programs for it but was never able to complete them. Becasue I had played around with godot before and I had loved it I decided to try and make a plugin that directly imports Animation Master models with animations into it. The programming language I used is gdscript, I could have used c# but they are still making it more stable in godot.

     

    I have no idea if I will continue adding features to this plugin. But one thing that would be nice to add to it is the bone constrains. They can be added but to use in game it might be better to write a the constraint code in C, for speed reasons, and have them as native scripts(godot supports native code as scripts but it is a little complicated to set up before you can start writing native scripts).

    Godot-Plugin---Hash-Animation-Master-Model-Importer-As-Scene.zip

    • Thanks 2
  2.  

    Wrong. Firstly, the smoothness is provided by the subdivision algorithm. Secondly, you have the option of using a very lightweight deformation proxy mesh, which drives the deformations of the denser mesh like a lattice, and you only need to weight a handful of verts. Thirdly, a good spline model—I don't mean the likes of "Thom", but the really good stuff on display in the gallery and in this forum—is about as detailed as its polygonal counterparts would be.

    Note: I'm assuming the case in point is prerendered animation, not real-time as in games. If it's animation for modern games, you are in the same kind of trouble in A:M—direct manipulation of dense geometry.

    The "lots and lots of polygons" prejudice is common in this community, probably stemming from this bit of misinformation (and others like it) in the reference:

     

    Anyway: I think the idea of rasikrodri is very valuable... using peaked, non-continuous patches to recreat polygones should get rid of many problems we are facing currently. I'll asked Steffen about the smoothing-algorithm for final rendering... since those are really around for a long time now, I can see that work quite easily...

     

    One problem I can see with that is the refind normals calculation time (that will take a long time for heavier models) but maybe if you declare a group as peaked / non-continous it could work faster? I am not sure about that...

     

    See you

    *Fuchur*

     

    Not only for final rendering but for real-time rendering too, I think it is very possible because if you see the next screen shoots the first one is real-time and the second one is rendered the third one is the wireframe and solid real-time. They the same thing, it seems that AM uses the same algorithm in final render and real-time render in this kind situation.

    This time is textured, my program can build the stamps too. But I haven't have the time jet to do some refining and add more stuff to the Collada converter. This is all fun but requires time.

    Real Time.png

    Rendered with 16 pasess.png

    wireframe and solid.png

  3. To be sincere I dislike other 3D modeling packages. I had to use blender before and Cycles rendering engine is amazing, which is actually open source and in is being separated process from blender, meaning it ould be integrated anywhere. It also has to many things. It is just plainly a Moster that has to be used and digested as a Monster.

     

    I the other hand for me AM feels like a Kitten that has a Monster inside. But you don't see the Monster, you are always working with the kitten part o the Monster. What I mean is, AM is so well organize that does not feel overwhelming at all, in comparison to practically all the other 3d packages out there.

     

    It seems that AM is stable and has all the necessary features to work with itself, meaning that It would be nice if all development efforts were directed towards closing the gap in working harmoniously with other programs.

  4. You did it! =)

     

    it is possible to bring a polygon mesh as a polygon mesh into AM, with textures and if you want bones and weights

    What format do you have in mind that has geometry and bones?

     

    Collada file format, I am already loading geometry in my program from collada.

    But you have already created an exported from blender, meaning if you modify it and make it work as I did, it will be amazing.

     

    And I am actually not creating the patches, My program generates the splines and connects them very efficiently, it also generates a data file. Then I load the model in Am, let it generate the patches, than reload it in my program and attach all the other extra info using the data file that it generated.

     

    Actually I am writing the code in a way so I can make it public and you could develop you own file converter, by referencing my code and just passing lists of vertices, etc.

  5. This is a test of an obj polygon elephant converted with my program. All the polygons are there. There is no spline continuity. I am using flat patches, with all their cps set to smooth, all the patches are connected and they share splines, all the splines have 2 cps. And I have turned "Average Normals" ON

     

    The average normals wold need to be tweaked to really make that mesh smoother.

     

    Anyway, I don't know if I will have time to play with this any further, but I see that it is possible to bring a polygon mesh as a polygon mesh into AM, with textures and if you want bones and weights, and maybe more.

    I was able to bring hi-res meshes fairly fast and easy. But for rendering I think a subdivision technique like the one that pixar released for free would be wonderful, ust t make sure it look as smooth as possible. I never thought on converting AM into a polygon modeler, but it would be great to be able to import meshes from MakeHuman and Daz Studio, because you could pretty fast design humanoids using genesis in Daz Studio and they will be animatable. And of course all those 3D meshes that are for free out there that you would want to animate.

    Elephant.jpg

    Elephant No Average Normals.jpg

    Elephant.mdl

  6. In actualatity I want to create a file converter that keeps the uvs, the bones with weights, and if I have the time, the morph targets as pose slider.

     

    The thing is I do not want to keep trying to convert meshes to AM splines, they look good with polygons because they were build with polygons. I am trying to just bring those meshes into AM as they were created, but animate-able.

     

    Apart of being a hobby, I would like to submit an AM request, but I wanted to show something first.

     

    The request would be for someone to create a shader to display flat patches that are connected as smooth like polygons do, and hopefully a real-time version will be added to AM.

     

    But I am building the converter in a way that I can release a simple dll that anyone can use to incorporate any new mesh file type that I haven't added to the program. And they can do it even using Visual Basic.

     

    I can already convert the mesh into a model. Because I work 8 hours a day I skipped the patch creation code(because I was having problems with it) but instead I am letting Am create the patches for me.

    Then I reload the model with the patches and all the uv, normals etceteras, are added into the model file .

     

    Right now I am trying to calculate and write the uvs the correct way. I can see some patches with the texture but some not.

     

     

    This is what I understand about writing uvs in model file:

    The first number is 0

    after that comes the main cps(the ones that contain the x,y,z position)

    After that comes each uv of every cp, with 2 uvs in between them

     

    But when I check the stamp I do not see all the cps of the model there, for some reason not all of them are being adeddto the stamp when AM loads the model.

     

    If you could help me with this I will really apreciate it and it will be done much faster, because as I understand you were able to write the uvs correctly

  7. Yes, I saw the graphical explanation, but I think I am missing something, I can't understand some things.

    Originaly I was creating two cp splines per polygon edge, many of the patches shared the some same splines. I would asume I could use only one or two different bitfields but it is not so.

     

    Do I calculate the bit field according to the direction of each spline forming a patch?

  8. Hi Malo,

     

    I am doing my experimentations now, for what do 16 and 8 at the beginning of the patch stand for?

    I mean, I read all the info you posted earlier, I do not expect you to post it again, but I think is going to help me if you could explain the reason for choosing 16 and 8.

     

    Also, I could just let AM calculate the patches, but I want to add the uvs as decals.

    I don't know if I am doing it wrong but if write the uvs to the model file and not the patches when I load the model. AM crashes. Maybe I am loading them wrong.

     

    I really would love to be able to write the patches my self because the code I wrote is extremely fast. For a dense polygon mesh it takes less than a second.

  9. Hi Malo,

     

    Your English is just fine.

     

    Yes! (As Hamapatch was to import the objects from Metasequoia )

     

    I am not worried about loosing the subdivision. What I am worried right now is about writing the model file correctly including the patches, uvs, etc.

     

    What I am trying to do is to import a mesh just as a polygon mesh and not converted to a spline mesh. Yes it is actually using splines to represent the polygons.

    But the idea behind it is to stop trying to convert polygons to splines.

     

    "I finally came to the conclusion and acceptance that the best way to import a polygon mesh is as a polygon, because it was designed like that, as a polygon mesh."

     

    You will think that none of the patches/polygons are going to look smooth. And that is correct.

    But the first step to an idea I have is to just turn a mesh polygon file into model file with the exact shape and exact polygons.

     

    I would prefer to solve this first before going into the next step so I can show the idea more clearly.

     

    Basically Animation Master may be able to work directly with polygons. Something that is not been built in it but that may be achievable using splines as polygons.

  10. Hi,

     

    I have been experimenting a bit in creating mdl files,

    I tried understanding how you calculate the bitfield for every patch but I cannot get it to work.

     

    In my particular implementation all splines contain only 2 cps, meaning I do not follow any spline flow at all,

    I just create 2 cps splines as necessary to be able to create a patch and reuse the ones that are already created if adjacent.

     

    This is what I am doing appart from the bitfield

    CP1 = master cp containing position info to wish our cp is attached to.

    CP2 = cp of the next spline attached to CP1 next cp.

    CP2 = cp of the next spline attached to CP2 next cp.

    CP3 = cp of the next spline attached to CP3 next cp.

     

    then there are 5 numbers more, and as I understand the first four reference the index of each cp normal

     

    so for example I am writing this

    120 1 5 8 10 1 2 3 4 0

     

    To go further I am just playing with the idea that you may not need to actually convert any polygon mesh to a Hash spline model but rather just build the model like the polygon mesh, and preserve uvs, etc.

    This way the polygon mesh can be used and viewed as intended originally. And you can still animate, bend, etc and do everything else to it.

     

    But! there will have to be a way to display them smooth like a 'Prop' would. Maybe a new property added to the models to set it to display sharp connected edges smoothly.

     

    I think that would be a big jump, no more trying to convert polygons to patches but just use them as they were intended, even to be able to animate them, bend, etc.

×
×
  • Create New...