Forced 'Camera Facing' Flag for Actors

Moderator: GZDoom Developers

User avatar
nazakomu
Posts: 131
Joined: Wed Nov 30, 2016 12:51 am
Graphics Processor: nVidia with Vulkan support

Re: Forced 'Camera Facing' Flag for Actors

Post by nazakomu »

Rachael wrote:With the concerns that Hellser voiced
Then a good compromise in my opinion to fit in with this conveniently—and while though this probably should be made in a separate topic—would be to also make an option called "Mod-defined" for billboarding as well. I guess it's either that or what you said for me!
User avatar
Major Cooke
Posts: 8175
Joined: Sun Jan 28, 2007 3:55 pm
Preferred Pronouns: He/Him
Location: QZDoom Maintenance Team

Re: Forced 'Camera Facing' Flag for Actors

Post by Major Cooke »

...Redoing post. I kinda screwed up.
Last edited by Major Cooke on Thu Aug 24, 2017 9:42 pm, edited 2 times in total.
User avatar
Pixel Eater
 
 
Posts: 667
Joined: Wed Aug 02, 2017 12:31 am
Location: In between the Moon and you, between the buried and me.

Re: Forced 'Camera Facing' Flag for Actors

Post by Pixel Eater »

Ok, second try:
[Deleted]
This is the mod I would like to finish with the camera facing flag in mind. These early "choices" I've made are mostly the result of copying/pasting so don't reflect what it will be, plus there is more to add. I'm hoping this will give some sort of indication of what I am trying to achieve even though It's far from finished.
Notice in E1M1 how the tech pillars either side of the stairs leading to the green armor stay upright no matter which billboard style is used but the carcass on the blue floor is still customizable? Stand outside by the blue armor and let the Imp throw a fireball at you. Freeze the game once it is through the window and look up underneath it. It will always look round due to always being in 'X/Y' mode (actually it changes it's shape but that's another issue). So three things are happening at once, 'Y', 'X/Y' and the user preference wildcard instead of just one of those.
The point is that I was scared away from using 'X/Y' mode because the Tech Pillar, Big Tree, Cyberdemon and others looked so bad but then with 'Y' I was disliking other sprites for different reasons. The same applies to camera facing. It looks good for some things but not others.
Last edited by Pixel Eater on Sun Aug 27, 2017 8:52 pm, edited 3 times in total.
User avatar
nazakomu
Posts: 131
Joined: Wed Nov 30, 2016 12:51 am
Graphics Processor: nVidia with Vulkan support

Re: Forced 'Camera Facing' Flag for Actors

Post by nazakomu »

Major Cooke wrote:I agree, it should be user preference such as the on/mod-defined/off setting I proposed.
Just as I agree with the rest of his post. And I think it should be both for the camera and the billboarding options, then with best of luck, modders can get suggestions on their mod's threads to force X or X/Y input for certain actors/objects to fit in with the camera's option or vice versa!
User avatar
Major Cooke
Posts: 8175
Joined: Sun Jan 28, 2007 3:55 pm
Preferred Pronouns: He/Him
Location: QZDoom Maintenance Team

Re: Forced 'Camera Facing' Flag for Actors

Post by Major Cooke »

https://puu.sh/xiWe3/480dd9f044.png <-- No sprite facing
https://puu.sh/xiWhD/7ec867c362.png <-- Sprite facing

https://puu.sh/xiWjg/a4ddbbd69b.png <-- Sprite facing
https://puu.sh/xiWk0/edc9fbf0b0.png <-- No sprite facing (What the fuck!? XD)

Which is why an on/mod-defined/off switch setting would be very handy here. Because with Y billboarding...

https://puu.sh/xiWnu/efaff04acf.png <-- Flat as a pancake and a cookie cutter. Absolutely not doing what I desired, and that's to make 'em loom real mean-like. :twisted:

Obviously some scenarios it wouldn't work as well, like say if you did this to a cyberdemon. Hence why modders should be allowed to use +FACECAMERA so when it's mod-defined, it looks as how the modder envisioned it. Since some may disagree, they can simply switch it to all off or on to their own content.

In no way, shape or form does Y billboarding possibly work in this case, looks bad to me. I'd expect her not to be a poster board. :P
User avatar
Rachael
Posts: 13542
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her
Contact:

Re: Forced 'Camera Facing' Flag for Actors

Post by Rachael »

I hate to do this to you, Cooke - but I think that example (as the mod, itself) is going to need to be posted, at the very least, in PM to the development team. I'd say you made your case enough at least to try a PR, though, but we need that example to go with it.

I think this is purely a case of we really need the real-world example to go with it in order to make a final decision. I am still not 100% convinced, but you are right that those look horribly wrong. The thing is, I am still not convinced that any method of showing XY billboarding at extreme angles will be the correct one, though.
User avatar
Major Cooke
Posts: 8175
Joined: Sun Jan 28, 2007 3:55 pm
Preferred Pronouns: He/Him
Location: QZDoom Maintenance Team

Re: Forced 'Camera Facing' Flag for Actors

Post by Major Cooke »

