Welcome Guest [Log In] [Register]
We hope you enjoy your visit.


You're currently viewing the Ultimate 3D Community as a guest. This means that you can only read posts, but can not create posts or topics by yourself. To be able to post you need to register. Then you can participate in the community active and use many member-only features such as customizing your profile, sending personal messages, and voting in polls. Registration is simple, fast, and completely free.

Join our community!

If you are already a member please log in to your account to access all of our features:

Username:   Password:
Locked Topic
Ultimate 3D 2.1 beta has been released; The story of a failed April fool hoax
Topic Started: Apr 2 2008, 06:00 PM (5,053 Views)
Dr. Best
Member Avatar
Administrator
[ *  *  *  *  *  * ]
Hi everybody,

do you have to believe everything I say? Actually the topic I created yesterday was meant to cause some confusion. I did not expect that anybody would believe it ^_^ . How credible does it sound, if I create a WiP topic one day before the release, although I have never said anything, that would give you a good reason to think of such an early release date before? Even the post I created with my faked "wako" account didn't bring you away from believing it <_< . Of course you were right, the release really is today, but as you did not doubt the announcement (everybody but GameDeveloper) my unusual April fool hoax, which was meant to fool those who are attentive on first of April, has failed :D . I guess I should have written it less credible.

Ultimate 3D 2.1 beta really has been released today. And it has all the features I announced yesterday. Since the WiP topic will be unpinned now and I do not want to describe the new features again here is a copy of the description of Ultimate 3D 2.1 from the WiP topic.

Ultimate 3D 2.1 revolutionizes the possibilities for collision detection and collision response. This part was a big weakness of Ultimate 3D 2.0, since the ray-tracing could not be used for good collision detection. For this reason some basically new solutions were needed in this area. The solution implemented in Ultimate 3D 2.1 has three advantages compared to the old system:

  • You can base your collision detection on ellipsoids, which are a lot more suitable for the usual collision detection purposes than rays.
  • You can predefine groups of objects for which you want to perform collision detection, so no computing time intensive GML loops are needed anymore.
  • The collision response is done completely automatically now, so you do not need complicated code for this purpose.
The old collision detection functions have been deleted, but there still is a function for ray-mesh intersection tests (that is what the GetDistanceTo...(...) functions did) and it is even more versatile than the old functions.

Though the new collision detection and collision response mechanisms are by far not the only new feature. Here is a detailed list of all other new features:

  • The terrain renderer has been improved:
  • - You can give a resolution for the light map and the alpha map.
  • - 32-bit terrain height maps are supported.
  • - Terrain deformation is possible.
  • - All channels of alpha maps can be used now (for up to four alpha maps in one file).
  • - There is a function to determine the strength of a particular terrain texture at a given position.
  • - Terrain decals can be created automatically.
  • - A technique to reduce the occurrence of lags between terrain tiles has been implemented.
  • There are three new features for particle effects systems:
  • - Particles can rotate.
  • - Particles can have any aspect ratio, they do not have to be quadratic anymore.
  • - Additive blending can be enabled for particle effects systems. It can also be enabled for terrain, model and primitive objects, but this is a feature, which should be used very carefully.
  • There is a log file feature, which is very useful to find the cause of bugs. Every error message and some additional information is written to the log file.
  • Different rooms (as used for the portal engine) can have different ambient lighting.
  • The visibility of particular rooms can be enforced, even if the portal engine is enabled.
  • Per vertex specular lighting for model objects is supported. Information about specular lighting on materials can be loaded from all model file formats despite *.md2 and can be set up manually.
  • There is a function to find out which material of a model object has been intersected by a ray specified in CheckRayIntersection(...) (which is the replacement for GetDistanceTo...(...)).
  • Linear mip-mapping for smooth interpolation between mip-maps can be enabled now. The new version also creates mip-maps for normal maps created from height maps. This improves the quality of parallax and bump mapping significantly.
  • There are functions to get the number of drawn triangles and the number of calls to drawing functions in the previous step (useful for performance optimization).
  • Model objects can be set to be rendered in background mode. Model objects in background mode, will not be effected by fog and they will be covered by all other objects. This way you get a more versatile replacement for the built in support for sky spheres and sky cubes.
  • Wireframe rendering can be enabled for single objects now.
  • SmoothNormals(...) can take a parameter to define a smoothing angle and it can smooth inverse tangent space matrices (as used for parallax and bump mapping).
  • There are new math functions:
  • - Functions to compute a longitude and a latitude from a vector (useful to compute the input for CheckRayIntersection(...)).
  • - Functions to apply the transformation described by a matrix to the transformation variables of an object.
  • - A function to interpolate between two transformation matrices.
  • - A function to get single entries of transformation matrices (useful for passing matrices to vertex shaders).
  • - A function to compute the difference of two vectors.
  • - A function to determine whether a bounding box can be seen currently.
  • - A function to retrieve the transformation of particular occurrences of a given mesh within a model.
  • There are new functions for the manipulation of animations:
  • - To give you the possibility to loop through bone hierarchies automatically you can retrieve the number of bones within a model and the index of the parent of each bone.
  • - There is a function to interpolate between two poses of an animation, to avoid that there are sudden jumps from one animation frame to another.
  • - It is possible to copy animations from one model to another.
