Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411512 Posts in 69376 Topics- by 58430 Members - Latest Member: Jesse Webb

April 26, 2024, 05:42:37 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsGhost Knight Victis - Heroic Dark Urban Fantasy - Action RPG
Pages: 1 ... 3 4 [5] 6
Print
Author Topic: Ghost Knight Victis - Heroic Dark Urban Fantasy - Action RPG  (Read 15177 times)
AnomalousUnderdog
Level 1
*



View Profile
« Reply #80 on: January 28, 2018, 10:09:53 PM »





Starting to work on the 3d model for the player’s 2nd armor, tentatively named “Dementero”. I think the name's too long. Feel free to suggest a better name: this armor’s about rage and brute strength.



I tend to want to give them Latin/European sounding words (doesn’t have to be a real word). The purple armor for example, is named “Desparo”, because it’s about despair.
« Last Edit: January 28, 2018, 10:48:11 PM by AnomalousUnderdog » Logged
Pixel Noise
Level 10
*****



View Profile WWW
« Reply #81 on: January 29, 2018, 06:19:40 AM »

That looks awesome, and I really like the graphic write-up about the inspiration, etc behind it. It's only the 2nd armor, so it's not really an issue yet - but I feel like ending all of the armors with "-o" would become monotonous and give them less individual character. I like the Latin concept - but maybe "Dementis" instead of "Dementero", for example?
Logged

Pixel Noise - professional composition/sound design studio.
 https://soundcloud.com/pixel-noise
 https://twitter.com/PixelNoiseMusic
 https://pixelnoisemusic.bandcamp.com/

Recently completed the ReallyGoodBattle OST!  https://www.youtube.com/watch?time_continue=2&v=vgf-4DjU5q
AnomalousUnderdog
Level 1
*



View Profile
« Reply #82 on: January 29, 2018, 09:35:48 AM »

That looks awesome, and I really like the graphic write-up about the inspiration, etc behind it. It's only the 2nd armor, so it's not really an issue yet - but I feel like ending all of the armors with "-o" would become monotonous and give them less individual character. I like the Latin concept - but maybe "Dementis" instead of "Dementero", for example?

I thought about that too, it's just that ending in -o makes it sound masculine to me, and with this armor being about brute strength, I thought it makes sense.

But I'm still open to suggestions. My first alternative was "Furis", but a quick google search reveals that it's the name of a weapon in Warframe. I'd rather not use a name that's already used in other games if I can help it.

So at the very least I was thinking of "Furio" (which turns out to be an Italian name).

I was also thinking "Ragiro" ("rage"). But "Dementis" actually does not sound bad.

The player will only have 2 armors though: this new one and the purple one that I've already been showing. At least, only 2 for now.

There will be other characters who have the same powers, and they'll have their own set of armors. I have no problem giving those other characters armor whose names aren't suffixed with -o.
Logged
AnomalousUnderdog
Level 1
*



View Profile
« Reply #83 on: February 05, 2018, 12:25:18 AM »

Some progress:







Logged
koyima
Level 0
***



View Profile WWW
« Reply #84 on: February 05, 2018, 02:54:12 AM »

nice progress.
Logged

AnomalousUnderdog
Level 1
*



View Profile
« Reply #85 on: February 11, 2018, 08:02:04 AM »





Almost finished, just need to add the loincloth and something to cover his butt!
Logged
AnomalousUnderdog
Level 1
*



View Profile
« Reply #86 on: February 19, 2018, 05:16:50 PM »

Settled with something simple to cover his butt. Will work on making a test rig next.





Logged
AnomalousUnderdog
Level 1
*



View Profile
« Reply #87 on: February 25, 2018, 06:34:23 AM »





I did an experiment to see if Unity can pick up constraint-based animations from Blender. Surprised to see it actually works.

Here I’m testing the opening/closing of the character’s visor via bone constraints (as shown in the Blender window). Instead of doing rotation on the visor bone, the open/close motion is created using constraints. This is really just more for convenience. Having them this way is easier for me, since now whenever I want to open/close the visor, all I need to do is drag a slider (i.e. the constraints’ influence percent), then keyframe that.

In Unity, I play this test visor animation from an additive layer in Mecanim. This means I can play the open/close visor animation independently, regardless of what the character is doing at the moment.

This means (via keyframing the constraint influences) I can do animations like weapon attacks wherein it starts with the character holding the weapon with both hands, lets go of his grip on one hand during the attack, punch the enemy with his free hand, then hold the weapon with both hands again afterwards.

The face I have there is just temporary, it’s part of an old 3d model I made.
Logged
AnomalousUnderdog
Level 1
*



View Profile
« Reply #88 on: May 08, 2018, 06:08:26 PM »

It’s so difficult to get back into things once you lost momentum, but I’m trying slowly to inch my way back to regular progress posts.