I don't mind posting a stripped down version here. I'll just include some of the sprites of one state and position it properly, then we'll be good to go.

If you want I can show you a blender view of this looking down to help provide that real world example in addition.

Granted, we can't make it perfect because these are all PNGs but the modder can, at the very least, be allowed to choose what looks better at the very least.
Last edited by Major Cooke on Thu Aug 24, 2017 10:23 pm, edited 1 time in total.
User avatar
Pixel Eater
 
 
Posts: 667
Joined: Wed Aug 02, 2017 12:31 am
Location: In between the Moon and you, between the buried and me.

Re: Forced 'Camera Facing' Flag for Actors

Post by Pixel Eater »

The thing is, I am still not convinced that any method of showing XY billboarding at extreme angles will be the correct one, though.
I think the only solution is the one which bases it on relative incline. If the relevant sprite is on the same elevation as you are it should stay 'Y' billboard but progress to 'X/Y' the higher or lower it gets. Except now I'm picturing the same thing as camera facing but up and down as another option so I need to go stand in the corner and think for a while :lol:
User avatar
Major Cooke
Posts: 8175
Joined: Sun Jan 28, 2007 3:55 pm
Preferred Pronouns: He/Him
Location: QZDoom Maintenance Team

Re: Forced 'Camera Facing' Flag for Actors

Post by Major Cooke »

If you'd rather an animated and moving example though, Rachael, I can do that too. I'll set up a test map where it does its stuff so you can see it in that case.
User avatar
Rachael
Posts: 13542
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her
Contact:

Re: Forced 'Camera Facing' Flag for Actors

Post by Rachael »

Yeah that was something interesting to think about. With the cyberdemon example you posted earlier - if you have the cyberdemon towering above you, but he's behind you, it would look horribly wrong to see his hoofs on camera rather than his upside-down face. Of course, that could be fixed with Y-billboarding, but when XY-billboarding is used it's a whole different story.

What I'd do for your example is to force the player to stand on top of a transparent platform (can be done with a sector portal if you're looking for a quick and easy trick) and remind him to look down. You will not need to set up cameras or restrict his movement.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49066
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Forced 'Camera Facing' Flag for Actors

Post by Graf Zahl »

Taking a quote from the binned part:
Major Cooke wrote: In fact I'll just go ahead and work on a PR now, it's pretty simple.
Sure you can do a PR and surely it is easy. But here's the problem:

The engine is already littered with various projection modes for sprites. But none of them actually work right because it was all 'easily' hacked in without ever taking care of proper render order.
Now, combining camera-facing sprites and player-facing sprites will make the entire system explode with even more serious inconsistencies.

So here's the final verdict: Unless someone finds time to fix the sorting algorithm, there will be no more render modes and render options for sprites that chance the orientation. And I doubt you will be the one to fix it, considering that your additions are the reason that this code needs to be redone - which of course never was on your radar when implementing it.
User avatar
Rachael
Posts: 13542
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her
Contact:

Re: Forced 'Camera Facing' Flag for Actors

Post by Rachael »

Now that I think about it, that's a huge problem in the software renderer whenever I've worked with it. I am not surprised to find out that the OpenGL suffers similarly.
User avatar
Nash
 
 
Posts: 17439
Joined: Mon Oct 27, 2003 12:07 am
Location: Kuala Lumpur, Malaysia
Contact:

Re: Forced 'Camera Facing' Flag for Actors

Post by Nash »

Graf Zahl wrote: The engine is already littered with various projection modes for sprites. But none of them actually work right because it was all 'easily' hacked in without ever taking care of proper render order.
Now, combining camera-facing sprites and player-facing sprites will make the entire system explode with even more serious inconsistencies.
As someone who's worked on it directly before (and also partially responsible for the mess that it is)... I 1000000% agree on this statement. "Easily hacked in" is an accurate term, and I keep telling myself how stupid and inexperienced I was in hindsight. :S

Anyone who's curious, feel free to open gl_sprite.cpp, and take a look at GLSprite::CalculateVertices... cringe! ;(
User avatar
Pixel Eater
 
 
Posts: 667
Joined: Wed Aug 02, 2017 12:31 am
Location: In between the Moon and you, between the buried and me.

Re: Forced 'Camera Facing' Flag for Actors

Post by Pixel Eater »

I'm having a look, It's interesting. I think given time I might be able to understand what's going on :o
User avatar
Major Cooke
Posts: 8175
Joined: Sun Jan 28, 2007 3:55 pm
Preferred Pronouns: He/Him
Location: QZDoom Maintenance Team

Re: Forced 'Camera Facing' Flag for Actors

Post by Major Cooke »

Graf Zahl wrote:So here's the final verdict: Unless someone finds time to fix the sorting algorithm, there will be no more render modes and render options for sprites that chance the orientation. And I doubt you will be the one to fix it, considering that your additions are the reason that this code needs to be redone - which of course never was on your radar when implementing it.
And I am quite through with playing the messenger and being shot because someone else's code (yes, that code is not my own). I've learned my lesson and won't be doing that again. I'm tired of being a meat shield for this.
Post Reply

Return to “Closed Feature Suggestions [GZDoom]”