Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

3 Dimensional Chat / Choppy 3d Character Problem

Author
Message
fsutton
22
Years of Service
User Offline
Joined: 25th May 2004
Location:
Posted: 18th Dec 2004 08:57
Hi all,

I've run into a snag with some sample code. I recently purchased Darkmatter 2 to experiment with 3D models. For fun, I took a skybox example and placed a character in there. The problem I encounter is that the 3D character becomes choppy and transparent as I move the camera around. Can anyone give me insight into what I'm doing wrong?

Thanks - Frank
Clueless
22
Years of Service
User Offline
Joined: 16th Feb 2004
Location: Corbin, KY, USA
Posted: 18th Dec 2004 14:43
Hi fsutton,

I'm wondering if you know the polygon count on the soldier model? And also the color depth of the texture map files? (24 bit, 32 bit?)

Also curious what would happen if you commented out the line of code that sets the max sync rate to 60?
fsutton
22
Years of Service
User Offline
Joined: 25th May 2004
Location:
Posted: 18th Dec 2004 21:44
Well, disabling the sync rate did not make an improvement. Unfortunately, I can't find the color depth. And, I'm not sure of a way to read it from the model files.

You mentioned the poly count. I know that the models are low-poly, and I can actually see the triangles phasing in and out.
Clueless
22
Years of Service
User Offline
Joined: 16th Feb 2004
Location: Corbin, KY, USA
Posted: 19th Dec 2004 04:24
Frank,

I just read your code a little more closely. This line looks suspcicious:
Quote: "loop object 10, f(0,10), f(0,10)"

and
Quote: "
function f(frame,obj)
t_frames = total object frames(obj)
fr = int(frame * (t_frames / 650))
endfunction fr
"


I don't know the DBP internals well enough to know if the object starts playing before both expressions, f(0,10), f(0,10) are evaluated or not. Most compilers will evaluate both before the loop call is actually executed, so:

If it doesn't start looping until all f(0,10) is evaluated twice, you're just looping your model with the same frame # start and end. (0,10) will always return the same value if your object isn't already playing. Actually, with the model not playing, f(0,10) will always return zero.

If for some reason the object did start looping before the second f(0,10) call is evaluated, you're still going to be looping between two frames that are very close together.

So in this twisted imagination of mine, I see a jumpy model or a not-moving-at-all model.

How about something like this instead:
Quote: "
loop object 10, 1, total object frames(obj)
"


Also, with admission I've only been working with animation for about two months now, 6400 seems like an incredibly high speed setting. Perhaps somebody else could comment on that?




Quote: "Well, disabling the sync rate did not make an improvement"


That one was just a shot in the dark, thought I'd mention it. I've got a complicated planet/moon orbiting scene that was a bit choppy until I raised the ceiling on the sync rate.
fsutton
22
Years of Service
User Offline
Joined: 25th May 2004
Location:
Posted: 19th Dec 2004 09:02
Thanks clueless. I've tried all of your suggestions, and I'm still seeing a choppy model (i've tried the others too). I guess this is one of those learning curves as a newbie.

Much appreciated!

Frank
Clueless
22
Years of Service
User Offline
Joined: 16th Feb 2004
Location: Corbin, KY, USA
Posted: 20th Dec 2004 09:16
Hi Frank,

Sorry I wasn't able to help. The Darkmatter content is copyrighted so I can't ask you to post the model for others to try, but there are a lot of Darkmatter owners out there and I'm sure one of them could grab the sample code you posted and give it a spin.

Best of luck...

Login to post a reply

Server time is: 2026-07-14 00:52:31
Your offset time is: 2026-07-14 00:52:31