Forum

What are you working on?

Discuss anything not covered by any of the other categories.

Moderator: InsideQC Admins

Re: What are you working on?

Postby taniwha » Thu Jul 05, 2012 10:28 am

I have to agree that just dealing with simple triangles using indices is very nice and... well, simple. And efficient when verts are reused.
Leave others their otherness.
http://quakeforge.net/
taniwha
 
Posts: 399
Joined: Thu Jan 14, 2010 7:11 am

Re: What are you working on?

Postby mankrip » Thu Jul 05, 2012 2:28 pm

For organic models, triangles are much better. When animating, it's almost impossible for all four vertices of their quads to keep aligned, because frame interpolation can move them around in unpredictable ways. Modeling with triangles, you can at least know if the pair of triangles that forms a quad will bend inwards or outwards when animating.

When learning to model Fightoon's models, I've spent countless hours just swapping triangles around with Ctrl+E in Milkshape to make sure they would animate correctly. Including triangles that formed perfectly flat quads while in the editor, because many times they would get shaded incorrectly when actually running the game.

Quads are good for models that doesn't animate, and for mechanic models whose parts just moves around instead of deforming.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
User avatar
mankrip
 
Posts: 915
Joined: Fri Jul 04, 2008 3:02 am

Re: What are you working on?

Postby ceriux » Thu Jul 05, 2012 6:36 pm

since when has milkshape supported quads?
User avatar
ceriux
 
Posts: 2223
Joined: Sat Sep 06, 2008 3:30 pm
Location: Indiana, USA

Re: What are you working on?

Postby mankrip » Thu Jul 05, 2012 7:08 pm

Never. What I mentioned are pairs of triangles aligned like quads. Frame interpolation can often change that alignment during actual game play. And even if you use an editor that supports quads, no game engine actually supports them. Since all quads will be converted into triangles anyway, it's better to edit them directly as triangles, so we can choose which vertices will be used for each triangle.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
User avatar
mankrip
 
Posts: 915
Joined: Fri Jul 04, 2008 3:02 am

Re: What are you working on?

Postby leileilol » Fri Jul 06, 2012 12:23 am

I should mention the engine i'm modeling her for is UnrealEngine2