(For some reason lists in lists work only in preview mode, not if you post the topic. A "-" at the beginning of a point means that this point is a sub-point.)

Whenever I noticed that something is missing in Ultimate 3D I noted it down. The list above is the result. Some of the features sound quite basic and useless, but actually they open important new possibilities. The background mode for model objects is a nice example. Model objects are extremely versatile. Being able to use them for backgrounds is a great new feature. You can make backgrounds fade in and out and you can use shader effects or per pixel lighting for your backgrounds. This can improve the graphics of your game significantly and it can make your outdoor environments look a lot more natural. It makes day-time changing effects possible. With the new math function to retrieve mesh transformations the mesh manipulation functions can finally be used properly for models with bones. The feature to interpolate animations makes animations of character models look a lot more fluent and natural. Linear mip-mapping increases the quality of the graphics significantly. And thanks to the improved SmoothNormals(...) creases in models, which should use per pixel lighting aren't a that big problem anymore (but they still are one since it does not work perfectly).

There are also several small bug fixes, but I have not created a detailed list of them during development. All official downloads on Ultimate3D.org are updated now. The only exception is the old demo (the one that came with Ultimate 3D 1.x). I consider it a waste of time to continue updating this. The Tech Demo utilizes some of the new features now. Other than that there are not many changes in it. There are also new versions of the Vegetation Creator, the Model Viewer and the Blender to Ultimate 3D export plugin. The Vegetation Creator has just been updated to Ultimate 3D 2.1, which is necessary since Ultimate 3D 2.1 interprets terrain height maps a bit different. The new version of the Model Viewer contains some important bug fixes and has two small new features. It allows you to get information about materials and it allows you to move the camera. The Blender plugin can export specular powers correctly (the original version could not and this feature is of some use since Ultimate 3D supports per vertex specular highlights now).

As usual you need to do some things to update your project to Ultimate 3D 2.1 beta. Details on the process can be found in the documentation.

Have fun with the new version,
with friendly regards,
Dr. Best

Known bugs:

  • If you use DeformTerrain(...) to modify a terrain, the light map will not be computed correctly anymore in this area after that (reported by gamemakerguy1560).
Offline Profile Goto Top
 
Eansis
Member Avatar
ghost
[ *  *  *  *  *  * ]
Lol Dr. Best, you ARE the best. I was completely unaware that "wako" was you! :D

Although, I have some problems with collision response, but I'm sure they can be fixed.

I have this code:
move_vector=AttemptMoveToPosition(-1,model.id,x,y,z+height/2+1.21, x,y,z+height/2+1.21, 0,0,0,7,7,7,-1)
move_vector_x=GetVector(move_vector,1)
move_vector_y=GetVector(move_vector,2)
move_vector_z=GetVector(move_vector,3)
if move_vector_x!=x and move_vector_x!=y and move_vector_z!=z+height/2+1.21
{
x+=move_vector_x
y+=move_vector_y
z+=move_vector_z
}
ReleaseVector(move_vector)

When there is a collision, nothing seems to happen.

I changed the destination vector to +1 and when a collision happens, the player goes so far away from the model that it becomes invisible.

I'll go ahead and make a topic in the U3d questions forum.
VOTE FOR BUDDY ROEMER HE'S A STRAIGHTFORWARD, DOWN TO EARTH AMERICAN GUY WHO ISN'T PART OF THE BIGBROTHER CONSPIRACY

Til'c
 
Things will not calm down Daniel Jackson. They will infact calm up.
Offline Profile Goto Top
 
Eansis
Member Avatar
ghost
[ *  *  *  *  *  * ]
Got it to work, for solution see other topic.

Very nice work Dr. Best, now I don't have to worry about completing DreamSpace! ^_^
VOTE FOR BUDDY ROEMER HE'S A STRAIGHTFORWARD, DOWN TO EARTH AMERICAN GUY WHO ISN'T PART OF THE BIGBROTHER CONSPIRACY