I hadn’t realized in one of my sketches, I made some detail on Demento’s back, so I went back to the 3d model and added it.



Long story short, I started living in an apartment unit that I rented. With all the hassle I had to go to, to get this place livable, I just ended up wanting to relax every weekend, so I wasn’t able to work on Ghost Knight Victis for a while.



The place was unfurnished, so I started buying stuff (via online), some of which ended up with a wrong delivery address (including the refrigerator). The store refunded me and I just ordered a 2nd time, but I just can’t relax until I’m sure I’m really gonna get it this time.

It’s just canned goods and fried eggs until I get my fridge (I finally did get it, though the refunding process for my original order is still not complete).



Since I was going on a shopping spree with my hard-earned savings, I thought I might as well buy some stuff I always wanted, like this full mount arm setup I did for my laptop and monitor:



(Horrible cable management there behind the laptop, but I’m too lazy to fix it.)

I also started work on his broken greatsword.



I have this idea for a power-up called "Lustre" which, when activated, will bring your weapons and armor back to their original, brand-new, shiny selves for a limited time, dealing double-damage. So this greatsword will appear whole when that's used.

To use it, a meter would fill up a bit every time you hit an enemy. It will reset to zero if you get hit, but once it's full, it can't drop to zero anymore, and you can then activate Lustre.

The idea with Lustre is that, due to your flawlessness in combat, you're able to have a glimpse of how things used to be.
« Last Edit: May 08, 2018, 06:21:58 PM by AnomalousUnderdog » Logged
AnomalousUnderdog
Level 1
*



View Profile
« Reply #89 on: May 13, 2018, 11:03:16 PM »



Finished a base mesh for the broken greatsword. I will probably sculpt in better details for the wear and tear on the blade.





I know this design doesn't technically classify as a greatsword, if we're talking about real-life, as the center of balance would not be correct (as most fantasy swords go).