I also recently figured out a workaround to export animations for it! I can FINALLY fix those stupid driving animations, as well as making character specific taunt animations, and maybe (if i'm lucky), adjust skeletal proportions!!
i should not be here
leileilol
 
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am

Re: What are you working on?

Postby ceriux » Fri Jul 06, 2012 7:37 pm

working in quads for game dev isnt bad if you ask me. you just have to know the specific places where the quads dont do what they should and connect the vertices so that they do what you're wanting. working in quads for me is a bit cleaner and easier for me to see what i'm doing i started off in milkshape and doing everything in triangles is a bit cluttered.
User avatar
ceriux
 
Posts: 2223
Joined: Sat Sep 06, 2008 3:30 pm
Location: Indiana, USA

Re: What are you working on?

Postby mankrip » Sat Jul 07, 2012 3:11 am

Quads are good for weapons, vehicles, and stuff like that.

However, depending on the renderer, there's another limitation: Quake's software renderer doesn't support perspective correction on MDL models, so you get weird texturing on trapezoid "quads" like the ones in the regular shotgun. Sometimes, this kind of problem can also be avoided by using triangles so you can manually map up the triangle divisions of the skin in a safer way. Sometimes, another solution is to avoid trapezoids and use square angled quads plus a few more triangles instead. But as I said, this is only required on renderers that doesn't feature perspective correction.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
User avatar
mankrip
 
Posts: 915
Joined: Fri Jul 04, 2008 3:02 am

Re: What are you working on?

Postby Seven » Sun Jul 22, 2012 9:15 pm

Hello,

A guy at quakeone.com had this idea: To add lava eruptions into Quake´s lava pools.
This is my attempt to do it for DP:

http://www.youtube.com/watch?v=DO8RD3Vl ... ature=plcp

It is done via SSQC only and needs a slight .ent file modification for the maps.
It adds random lava eruptions and custom sound.
Time gap between lava eruptions can be set via .ent file as well.

For simple square shaped lava pools, only one .ent file block is necessary.
For more complicated shaped lava pools, more .ent blocks are needed to reach every corner of the lava pool.

QC edit:
Code: Select all
////////////////////////////////////////////////
//    Lava eruptions
////////////////////////////////////////////////

.float Xsmall;      // for lava pool corner with smallest X-coordinate (negative values are smaller than positive)
.float Ysmall;      // for lava pool corner with smallest Y-coordinate (negative values are smaller than positive)
.float Xbig;      // for lava pool corner with biggest X-coordinate (negative values are smaller than positive)
.float Ybig;      // for lava pool corner with biggest Y-coordinate (negative values are smaller than positive)
.float Zheight;      // for z-coordinate of lava pool


void() spawn_lava_eruption =
{
local float dX, dY, Xparticle, Yparticle, Zparticle;
local vector eruption;

   dX = self.Xbig - self.Xsmall;
   dY = self.Ybig - self.Ysmall;
   Xparticle = self.Xsmall + (random()*dX);
   Yparticle = self.Ysmall + (random()*dY);
   Zparticle = self.Zheight;

   eruption_x = Xparticle;
   eruption_y = Yparticle;
   eruption_z = Zparticle;

   pointparticles(particleeffectnum("lava_eruption"), eruption, '0 0 0', 1);
   pointsound (eruption, "ambience/lavasplash_shotgun.wav", 1, ATTN_NORM);
//   pointsound (vector origin, string sample, float volume, float attenuation);
};


void() lava_think =
{
   self.nextthink = time + self.count + random()*1;  // change "1" to any value for additional/fixed random time gap between eruptions
   spawn_lava_eruption ();
};


void() func_lava =        // Yes, I know this function can be skipped !
{
   self.think = lava_think;
   self.nextthink = time + 0.01;
};


.ent file example for E1M7:
Code: Select all
{
"classname" "info_notnull"
"Xsmall" "80"
"Ysmall" "-180"
"Xbig" "750"
"Ybig" "310"
"Zheight" "-25"
"nextthink" "0.1"
"think" "lava_think"
"count" "0.5"        // is the time gap between eruptions in seconds
}


effectinfo.txt entry:
(I use a modified Nexuiz particlefont with added stone/rock textures for tex 44, 45 and 46):
Code: Select all
effect lava_eruption   // used for lava eruptions  (Stones/rocks)
count 3.5       
type alphastatic
color 0x000000 0x000000   //color 0xff3300 0xff3300
size 3 7
tex 44 46
alpha 156 256 0
originoffset 0 0 5
originjitter 5 5 5
velocityoffset 0 0 220
velocityjitter 40 40 50
gravity 0.55
bounce -1

effect lava_eruption   // used for lava eruptions  (splash)
countabsolute 100
type static
tex 16 23
color 0xfa1000 0xfa1000
size 6 7
alpha 200 250 30
gravity 0.44
sizeincrease 5
originoffset 0 0 2
originjitter 2 2 0
velocityoffset 15 15 200
velocityjitter 15 15 100

effect lava_eruption   // used for lava eruptions  (splash)
countabsolute 100
type static
tex 16 23
color 0xfa1000 0xfa1000
size 6 7
alpha 200 250 30
gravity 0.44
sizeincrease 5
originoffset 0 0 2
originjitter 2 2 0
velocityoffset -15 -15 200
velocityjitter 15 15 100

effect lava_eruption   // used for lava eruptions  (splash)
countabsolute 100
type static
tex 16 23
color 0xfa1000 0xfa1000
size 6 7
alpha 200 250 30
gravity 0.44
sizeincrease 5
originoffset 0 0 2
originjitter 2 2 0
velocityoffset -15 15 200
velocityjitter 15 15 100

effect lava_eruption   // used for lava eruptions  (splash)
countabsolute 100
type static
tex 16 23
color 0xfa1000 0xfa1000
size 6 7
alpha 200 250 30
gravity 0.44
sizeincrease 5
originoffset 0 0 2
originjitter 2 2 0
velocityoffset 15 -15 200
velocityjitter 15 15 100
Seven
 
Posts: 301
Joined: Sat Oct 06, 2007 8:49 pm
Location: Germany

Re: What are you working on?

Postby leileilol » Mon Jul 23, 2012 12:22 am

this

Only ONE more female player character to go, then it's the 11 males and that robot!
i should not be here
leileilol
 
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am

Re: What are you working on?

Postby Spike » Mon Jul 23, 2012 1:08 am

seven, I think it would look even better if you were to somehow prolong the erruption, as those are more explosions than 'splurges' of molten rock. lava generally has a fairly hard surface that takes time to seal up again before the pressure drops.
all I can really suggest is triggering a few (smaller) explosions multiple times over the course of a second or so, so long as the later bursts are weaker.
Spike
 
Posts: 2892
Joined: Fri Nov 05, 2004 3:12 am
Location: UK

Re: What are you working on?

Postby scar3crow » Mon Jul 23, 2012 2:37 am

seven - Nice looking, though it could use a little more random horizontal variation, as after extended viewing it comes off as lava spark tubes rather than small eruptions. Shared it on the Facebook Quake page.
...and all around me was the chaos of battle and the reek of running blood.... and for the first time in my life I knew true happiness.
User avatar
scar3crow
InsideQC Staff
 
Posts: 1054
Joined: Tue Jan 18, 2005 8:54 pm
Location: Alabama

Re: What are you working on?

Postby Seven » Mon Jul 23, 2012 7:18 am

Yes, you are both right.
The particle effects have not yet finaly tuned.
I did this yesterday and was just too excited, that I wanted to show it :)

My ideas to extend it:
To what scar3crow suggested: Make 3 different effects (low/broad, medium, high/slim) and add a random call which one to spawn each time.
That should give a little variation to the visual.
To what Spike suggested: Yes, I would have to call different effectnums that use different gravity and velocity params.
I have to spend much more time on the finetuning I guess...

Another idea was to add damage to these eruptions.
I thought about how it could be done, because a particle cannot do that.
So I came to the idea to spawn an entity without model. Only give it a bbox size of the eruption.
So it is invisible but can be 'touched'.
The touch function of that entity gives the "other." approx. 10 damage. It removes itself after beeing touched, to prevent damage overflows.
After 1 second (that is the approx. time of the eruption) the entity will remove itself anyhow.

Thank you for your suggestions.
I will try to implement them.
Seven
 
Posts: 301
Joined: Sat Oct 06, 2007 8:49 pm
Location: Germany

Re: What are you working on?

Postby leileilol » Fri Aug 10, 2012 8:59 pm

You should at least recognize this one from MVC2 and Cannon Spike
Image
i should not be here
leileilol
 
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am

Re: What are you working on?

Postby Seven » Fri Aug 10, 2012 9:10 pm

leileilol,
This model is too cute to kill.
How can you put her into a fps game ? :)
Seven
 
Posts: 301
Joined: Sat Oct 06, 2007 8:49 pm
Location: Germany

Re: What are you working on?

Postby taniwha » Sat Aug 11, 2012 11:38 pm

leileilol: next, you need a wolf :)
Leave others their otherness.
http://quakeforge.net/
taniwha
 
Posts: 399
Joined: Thu Jan 14, 2010 7:11 am

PreviousNext

Return to General Discussion

Who is online

Users browsing this forum: No registered users and 1 guest