Til'c
 
Things will not calm down Daniel Jackson. They will infact calm up.
Offline Profile Goto Top
 
Samuraikill
Member Avatar
Elite Member
[ *  *  *  * ]
Nice release :) It feels like a odd game :)
Offline Profile Goto Top
 
Electricity
Chaos vs. Cosmos
[ *  *  *  * ]
Omg nice! :D hail der doctor!
Offline Profile Goto Top
 
Michael
Member Avatar
Violent Pornographer
[ *  *  * ]
Great release, the collisons are 100% better and I think thats what makes this release so good. Keep up the good work Doc.

BTW: The outdoor area in the Tech Demo is very dark compared to the orginal release, is the because of the changes made to the per-pixel lighting?
Yes it's xygthop3 from the GMC
Offline Profile Goto Top
 
skarik
Member Avatar
kitten eating scum
[ *  *  *  *  *  * ]
Quote:
 
Different rooms (as used for the portal engine) can have different ambient lighting.

Hallelujah!!

Quote:
 
- Terrain deformation is possible.

Great! More work!

Quote:
 
- There is a function to determine the strength of a particular terrain texture at a given position.
- Terrain decals can be created automatically.

Never mind!! Woohoo!!!!

Quote:
 
There is a log file feature, which is very useful to find the cause of bugs. Every error message and some additional information is written to the log file.

YES!!!!

Quote:
 
which material of a model object has been intersected

Okay, um, this is too good to be true... :worry:

Quote:
 
The new version also creates mip-maps for normal maps created from height maps. This improves the quality of parallax and bump mapping significantly.

Yay!

Quote:
 
It is possible to copy animations from one model to another.

Yay! More deleted code!!

Quote:
 
Model objects can be set to be rendered in background mode. Model objects in background mode, will not be effected by fog and they will be covered by all other objects. This way you get a more versatile replacement for the built in support for sky spheres and sky cubes.

Yay! Now I don't have a worthless room! Let me finish polar tetris and I'll work on my game!!

Wow, I leave for a week hoping only that a miracle could happen and BANG!!!!

Edit:
Quote:
 
Once the first model object gets set to background mode the built in system for backgrounds gets disabled completely. This will look very strange, since all objects will leave trails

YESS!!!!! H.O.M. BABY!!!! THAT'S EXACTLY WHAT I NEED!!
Blog|EHS
Offline Profile Goto Top
 
gamemakerguy1560
Member Avatar
Creator of Expedition: Prehistory
[ *  *  *  *  *  * ]
well, i think i may have a few bugs with the terrain...

and by the way, i'm getting serious about this, bug reporting is actually a fairly useful skill for game development. a serious game can have up to 25,000+ errors. thankfully U3D is not anywhere near the serious commercial game level, so i'd only expect 300 or so, most we won't ever find.
------------------------------------------

Bug -tr#0001-0001-

problem: light map calculation errors after deforming terrain. single editing of the terrain (I.E. 1 step or click worth of deforming) works as expected.

if deforming is continued in the same area, regardless of continuous or repeated deforming (I.E. not stopping deforming or repeatedly clicking in the same area), the light map calculation stops working correctly.

Subtractive deforming has less visible error than additive deforming, though it still exists.

possible causes:

  • deformation not correctly affecting data used by the light map.
  • light map calculation simply stops working.

examples:
Posted Image
Posted Image
-------------------------------------------------------

Bug -?#0001-0002-

problem:
decals do not adapt to the terrain it it has been deformed.


possible causes:
may just be an engine limitation instead of a bug

examples:
Posted Image
-------------------------------------------------------




bug naming format i used:
Bug -<abbreviation of what part of the engine the bug involves>#<number of the bug in respect to the list of bug belonging to this group>-<number of the bug on the main list>-

examples:
Bug -m#0000-0000- this would be a math error

Bug -X#0000-0000- this would be a class A or otherwise know as a show-stopping bug. this is the worst kind, as it crashes the engine usually without warning.

Bug -?#0000-0000- this would be an error that its cause can't be determined

and so on...

so there you go, there are my errors.



Posted Image
My Forums
Offline Profile Goto Top
 
Dr. Best
Member Avatar
Administrator
[ *  *  *  *  *  * ]
Michael
 
BTW: The outdoor area in the Tech Demo is very dark compared to the orginal release, is the because of the changes made to the per-pixel lighting?

In principle there are no changes to per-pixel lighting. Maybe I just changed the intensity of the light sources or the ambient lighting in the Tech Demo, but if I did so I can't remember it. I have got a TFT with a very good gamma now and to me the area seems to be rather too bright than too dark.