This is more of an elongated cleaver with a sword hilt or something (I still call it greatsword because I don't know what else to call it). I just really wanted to have this type of weapon in my game.

It's not meant to be sheathed and has a very specific use (charging into tightly packed group of enemies). Outside of that situation, you are meant to switch to other weapons. In terms of gameplay, it's ability is Cleave, which makes all of its attacks hit multiple enemies.
« Last Edit: May 13, 2018, 11:08:34 PM by AnomalousUnderdog » Logged
AnomalousUnderdog
Level 1
*



View Profile
« Reply #90 on: May 22, 2018, 03:40:54 AM »





Before I move on to making this look good, I wanted to make sure I can properly get root motion to work in Unity. My first few attempts reminded me of the problem I had with my custom weapon bone.

Even when I thought “screw this, I’ll make my own custom root motion functionality from code”, I realized why it wasn’t so straightforward.



I made my weapon bone move like an IK handle, because this makes it easier for me to animate it. The left/right hand IK bones then, have constraints that make them “stick” to the weapon bone. But unlike how an IK bone is normally handled, this weapon bone I made is also holding the weapon mesh, visually. So it also counts as a “deforming” bone. This kind of makes it a “floating” bone, independent of the rest of the rig.

To explain the problem, I need to explain what root motion is. Root motion eliminates that foot sliding phenomenon with 3d models who play a walk animation in-place, and is just moved in the game engine.

Foot sliding happens because most of the time, the game engine moves the character only by a constant speed, but due to how some walk/run animations work, in reality, the character speed shouldn’t really be constant.



If you study how your body moves while jogging or running, you may notice there’s tiny moments of acceleration and deceleration that happen on each step. This is especially evident for a character animation that has a weird gait, like if they’re limping on one leg (or have poop in their pants).

Root motion works by having an animation that isn’t walking in-place. The animation is made to move the whole rig forward (enough for at least one walk cycle, so it can be properly looped). This is where the animator uses their skill to ensure that the forward movement looks natural with each step, that the feet don’t slide as the body moves forward.



When that move animation is played in-game, the game engine “extracts” that forward movement from the animation, negates it from happening to the 3d model, and instead puts that motion into the game object in the game.

You only need to negate the motion from the root of the rig (usually the pelvis/hips). This is because all the bones are ultimately parented to the root bone anyway. So when you move the root bone, everything else follows.

But I made this weapon bone to be independent of the skeleton structure, so it has to be its own root motion, even though it’s a child object of the rig. There’s probably some crazy math that can pull it off, but all my attempts haven’t worked so far, so I’ll try that again some other time.

____________________


The trick I ended up doing to make it work is a little silly: it’s two 3d models playing the same animation simultaneously. One has root motion, but with the weapon bone turned off (although it’s still being animated). And I have another doing the exact same thing, but with root motion unchecked, and is parented under the first 3d model.

This is all just to have the weapon bone not be subject to root motion, but is still parented to the game object that is being moved by root motion.



One of them is down on the ground there because I’ve had to rotate the 3d models a bit (when you start the game they finally adjust to the proper orientation). I suspect it’s because Blender makes use of the Z-axis as its up-to-down direction, while Unity uses Y-axis for that.

I also found that the root motion bone has the same problem. I think Unity expects it to be oriented such that the Y-axis of the bone is pointing upward. By default, Blender Rigify gives me a root bone with the Z-axis as the up. So when I use that as the Root Motion Node in Unity, it ends up flipping the whole 3d model:



It’s a little annoying because the Unity user manual neglects to mention these things.

I could edit the rig so it’s pointing at the right direction. But I usually just compensate for this by applying a rotation to the 3d model once it’s a game object in the scene.

Maybe next time I’ll try figuring out a better way to do all this.
Logged
Pixel Noise
Level 10
*****



View Profile WWW
« Reply #91 on: June 02, 2018, 12:18:53 PM »

Wow that's a great write up into the your animation process for the weapon. Definitely sounds frustrating to a degree.
Logged

Pixel Noise - professional composition/sound design studio.
 https://soundcloud.com/pixel-noise
 https://twitter.com/PixelNoiseMusic
 https://pixelnoisemusic.bandcamp.com/

Recently completed the ReallyGoodBattle OST!  https://www.youtube.com/watch?time_continue=2&v=vgf-4DjU5q
AnomalousUnderdog
Level 1
*



View Profile
« Reply #92 on: June 17, 2018, 11:52:14 AM »





First pass on a generic move animation. It’s been years since I last made run/walk cycles, and this is the first time I’m doing it with root motion in mind.

I’ll probably just use this as a template for future move animations.

There’s still a bit of foot sliding (see rightmost part) but I will try to fix that. I don’t know if Blender has some tool to temporarily anchor a foot IK in place while I move all the other bones.

This was my reference for the animation:




That reference video’s actually at half-speed but I think it works fine to show the heaviness of the armor.
Logged
CosmicCastles
Level 0
**



View Profile
« Reply #93 on: June 20, 2018, 11:28:45 AM »

Great work dude. Looking forward to more quality updates.  Hand Thumbs Up Left
Logged

TebiFestival
Level 0
***


View Profile WWW
« Reply #94 on: June 20, 2018, 01:20:21 PM »

Love the look of the character, it really reminds me of Guts in his full armor from Berserk.

All your animation updates are really interesting, I'm not an animator myself, but seeing your process of work let me understand better what goes into it.

Keep up the good work Smiley
Logged

Caiam Piter and the Mushroom Kingdom TIGSource DevBlog || Twitter || Facebook
AnomalousUnderdog
Level 1
*



View Profile
« Reply #95 on: June 26, 2018, 10:10:34 PM »





Progress is slow, lots of trial and error, and lots of waiting whenever Unity reimports the 3d model each time I try a fix, but got my test root motion thing working. It’s been a pain getting a Rigify rig from Blender to work properly in Unity.
Logged
LyricalReverie
Level 1
*



View Profile
« Reply #96 on: June 27, 2018, 11:50:06 AM »

That is a really cool project. As someone who grew up with tokusatus (Kamen Rider, Super Sentai and even a particular Metal Hero show) who also happens to enjoy Bloodborne (a Lovecraftian work), I am really interested.

I do like how you list your inspirations for design and stuff. Not everyone is comfortable doing that.
Logged
AnomalousUnderdog
Level 1
*



View Profile
« Reply #97 on: July 03, 2018, 05:43:23 AM »





Damn, cloth weight painting went from bad to worse in 2017.4.6f1. I was even content with what they had in Unity 5.5, at least I didn’t have to work on it upside-down.

I was looking forward to the improvements like having an actual brush, but turns out it doesn’t have pressure sensitivity or even just a simple soft circle brush (with a falloff) or anything like that.

Sometimes I wish I could just make a vertex group from Blender since weight painting is easier there, and somehow import that to Unity’s cloth component.

I have a feeling this is because my 3d model is from Blender, where the Z-axis is used for the up-down direction (Unity uses Y-axis for that). Seems like Blender doesn’t really get enough love from the Unity guys. It’s all been Autodesk from what I noticed recently.




I eventually did get the cloth component working properly.

Sometimes Unity demands hand-eye coordination gymnastics.



Anyway, the whole reason I was working on this was since I was about to test integration of the 2nd armor into the game, I thought it was worth cleaning up the rig of the 1st armor, using the lessons I learned from how to best make a Blender Rigify rig work with Unity, when I was making the 2nd armor, and also optimizations (like the Rig’s Optimize Game Object trick, which I didn’t use before). I needed to make the rigs consistent anyway (some bone names were inconsistent) cause they need to blend animations to each other when the player swaps armor.

This was quite the undertaking, since any edit to the rig will require re-importing all the animations made with it (54 of them, so far). Re-importing one animation clip takes what feels like 5 minutes, so it'll take a long while with those 54 animations. Any mistake I make would mean I need to re-import all over again, so I needed to be careful about it.



Speaking of taking long, I actually started looking for alternatives from Evernote, since that program really lags bad. I got about hundreds of notes there now, and whenever I create a new note, the window just goes unresponsive for too long.

I’m currently trying out Laverna. It doesn’t have a WYSIWYG text editor (it uses markdown), and it doesn’t have the convenient web clip tool that Evernote has, so I’ll probably keep using Evernote for taking web pages.



I'm still looking if there's better alternatives out there.
Logged
AnomalousUnderdog
Level 1
*



View Profile
« Reply #98 on: July 03, 2018, 06:02:49 AM »





Speaking of weird bugs, this was another one I encountered. The main Unity Editor window kept insisting there was some modal window that needed my attention but I can assure you there was no confirmation dialog box asking me for ok/cancel or anything like that.

This happens every now and then (not all the time, which makes it difficult to pin down the cause) whenever Unity finishes importing a 3d model, after I made changes to it.

The only way I could continue whenever this happened was to kill the Unity Editor from Task Manager and start it again.

That assert message in the console log also looked suspicious. It says: Assertion failed on expression: ‘s_AssetProgressBar.dialog’ The problem is that there are times when this bug happens but no assert messages show up. So I don’t think that assert was the cause.
___________________________________________________

@LyricalReverie: Thanks! It's cool that you're a toksatsu fan too.
Logged
AnomalousUnderdog
Level 1
*



View Profile
« Reply #99 on: July 10, 2018, 03:32:36 AM »



More headaches with trying to get my 3d model from Blender (exported as fbx) to work properly with Unity.

The moment I assign the Root Motion Node with my root bone (the one provided by Rigify), it rotates the entire character 3d model through some weird values. What’s even weirder is that my weapon bone seems to be unaffected, even though it is parented to the rig's root bone.

Take note that if I assign no Root Motion Node though, everything works fine.

This is the root bone’s orientation: +Z is up, +Y is pointing backwards, +X is pointing to the character’s left side.



The problem is that I see no way of undoing that weird rotation that Unity gives to the 3d model. There’s no “Offset Rotation to Root Motion Node” property that I could just edit.

I tried a lot of things to fix it. None worked. As an experiment, if I rotated the root bone like this:



I now get the opposite in Unity: having no Root Motion Node gives the character a weird rotation, but assigning the root bone fixes it. Interestingly, the weapon bone still looks like it’s unaffected regardless of what situation.



Of course since I rotated the root bone of the rig, that made the whole animation move weird:


That's because all the IK bones are parented to the root bone. So when the root bone's position or rotation is adjusted, they all follow.

Whereas, this was how it originally moved:


If you look carefully, all the up-to-down motions of the IK bones were turned into forward-to-backward motions.

If I edit the motion curves of the animation I end up with how the original animation looked like.

So I thought I'll just go with this solution. That requires me editing all the existing animations I have (54 of them used, but there are a lot of others like attack variations I made but haven't used). But instead of doing it manually, I'll be making a Python script (but I'm taking a short break from all this stress first).



