
klasher1000
Joined: Nov 1, 2012
|
Posted: Jul 17, 2013 07:13 PM
Msg. 1 of 9
That's some nice tutorial/helpful hint you got going on there never knew this 0_0
|
|
|

Alexis
Joined: Nov 22, 2010
|
Posted: Jul 17, 2013 08:59 PM
Msg. 2 of 9
Ah, I thought I was the only one to really try this technique!
Back in the Pre-OS days, I used this a ton on scopes, screens, and visors. It comes in handy when a light value is 0 causing the standard .shader_model cubemap to fade out completely.
|
|
|

stunt_man
Joined: Sep 22, 2009
GMYF - Now hosting proper MLG gametypes!
|
Posted: Jul 19, 2013 01:22 PM
Msg. 3 of 9
You demonstrate a thorough understanding of halo's shader systems, which I lack... Can you point me to any articles/tutorials that could help me understand the intricacies of special shader types like 'chicago' and 'chicago_extended'? I tried to figure it out on my own but I got lost trying to mess with layers/color function/alpha function... EDIT: Damn shame about that in-depth shader tutorial you don't have time to work on anymore... :( http://forum.halomaps.org/index.cfm%3Fpage=topic&topicID=37109&start=1If we had a decent wiki that explained all the settings (as much as possible, anyway) we would be able to do so much! The way it seems now, there are a handful of people who have a very good understanding of how the special shaders work in CE - I'm wondering, Waffles, did you learn all that just from looking at campaign assets and tinkering/reverse-engineering? Or did you already have a decent knowledge of shader systems before you got into CE? inb4 someone points me to this: http://halopcediting.wikia.com/wiki/Material_System_(Engineering) - it's incomplete and not very in-depth... Edited by stunt_man on Jul 19, 2013 at 01:49 PM
|
|
|

Alexis
Joined: Nov 22, 2010
|
Posted: Jul 20, 2013 05:56 PM
Msg. 4 of 9
Quote: --- Original message by: waffles As far as i know, there isn't any more modern/recent information on CE's shader system (excluding the little snippets of things from cmt and me piping in every once in a while). There may be some old stuff buried in the gearbox forums.
As for the tutorial i started long ago, I just didn't have a clear idea on how to structure a tutorial based around the ENTIRE shader system, it kinda overwhelmed me in the end. A wiki is actually a good idea; one i never thought about. It would be a good project to compile accurate up-to-date information on pretty much everything relating to ce's tools. And I for one would be fine contributing to the shader entries, after the long hiatus of time I spent learning more about the blam engines.
I learned from multiple sources; stock shaders (campaign/multiplayer shaders), experimentation, math, terminology. Halo's shaders are still just math at its core, from blend modes to tinting and reflection. It also helped having experience with different engines and even 3ds max.
It just seems that the many resources we may have, are out of date or just scattered far and in between, if we could localize all tutorials/information in one place and update frequently it would eliminate the amount of searching in between. The halomaps database IS large, but not everybody can relate to the information. Theres also the fact of many similarly named files that contain varying information...
If theres anything in particular that you don't understand, I can try and clear it up for ya the best I can for the moment. Not to steal the offer.... but... Is there any chance you could go over your Covenant Energy Shield shaders? I know people seemed to sort of pass that stuff by, which sucks. It would be cool to see how you replicated the Xbox effect in both art and function.
|
|
|

Alexis
Joined: Nov 22, 2010
|
Posted: Jul 21, 2013 05:01 PM
Msg. 5 of 9
Quote: --- Original message by: waffles Well, I don't have my original ripped xbox maps anymore after the transfer to my new desktop. And xboxdb doesn't seem to have the bitmaps.map thats required to grab those bitmaps in the first place. I don't have the resources i had with my old desktop to re-rip the disk again. I could go ahead and do something similar, but with a newer game where the resources are much easier to get. Kinda wanted to bake out the h3 energy sword shader and do a frame function setup. Anything that outlines the process would be great! I am also curious... Did you hand animate the plasma frames, or is there a way to simulate it in photoshop using the source assets?
|
|
|

Alexis
Joined: Nov 22, 2010
|
Posted: Jul 21, 2013 06:40 PM
Msg. 6 of 9
Quote: --- Original message by: waffles For the xbox shaders i did, it was done in photoshop with blend modes. And (as painful as it was) I manually moved the noise bitmaps in increments scaled by how large the bitmaps were to make sure it would loop properly. Then it was just alot of copy and pasting to prep the frames into one bitmap. Most of the math/work was done in guerilla with a function that snapped to each frame over half a second to a full second (depending on how many frames i bothered to do)
15 frames @ 0.5 seconds per frame = 30fps 30 frames @ 1 second per frame = 30fps
it all depends on how much filesize your wiling to spend on a large bitmap, or how fast or slow the shader would go. If I could ever just figure out what CE uses to code its shaders, and how to use Opensauce to the advantage of adding new functions/math to the framebuffer I would be all over making/fixing the plasma systems. Ah, I see. I will have to experiment with Photoshop to try to replicate the CE plasma. Where you just setting the blend modes to multiply, or was there some LayerFX trickery going on? I ask because I can never seem to get the contiguous tendrils that you were able to get. My attempts have all seemed to look pretty similar to plugging the bitmaps into a chicago_extended.
|
|
|

Xiao
Joined: Nov 14, 2012
Keiichi-kun o mitsuketa.
|
Posted: Jul 21, 2013 11:50 PM
Msg. 7 of 9
Make a tutorial waffles!
|
|
|

Alexis
Joined: Nov 22, 2010
|
Posted: Jul 22, 2013 07:44 PM
Msg. 8 of 9
Quote: --- Original message by: waffles The blend modes were all pretty much difference in photoshop, which is an inverse function; white+white=black black+black=white
The noise maps are blended together through the difference mode in photoshop, the result of those two are inversely blended with the offset mask (difference). Basically what an offset mask is/was for halo1 was a bounding area of sorts, it limited how far the blended plasma could go.
ex: the shield generator had an offset to keep the animation in a specific area, and not all over the geometry.
layer order in photoshop
noisemap a -difference noisemap b -difference offsetmask - normal
the frame bitmap is blended in the transparent shader to get color values, first the actual mask, then a solid color, using the multiply blend modes.
The main reason I never wanted to make a full tutorial on such a thing is the downsides of doing this method in the first place.
Tagspace due to bitmap size; 1 128x3840 bitmap (30 frame bitmap) compressed can reach up to 2 or more mb's. Using no compression would fail to compile due to being near 10-15 mb or so (if it did compile, that would be way too much for any single bitmap anyway).
Functions always run until they are told to turn off by w/e stimuli you set for it. This means the animation will always play even outside the bounds of bsp.
It would be much more worthwhile if the OS team manages to restore the old transparent generic shader somehow, or adds inverse blending to an existing shader Ah, I see. Thanks for the info. To be even more of a bother, do you mind fleshing out the step function a bit?
|
|
|

Alexis
Joined: Nov 22, 2010
|
Posted: Jul 22, 2013 09:22 PM
Msg. 9 of 9
Quote: --- Original message by: waffles
First off I made a mistake on the bitmap size for 30 frames, I forgot that wasn't a power of two, if your using 30 frames, just round down/up to the nearest power of two size (4096 for 128x128).
But, you need to do a bit of math to get the value needed for the bitmap scaling. For the bitmap scaling, you just divide the amount of frames you have by the bitmap width.
ex:30/4096=0.0073
The result is your new U axis scale, its important to scale the frame bitmap because otherwise CE will attempt to fit the large bitmap to uv space, which won't get you what you want.
In the function set the step count to +1 the frame count, so for 30 frames you set step count to 31.
PS: its been a few years since i did this, so my math may not be correct, its either division by the bitmap width, or frame width. Edited by waffles on Jul 22, 2013 at 08:02 PM Wow, Thank you very much! After experimenting, I have found that you can get decent coloring in photoshop. If you were to group your offset mask, and noise textures, you can apply a blending mode of that group over your color mask. As for animating, I have found that using keyframes along with a pre-tiled double resolution noise map gives pretty quick results
|
|
|
| |
|
|
 |
|