Quick Links: Download Gideros Studio | Gideros Documentation | Gideros Development Center | Gideros community chat | DONATE
3D Animation - Page 3 — Gideros Forum

3D Animation

13

Comments

  • @PaulH That sounds like a very handy tool! Unfortunately some of us also have zero talent at 3D modelling ;)
  • olegoleg Member
    edited December 2019
    @PaulH
    antix said:

    @PaulH That sounds like a very handy tool! Unfortunately some of us also have zero talent at 3D modelling ;)

    For beginners I recommend to try:
    SketchUp -To model houses
    magicavoxel -To simulate casual objects
    '3d coat' -Simulate realistic objects
    These 3 programs are very simple and you can create 3d in them without training


    mixamo - Animate 3D
    my games:
    https://play.google.com/store/apps/developer?id=razorback456
    мій блог по гідерос https://simartinfo.blogspot.com
    Слава Україні!
  • PaulH said:



    For those like myself, who don't have much talent for drawing, let alone drawing animations, being able to efficiently make sprites from models is tremendously helpful.

    You can shoot the video as you throw the fishing line. And then you just redraw the video by frame
    Then scrolling through the video, you can create an animation in dragonbones
    http://dragonbones.com/en/index.html

    my games:
    https://play.google.com/store/apps/developer?id=razorback456
    мій блог по гідерос https://simartinfo.blogspot.com
    Слава Україні!
  • antix said:

    @PaulH That sounds like a very handy tool! Unfortunately some of us also have zero talent at 3D modelling ;)

    It's true that 3D modeling takes time to learn, but it's a skill that can be acquired even if you have no natural sculpting or other artistic talent. A great feature in Blender is that you can put a background image behind the model you're building. You can drop in a default shape, like a sphere if you're modeling a human head, and then just drag vertices around to line up with the background image. You can use a different background image for the profile, vs straight on, vs, top down. There's still room for artistic skill to make it better, but a non-artist can model something decent that way. It's the 3D digital equivalent of projecting an image on a sketch pad, then drawing the projection by hand.

    It gets more complicated when you get into rigging (adding bones) and animating, but there are great tutorials out there that can help a person learn the basics pretty quickly.

    My own 3D modeling skills are really, really basic. When I see what serious Blender artists can do, I'm reminded that I'm still a total noob. But I've got to say it's a lot of fun.

    There are also a lot of free Blender models out there a person could use as is, or modify to fit your needs. It's a lot easier to modify something than to build something from scratch.

    I guess what I'm trying to say is - give Blender a try, following some new user tutorials. You might have a lot of fun with it, and you might be surprised what you're capable of creating.

    Paul

    Likes: antix

    +1 -1 (+1 / -0 )Share on Facebook
  • @PaulH Polygonal modeling as in the blender is a backward technology.
    You have to constantly think that you have the right polygons and you are modeling not as an artist but as a mechanic.

    It is much better not to model polygons but to sculpt a 3d model from clay - in programs (zbrush, 3dcoat, mudbox)
    And then make the correct polygons using retopology

    my games:
    https://play.google.com/store/apps/developer?id=razorback456
    мій блог по гідерос https://simartinfo.blogspot.com
    Слава Україні!
  • oleg said:

    @PaulH Polygonal modeling as in the blender is a backward technology.
    You have to constantly think that you have the right polygons and you are modeling not as an artist but as a mechanic.

    It is much better not to model polygons but to sculpt a 3d model from clay - in programs (zbrush, 3dcoat, mudbox)
    And then make the correct polygons using retopology

    That sounds like an interesting technology, and it might be the best choice for a lot of people. For me, I'm happy that I can tackle the problem thinking like a mechanic rather than an artist, because that aligns better with my own talents. Quite literally, I can do some competent mechanical work, but my artistic work would never be mistaken for that of a professional. So I'm happy to work more as a mechanic than as an artist.

    But if someone is starting into 3D modeling from scratch, especially if they have any talent for sculpture, I don't doubt that there may be better choices other than Blender, and I'd encourage people to try out the tools you mentioned, so I'm glad you suggested those. For me, Blender is a very good fit.

  • @PaulH You misunderstood me
    To model as a mechanic - you need to be a good artist to clearly know the anatomy and position the polygons correctly

    And clay molding technology allows you to correct your mistakes and modify the model very quickly

    - clay molding - it is creativity - convenient for those who can not draw well the first time

    -Polygonal modeling is a mechanical job for professional artists with a good sense of volume who draw well from the first time

    **I'm sorry to write confusingly - I don't have enough words in English, because I think in Ukrainian and in us, in words, there are a lot more shades than in English.

    my games:
    https://play.google.com/store/apps/developer?id=razorback456
    мій блог по гідерос https://simartinfo.blogspot.com
    Слава Україні!
  • oleg said:

    @PaulH You misunderstood me
    To model as a mechanic - you need to be a good artist to clearly know the anatomy and position the polygons correctly

    And clay molding technology allows you to correct your mistakes and modify the model very quickly

    - clay molding - it is creativity - convenient for those who can not draw well the first time

    -Polygonal modeling is a mechanical job for professional artists with a good sense of volume who draw well from the first time

    **I'm sorry to write confusingly - I don't have enough words in English, because I think in Ukrainian and in us, in words, there are a lot more shades than in English.

    I'll explain a bit differently:
    Old technology: you first make a low poly model and then convert it to a hipoly


    New technology: you first create a high polygonal model without thinking about its grid
    And then turn it into a low poly model
    my games:
    https://play.google.com/store/apps/developer?id=razorback456
    мій блог по гідерос https://simartinfo.blogspot.com
    Слава Україні!
  • @oleg, that's very interesting stuff. Those are some hi-poly editing techniques I've never used. I haven't ever made models with the level of detail of some of the high-polygon models used in those videos. I see the power of the tools, and can imagine scenarios where they'd be very useful. For instance if you're doing something with variable level of detail (VLOD) that swaps in higher poly models for low ones as the camera gets closer to the models, then this looks like a great way to make the lower poly models from the higher poly versions.

    My own modeling has been much simpler: I usually just build one model of each item, trying to keep the polygon count low from the start, and only adding enough detail to get the quality of in-game graphics I'm shooting for. I might make a head with very few polygons, until I see that the cheekbone or jaw looks way too sharp in game, play, then subdivide some of the surfaces and move them around to round off the shape. I've occasionally used a Blender feature to simplify a model, which automatically reduces the number of polygons by some factor. I've used that to take a detailed tree model with many small branches, and produce a model with 10% as many polygons but with the same overall shape, that I can use for the tree when it's far away. Most of the time, I don't even get into VLOD, but just use the same moderately low poly models all the time.

    I appreciate the videos you shared. In the first one, the pillar with all the cracks and wear is really impressive. It probably finished with thousands of polygons, and the second video shows techniques to make a version that captures the essence of a high poly model like that using just a few dozen polygons. Those are some tools I didn't even know Blender had.

    For those who might like to do some simple 3D modeling, not getting into high poly models at all, a great example is the way the main structure of the pillar is created in the first video. It's just a few steps to make the top and bottom, and indent the sides. For many projects, one could stop there, before beveling the edges, adding cracks and chips, and the other steps that turned it into a high-poly model.

    The high vs low poly issue is also relevant to the topic of using 3D models to generate sprites for a 2D game. Usually I try to keep my models relatively simple, to minimize the GPU load in rendering them. In real-time 3D, you want the entire scene full of models to render in a few milliseconds. But if you're going to pre-render sprites from models, it doesn't matter if each model has a huge number of polygons and takes several seconds to render.

    Again, I'm no 3D modeling expert. I have enough skill to make simple shapes quickly, and to rig and animate models, but I know I'm just scratching the surface of what's possible.
  • As with most things if you are doing it you are cementing knowledge. I used Blender for a few weeks here and there but really I think you need to be constantly using an application to be proficient with it.

    Personally I'm not overly keen on learning polygonal modelling as I feel it's a lot of time that could better be spent programming... the thing I actually enjoy. Again unfortunately, it is very difficult to find people who are skilled 3D modellers who are willing to work for free on projects in the hope that there might be some payoff :)

    As far as the low poly vs high poly thing... I'm all for low-poly. Keep an eye on https://www.reddit.com/r/gameassets/ where many people post free game assets. Look out particularly for posts by https://www.reddit.com/user/QuaterniusDev/ who posts some really amazing low poly models for free.
  • MoKaLuxMoKaLux Member
    edited December 2019
    there is this tool for making easy 3d models from reference photos: https://dust3d.org/
    The only problem is the tools are very tiny on my screen, it's a known bug and the dev is thinking about it. Much easier than blender but you can export to blender if you wish.
    https://github.com/huxingyi/dust3d

    Likes: oleg

    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
    +1 -1 (+1 / -0 )Share on Facebook
  • hgy29hgy29 Maintainer
    Thanks everyone for your input about 3D tools, it would be good to add this list to the Wiki
  • yes, i also have found some of these (free) 3d tools interesting, thanks for posting
  • olegoleg Member
    edited December 2019
    @PaulH "It probably finished with thousands of polygons, and the second video shows techniques to make a version that captures the essence of a high poly model like that using just a few dozen polygons. "
    The number of model polygons will not increase!
    High polygonal model - you bake in the texture 'normal.map'. And then you apply that texture to a low poly model


    The essence of the second video is not to reduce the polygons, but to build the right mesh, which makes the finished model so much easier for non-artists.

    Likes: MoKaLux

    my games:
    https://play.google.com/store/apps/developer?id=razorback456
    мій блог по гідерос https://simartinfo.blogspot.com
    Слава Україні!
    +1 -1 (+1 / -0 )Share on Facebook
  • olegoleg Member
    edited December 2019
    oleg said:

    @PaulH "It probably finished with thousands of polygons, and the second video shows techniques to make a version that captures the essence of a high poly model like that using just a few dozen polygons. "
    The number of model polygons will not increase!
    High polygonal model - you bake in the texture 'normal.map'. And then you apply that texture to a low poly model
    This is a screenshot of my ballista model, here I showed a real low polygon mesh and a texture that is baked from a high polygonal model - the texture rounds corners, rivets and cracks without using polygons.

    ** Also in this screenshot ambient occlusion is also baked in texture - because the 3d engine will not need to calculate the shadow on the object


    This is my model in the store:( Look at screenshots of her grid and screenshots of her with texture)
    https://www.cgtrader.com/3d-models/military/rocketry/roman-arrow-ballista
    image.png
    1152 x 604 - 995K

    Likes: MoKaLux

    my games:
    https://play.google.com/store/apps/developer?id=razorback456
    мій блог по гідерос https://simartinfo.blogspot.com
    Слава Україні!
    +1 -1 (+1 / -0 )Share on Facebook
  • Many believe that the smaller the polygons in 3D parts the better
    -IT IS NOT TRUE!
    The main thing is not the number of polygons but the number of texture points on the polygons

    The figure shows the GPU time, when using the 1st polygon and 2 polygons - there is no difference
    image

    The following 2 models have the same number of polygons, 6 polygons
    But for GPU 2g the model draws less cost because the shape of the polygons is not stretched but square
    image
    In the following figure a hexagonal star is created by 2 polygons that overlap, and the outer star is created by 10 polygons that do not overlap

    A star where more polygons for the GPU are less expensive because it needs to draw fewer texture points
    image

    Who are interested in the details, read here:
    https://translate.google.com.ua/translate?hl=uk&sl=auto&tl=en&u=https://habr.com/ru/post/433186/&sandbox=1
    111.PNG
    1304 x 359 - 208K
    222.PNG
    663 x 182 - 129K
    33.PNG
    643 x 320 - 180K

    Likes: antix, MoKaLux

    111.PNG 208.4K
    222.PNG 129.3K
    33.PNG 180.5K
    my games:
    https://play.google.com/store/apps/developer?id=razorback456
    мій блог по гідерос https://simartinfo.blogspot.com
    Слава Україні!
    +1 -1 (+2 / -0 )Share on Facebook
  • hgy29hgy29 Maintainer
    It is actually not about texture points, but pixels drawn. Drawing fewer vertices is important, but way less than important than drawing fewer pixels.
    +1 -1 (+3 / -0 )Share on Facebook
  • olegoleg Member
    edited January 2020
    hgy29 said:

    It is actually not about texture points, but pixels drawn. Drawing fewer vertices is important, but way less than important than drawing fewer pixels.

    Sorry for my english, these are translation difficulties.

    One vertex can be used for multiple polygons, so I meant not vertices but polygons (triangles)

    Likes: MoKaLux

    my games:
    https://play.google.com/store/apps/developer?id=razorback456
    мій блог по гідерос https://simartinfo.blogspot.com
    Слава Україні!
    +1 -1 (+1 / -0 )Share on Facebook
  • olegoleg Member
    edited January 2020
    Is it possible to animate the texture on a 3D model in Gideros?

    For example I have such a texture of a caterpillar of a tank, and I need to make this texture a tile, and to shift all tiles of texture every frame

    image.png
    1104 x 294 - 347K
    my games:
    https://play.google.com/store/apps/developer?id=razorback456
    мій блог по гідерос https://simartinfo.blogspot.com
    Слава Україні!
  • Example of texture offset on a polygon
    image
    222.PNG
    970 x 606 - 364K
    222.PNG 363.5K
    my games:
    https://play.google.com/store/apps/developer?id=razorback456
    мій блог по гідерос https://simartinfo.blogspot.com
    Слава Україні!
  • hgy29hgy29 Maintainer
    Yes you can do that by offsetting the texture coordinates for the meshes using that texture, and making your texture repeatable, that is power of two on the direction it will repeat

    Likes: oleg, antix

    +1 -1 (+2 / -0 )Share on Facebook
  • hgy29 said:

    Yes you can do that by offsetting the texture coordinates for the meshes using that texture, and making your texture repeatable, that is power of two on the direction it will repeat

    And can i rotate the wheel texture around the axis? so as not to rotate the polygons
    my games:
    https://play.google.com/store/apps/developer?id=razorback456
    мій блог по гідерос https://simartinfo.blogspot.com
    Слава Україні!
  • hgy29hgy29 Maintainer
    Not directly, you would need a shader that takes a transform matrix for the texture, that would solve both problems!

    Likes: oleg

    +1 -1 (+1 / -0 )Share on Facebook
  • olegoleg Member
    edited January 2020
    hgy29 said:

    Not directly, you would need a shader that takes a transform matrix for the texture, that would solve both problems!

    If create a square polygon with a transparent wheel and then rotate the polygon. Which will be faster shader or rotate polygon?

    Or better, make multiple wheel textures and change them as frame-by-frame animation. ??
    my games:
    https://play.google.com/store/apps/developer?id=razorback456
    мій блог по гідерос https://simartinfo.blogspot.com
    Слава Україні!
  • MoKaLuxMoKaLux Member
    edited March 2020
    hope you are all doing well :) I am trying to play with animation and 3d in gideros but I don't know where to start!
    I have an animation in fbx format which I can play in blender 2.8.
    What do I do next :* ?
    - do I export it to gltf?
    - do I convert it using fbx-conv-win32.exe? When I do it converts my fbx to g3db.
    - then how do I have the json for my model and my animations?

    I have read the post over and over but I don't know what to do. Could you please help me get started <3 Thank you.

    EDIT: I am sorry to say but JSON is no more the way to go?
    Three.js Blender Export
    https://github.com/mrdoob/three.js/tree/dev/utils/exporters/blender
    NOTICE: The Blender exporter for the Three.js JSON format has been removed, to focus on better support for the glTF workflow. For recommended alternatives, see Loading 3D Models. The Three.js Object/Scene JSON format is still fully supported for use with Object3D.toJSON, the Editor, THREE.ObjectLoader and converters.
    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
  • hgy29hgy29 Maintainer
    @MoKaLux, export to FBX from blender, then use fbx-conv-win32 to convert it to g3dj (JSON) format. You may need the '-f' option too: https://github.com/libgdx/fbx-conv/blob/master/README.md
  • MoKaLuxMoKaLux Member
    edited March 2020
    @hgy29 yes I have converted it with fbx-conv-win32, so after that I just change the extension .g3db to .json?
    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
  • hgy29hgy29 Maintainer
    No, use the '-o' option to specify g3dj format

    Likes: MoKaLux

    +1 -1 (+1 / -0 )Share on Facebook
  • MoKaLuxMoKaLux Member
    edited March 2020
    thank you that worked!
    The steps I did:
    - have an fbx model
    - copy it in your fbx-conv-win32 folder (optional?)
    - open windows powershell in the same directory
    - in the command line type: .\fbx-conv-win32.exe -f yourmodel.fbx yourmodel.g3dj
    - finally change the extension of yourmodel.g3dj to yourmodel.json

    I can continue experimenting with animations. Thank you hgy29 <3

    you can grab fbx-conv for your system here: https://github.com/libgdx/fbx-conv
    go down to "Precompiled Binaries"
    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
  • I figured I could continue this thread instead of creating a new topic ;)

    I have a big model which is animated (9mb in size!), I tried various complex animations and they all work very well.

    I am now trying to understand hgy29 's 3dbase wonderful classes. My first baby step is to find a way to get the total number of frames in the anim:
    require('json')
    function totalFrames(file)
    	local fd=io.open(file,"rb")
    	assert(fd,"Can't open file:"..file)
    	local js=fd:read("*all")
    	fd:close()
    	gdx=json.decode(js)
     
    	local root={}
    	root.type="group"
    	root.parts={}
    	for k, v in ipairs(gdx.animations) do
    --		print(#v.bones.keyframes) -- NOT WORKING HERE
    		for _, v1 in ipairs(v.bones) do
    			print(#v1.keyframes)
    		end
    	end
    end
    totalFrames(xfile) -- in my case it outputs 32
    I call this function after loading the animation. Do you think that's the way to go or I should try to make a function somewhere in the 3dbase code?

    The ultimate goals would be to have access to the current playing frame, stepping from frame to frame, pausing the anim, ...
    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
Sign In or Register to comment.