This is at least, the nice thing about Blender, and the advantage for me for being competent with both art and programming in that I can devise solutions like this on my own.

The Python script will flip the motions of the IK bones automatically for me, because it would be a nightmare to have to go and manually fix all the animations I made so far for the character (all the idle animations of the 3 weapon stances, attack animations, dash animations, hit animations, etc.), but I wish there was no problem to fix this in the first place.

So momentum on the game’s progress is severely dampened while I had been fixing this. Is it Unity’s fault? Is it Blender’s? Is it the FBX file format? I honestly don’t know, and I’m too tired to think about it right now.

And yes I’m familiar with the configurable Up and Forward axes in Blender’s FBX exporter. Those settings work if the character has no Root Motion Node. But the moment the Root Motion Node is assigned, they are apparently ignored. No amount of changing them resulted in any change upon re-importing to Unity (and remember this is with a Root Motion Node assigned).



All of this headache, caused by this dichotomy:



Why the hell did people make use of different coordinate systems? I think Tim Sweeney explained it best:



(from https://forums.unrealengine.com/community/general-discussion/46691-z-up-vs-y-up-the-solution-to-the-debate-lies-within?p=467047#post467047)

I have no problem that we ended up with these coordinate systems, I just wish the export/import scripts did their job properly.
« Last Edit: July 10, 2018, 06:00:22 PM by AnomalousUnderdog » Logged
Pages: 1 ... 3 4 [5] 6
Print
Jump to:  

Theme orange-lt created by panic