@ skarik
It was obvious that you would like the new features :lol: .

@ gamemakerguy1560
Thanks for the detailed bug reports.
Regarding bug -tr#0001-0001-:
Your idea what may cause it is basically right. Every terrain object creates a height and normal map from its height map (as LoadHeightMap(...) does). When the terrain is modified the height map in the alpha channel is modified and then the normal map gets recomputed from the modified height map. There must be some mistake in this mechanism. I have added this to the known bugs list and will fix it for the next release.
Regarding bug -?#0001-0002-:
This is the intended behavior, I just forgot to document it. After their creation terrain decals are absolutely independent from the terrain they belong to. They can be modified independent from the terrain and they will continue existing, if the terrain has been destroyed. If you want to update them, to reach that changes, made to the terrain, effect them, you simply have to destroy and recreate them like this:
Code:
 
Destroy();
CreateTerrainDecal();

If you have modified them after their creation you have to do this again. I have not added this to the known bugs list, but I have added it to my personal list of things I need to correct in the documentation.
Offline Profile Goto Top
 
gamemakerguy1560
Member Avatar
Creator of Expedition: Prehistory
[ *  *  *  *  *  * ]
one more thing, it isn't a bug, just a little request.

it's awesome that now we can deform the terrain in realtime, but i haven't seen any function for saving the edited height map... being able to save the new terrain would be really useful...
Posted Image
My Forums
Offline Profile Goto Top
 
Eansis
Member Avatar
ghost
[ *  *  *  *  *  * ]
The ambient lighting has definitely gotten darker since U3d 2.0, I have compared the same models with them. Maybe because of the new function SetMaterialSpecular()?
VOTE FOR BUDDY ROEMER HE'S A STRAIGHTFORWARD, DOWN TO EARTH AMERICAN GUY WHO ISN'T PART OF THE BIGBROTHER CONSPIRACY

Til'c
 
Things will not calm down Daniel Jackson. They will infact calm up.
Offline Profile Goto Top
 
Electricity
Chaos vs. Cosmos
[ *  *  *  * ]
I tried the 2.1 Tech Demo and WoW it loaded almost 40% faster than 2.0 Tech Demo :o
Offline Profile Goto Top
 
Despellanion
Member Avatar
Forum God
[ *  *  *  *  *  * ]
One question: how do I enable the loging function? I've tried
Code:
 
global.u3d_log_file='u3d_log.txt';
but that doesn't seem to do much. In the manual it says that passing a string like e.g "u3d_log.txt" would create a new log-file which it writes to.
Offline Profile Goto Top
 
zz man
Member
[ *  * ]
nice ^_^
Offline Profile Goto Top
 
Dr. Best
Member Avatar
Administrator
[ *  *  *  *  *  * ]
gamemakerguy1560
Apr 3 2008, 12:30 PM
it's awesome that now we can deform the terrain in realtime, but i haven't seen any function for saving the edited height map... being able to save the new terrain would be really useful...

Well, yeah, I could certainly add that, if you can live with the fact that it would export to *.bmp files only ^_^ .
BTW: This is a good example for how one new feature, leads to other new feature requests. I hate that effect :D .

Eanbro
Apr 3 2008, 12:53 PM
The ambient lighting has definitely gotten darker since U3d 2.0, I have compared the same models with them. Maybe because of the new function SetMaterialSpecular()?

I have compared the brightness in the collision example (U3D 2.0 version compared to U3D 2.1 version) and could not notice any difference. Are you talking about the brightness of ambient lighting in general or just about the brightness of the ambient lighting in the Tech Demo? It certainly is not related to SetModelMaterialSpecular(...). Unless you specify values, which do not equal zero for the spec_r/g/b variables of a light source specular lighting does not have any effect at all.

Despellanion
Apr 3 2008, 05:35 PM
One question: how do I enable the loging function? I've tried
Code:
 
global.u3d_log_file='u3d_log.txt';
but that doesn't seem to do much. In the manual it says that passing a string like e.g "u3d_log.txt" would create a new log-file which it writes to.

You are using this piece of code in the Ultimate3DOptions() script, right? Because that is where it should be used. If it already is placed there and it is still not working, please tell me which download this project is based on (the SDK, the GEX, the Collision Example?). It may be that there is something wrong in one of the downloads. I still have to update the Game Maker files manually and during this process mistakes can occur.
Offline Profile Goto Top
 
Go to Next Page
« Previous Topic · Announcements · Next Topic »
Locked Topic