Jump to content
  • entries
  • comments
  • views

Renovation of the Player model



One thing I want to redo or renovate is the player model and it's animations.  The first model was on a time limit and was mostly for showing off skills in modelling and character design. The assignment I handed in looks like this in a mandatory position to show that it is skinned:






The body model and skinning I am fine with. It has enough bones and links to be flexible enough for what I want. What I absolutely hated (but got very good grades for anyway) is the wings.
Notice how sloppy the wings are made. The main problem for me is the look, but actually, the look is not the only problem.  Let me show you an x-ray of how I built this model:





Notice the bones going from the wings. For every feather there's a bone controlling it. That means approximately 30 bones, which is not so bad since there's not necessarily a need for every feather to be skinned, but it is a hell to animate. The only good thing about having every feather controlled individually is that you can have 3-5 different feather textures and make them very hi-res without so much memory cost. A good engine would batch the rendering and good performance would not be a problem. 
But. No feathered wing looks like this. If an ornithologist saw this, he would rip my guts out or castrate me on the spot, everyone know how vicious they are.  So to be safe, I wanna change this.

Every bird wing has a number of layers and approximately 90 different feather types and shapes. So to make the wing look more real and voluminous, I wanted to do it "right". 

For reference, here's a drawing of the wing anatomy of a beautiful little bird called a "wall-creeper" (Tichodroma Muraria) 



There are many different feather types and wing shapes custom for the requirements of the specific bird. As you can see, there are the feathers that lift (the secondaries and the primaries) and some covering feathers that help micromanage the flight. 

So I wanted to try and model something that I liked the look of and matched more what a real wing looked like. Here's an initial model:


