PDA

Click to See Complete Forum and Search --> : 3D Special Effects


Fox
Sep 21st, 2000, 12:08 AM
I don't know Genesis, but I looked at the features page and what you're looking for is dynamic fog (aka. volumetric light). I think there are some docs or demos on gamedev.net, sorry but gtg now... maybe I'll come back l8er ;)

Sep 21st, 2000, 03:26 PM
Stuff like, smoke, clouds, fire and stuff can be done by billboarding them. They can all be sprites and then u render them in 2D, and they'll look 3D, the only problem is if I look at something from behind it, I'll still see the same image.

Duke Nukem 3D had like thousands of billboarding stuff. Remember the strippers? when u wanted to look at their asses? but couldn't cause no mater where u went, they were facing you? well that's billboarding..

Fox
Sep 22nd, 2000, 12:07 AM
And in fact that's sprites ;)

Zelda ie. uses sprites for the trees, but they don't move and they're placed cross-over so they look more 3D... easy way to save polygons *hehe*

Warmaster199
Sep 23rd, 2000, 02:44 PM
I was looking through some old posts and I saw that you(Fox) might have a 3DS MAX Model Import function. Care to share it? Also, I couldn't seem to find that thgread you talked about with the "Computed Function Lightning Tree". Earlier, you mentioned volumetric fog... What is that? How would I do that?

Fox
Sep 23rd, 2000, 07:41 PM
Ok, I didn't find the tree too... It was a little present for Batman (look at the lines in background)

Open a new project and add this:


'API
Private Declare Function GetTickCount Lib "kernel32" () As Long

'Vars
Dim Active As Boolean

Dim X2 As Long
Dim Y2 As Long

Private Sub Form_Load()
Me.BackColor = 0
Me.ScaleMode = 3
Me.Show
Me.AutoRedraw = True

Active = True
Draw
End Sub

Public Sub DrawLine(iX As Long, iY As Long, iSize As Long, iColorMul As Long, iMaxAngle As Long, iStartAngle As Long)
Dim Temp As Single

Dim NewX As Long
Dim NewY As Long

Dim Color As Long
Dim Angle As Long

Dim NewSize As Single

If iSize < 10 Then: Exit Sub

Angle = (iMaxAngle * Rnd)
Temp = (6.283 / 360 * (iStartAngle + Angle))

NewX = iX + Sin(Temp) * iSize
NewY = iY + Cos(Temp) * iSize

Color = (iSize * iColorMul)
If Color > 255 Then: Color = 255

Me.Line (iX, iY)-(NewX, NewY), RGB(Color / 2, Color / 128, Color)

NewSize = (8 * Rnd) / 10 + 1
DrawLine NewX, NewY, (iSize / NewSize), iColorMul, iMaxAngle / 1.8, iStartAngle + (Angle / 2)
DrawLine NewX, NewY, (iSize / NewSize), iColorMul, iMaxAngle / 1.8, iStartAngle + (Angle / 2)
End Sub

Public Sub Draw()
Dim A As Long
Dim Temp As Long

Dim Text As String
Dim Angle As Single
Dim Pos As Single

Text = UCase("Batman's return ")
Angle = 6.28 / Len(Text)

Randomize
While Active
If Temp + 100 < GetTickCount Then
Temp = GetTickCount

Me.Cls
For A = 0 To 10
DrawLine X2, Y2, 20 * Rnd + 15, 4 * Rnd + 4, 360, 360 * Rnd
Next

For A = 1 To Len(Text)
Me.ForeColor = RGB(128 * Sin(-A * Angle + Pos) + 128, 0, 255 * Sin(-A * Angle + Pos) + 255)

Me.CurrentX = X2 + Sin(Angle * -A + Pos) * 100
Me.CurrentY = Y2 + Cos(Angle * -A + Pos) * 100

Me.Print Mid(Text, A, 1)
Next

Pos = Pos + 0.1
End If

DoEvents
Wend
End Sub

Private Sub Form_Resize()
X2 = Me.ScaleWidth / 2
Y2 = Me.ScaleHeight / 2
End Sub

Private Sub Form_Unload(Cancel As Integer)
Active = False
End Sub



Well, I have a 3DS importer, but it's in C++ and it's
implemeted in my engine, so you'd need the same class
structure and stuff...
If you know 3DSMAX you've prolly seen Fog which isn't
everywhere (as in Turok or something). It's limited to
some rooms or something, often used in unreal tough. In
Unreal you have a light which has a radius where it becomes
lighter, AFAIK they made their own functions to generate
such fog. Search http://www.gamedev.net, I'm
sure they have tutorials about vol. fog...

Warmaster199
Sep 23rd, 2000, 07:53 PM
THAT'S AWESOME!!! WHAT AN AWESOME EFFECT!!! Holy Cow!!! I have never seen anything even close to that using just pure VB code... For something that cool, I would have expected DirectX! Thankyou so much...

By the way, is there any way for the lightning to only fire downwards? If I were to use it, it would fire downwards and have single strikes. Also, it should also be using DirectX so it's ultra fast rendering... Is it possible for you to convert your version above into a DirectX version that fires downwards with a given X, Y, Z, vector point? I hope I'n not asking too much.

I found a good example of lightning in a commercial game called Tiberian sun. Those strikes are from Ion Storms and they look very cool.

[Edited by Warmaster199 on 09-23-2000 at 10:56 PM]

Warmaster199
Sep 24th, 2000, 11:10 AM
Cool. That sure works... Well, I guess lightning's almost out of the way. You don't now which engine I'm using? Well, I'm making it. I3D: http://www.geocities.com/warmaster2000us You can download it and try it out if you like. It also includes source code. It already has billboarding(a bit), but I was hoping to make better billboarding. That was a good start for a lightning effect. From there, I'll try making lightning that "Targets" certain things like telephone poles and tall objects. (BTW, Tiberian Sun is C&C2, The new Redalert, Redalert2 is C&C3). Thanks for the cool lightning effects. Any more???

Fox
Sep 24th, 2000, 03:45 PM
Command & Conquer
Command & Conquer 2: Red Alert
Command & Conquer 3: Tiberian Sun
Command & Conquer 4: Red Alert 2

Warmaster199
Sep 25th, 2000, 06:32 PM
Red Alert is the Prequil to Command and Conquer and that means that it isn't where the actual command and conquer war starts. Although it is in the command and conquer line of games, it isn't a command and conquer war(It's new WW2). Go to westwood's site... You'll see who's right about Tiberian sun being C&C2.

Anyway's, how would someone go about making fire and explosion effects in a 3D game? I've always wondered how they do that. Is it billboarding(with animation), too?

Also, Earth 2150 has an awesome shockwave effect. Anyone who has played the game as LC(Lunar Corporation) using the Soundwave Cannon knows what I'm taking about. I have a sceenshot of what I'm talking about. I won't put it on my site, so if you want it... Email me.
Warmaster199@Hotmail.com
It's an awesome effect, How'd they do that? :)