Here you can see what it looks like in viewport (don't mind the depth errors of the secondaries on the right wing). Here, I have two bones to control the spread of the primaries(the outer-most feathers) and two bones to control the secondaries. The Coverts are controlled by the wing inner bones. There's also an alula on each wing to make it look more like real wings.

These feathers were taken from a reference picture of feathers from a red-tailed hawk, since they have some more camouflage in their colouring. Since most of the hunting is gonna be in desert/Savannah/jungle environment, I wanted something that could blend in when sneaking around in tall grass. 

Please note that I am not an artist and I don't pretend to be. But I mostly know what I want.

Here's a rendering so that you can get a feel without the depth errors in the viewport:

In my eyes, this is much more pleasing to look at and if I were playing this character, I'd be less irritated. 

So the next few steps for me now is animating the thing and then coding some solid but fluent controls for it in a  suitable test-scene. So I'm gonna do that now.
The Next step is implementing a learning system for the creatures using a neural evolution algorithm.
After that I think I'll continue on the world design. More on that later.


Thanks for reading.




Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
  • Advertisement
  • Blog Entries

  • Similar Content

    • By trapazza
      I'm trying to add some details like grass, rocks, trees, etc. to my little procedurally-generated planet. The meshes for the terrain are created from a spherified cube which is split in chunks (chunked LOD).
      To do this I've wrote a geometry shader that takes a mesh as input and uses its vertex positions as locations where the patches of grass will be placed (as textured quads).
      For an infinite flat world (not spherical) I'd use the terrain mesh as input to the geometry shader, but I've found that this won't work well on a sphere, since the vertex density is not homogeneous across the surface.
      So the main question would be: How to create a point cloud for each terrain chunk whose points were equally distributed across the chunk?
      Note: I've seen some examples where these points are calculated from intersecting a massive rain of totally random perpendicular rays from above... but I found this solution overkill, to say the least.
      Another related question would be: Is there something better/faster than the geometry shader approach, maybe using compute shaders and instancing?
    • By FedGuard
      Hello all,
      I would like to start off with thanking you all for this community. Without fora like these to assist people the already hard journey to making an own game would be exponentially more difficult. Next I would like to apologize for the long post, in advance...
      I am contemplating making a game. There, now that's out of the way, maybe some further details might be handy.
      I am not some youngster (no offence) with dreams of breaking into the industry, I am 38, have a full-time job, a wife, kid and dog so I think I am not even considered indie? However I recently found myself with additional time on my hands and decided I would try my hand at making a game.Why? Well mostly because I would like to contribute something, also because I think I have a project worth making (and of course some extra income wouldn't hurt either to be honest). The first thing I realized was, I have absolutely no relevant skill or experience. Hmm; ok, never mind, we can overcome that, right?
      I have spent a few months "researching",meaning looking at YouTube channels, reading articles and fora. Needless to say, I am more confused now than when I started. I also bought some courses (Blender, Unity, C#) and set out to make my ideas more concrete.
      I quickly discovered, I am definitely not an artist... So I decided, though I do plan to continue learning the art side eventually, I would focus on the design and development phase first. The idea being, if it takes me a year or more solely learning stuff and taking courses without actually working on my game, I would become demoralized and the risk of quitting would increase.
      So I thought I would:
      1: Keep following the courses Unity and C# while starting on the actual game development as the courses and my knowledge progress.
      2: Acquire some artwork to help me get a connection with the game and main character, and have something to helm keep me motivated. (I already did some contacting and realized this will not be cheap...). Also try to have the main character model so I can use it to start testing the initial character and game mechanics. For this I have my first concrete question. I already learned that outsourcing this will easily run up in the high hundreds or thousands of dollars... (lowest offer so far being 220 USD) I am therefore playing with the idea of purchasing https://assetstore.unity.com/packages/3d/animations/medieval-animations-mega-pack-12141 with the intention of then have an artist alter and/or add to the animations (it is for a Roman character so some shield animations are not going to work the same way.). This way I could start  with the basic character mechanics. Is this a good idea, waste of money,...? Any suggestions? I then have a related but separate question. Is it a good idea to buy Playmaker (or some other similar software I haven't yet heard of like RPGAIO), and using this for initial build, then changing/adding code as the need arises?
      3.Get a playable initial level ready as a rough demo and then starting to look for artist for level design and character/prop creation.
      I would really appreciate some input from more experienced people, and especially answers to my questions. Of course any advice is extremely welcome.
    • By jonwil
      We have an engine based on Direct3D11 that uses ID3D11Device::CreateTexture2D to create its textures passing in whatever format we read from the dds file header.
      We also have a previous version of our engine that uses the DX9 fixed function bump map feature for bump maps. This feature takes bump map textures in U8V8 format as input but it also takes textures in DXT5 and A8R8G8B8 and converts them into U8V8 using D3DXCreateTextureFromFileInMemoryEx in d3dx9).
      Our current D3D11 engine handles the U8V8 textures just fine (I think it feeds it to CreateTexture2D as DXGI_FORMAT_R8G8_TYPELESS) and has some shader code that emulates the fixed function bump map feature without problems. But now we want to add support for the DXT5 and A8R8G8B8 bump maps.
      Does anyone know where I can find code for Direct3D11 (or just plain code with no dependence on specific graphics APIs) that can convert the DXT5 or A8R8G8B8 texture data into U8V8 data in the same way as D3DXCreateTextureFromFileInMemoryEx and the other D3DX9 functions would do? (Someone out there must have written some code to convert between different texture formats I am sure, I just can't find it)
    • By iGrfx
      I've learned that the triangle clipping in the rasterization process usually using Sutherland–Hodgman algorithm. I also found an algorithm called "Guard-band". I'm writing a software raster so I want to know what technical the GPU use, I want to implement it for study. Thanks!
      updated: what's the more proper triangulate algorithm?
    • By crySkif
      Can somebody give us a hint how to force disable nVidia Ambient Occlusion?
      Working on a adventure puzzle project where user can spawn smoke cloud - crucial for some gameplay parts. In our engine smoke does not write information to depth buffer, therefore users can enable nVidia AO in their Control Panel and see geometry silhouettes through the cloud, it breaks gameplay. Similar problem was (and still present!) in Counter Strike and some others shooters. In Counter Strike it was kind of fixed by reseting driver options when game starts. But it easily hacked
      What nVidia AO takes as input? Hardware depth buffer? Or it somehow finds ours intemediate textures used as G-Buffer?
      Tried to zero-out depth, it works in some cases, but not always. What can we do from engine side?
      Thanks in advance!

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!