 |
2007-04-27
Link
More joints and ObjectMeshDynamic.
What's new:
- Improved system of equations solving for joints: faster, more stable, island-based.
- Two modes of joints solving: fast (iterative) and accurate (equations solving), can be set per-joint, "Accuracy" switch.
- "Collision" option in joints for switching collision detection of bounded objects.
- New JointCylindrical object.
- New JointFixed object.
- New JointHinge object.
- New JointPrismatic object.
- New JointUniversal object.
- Joints editing via UnigineEditor.
- Prediction of RigidBody position for smooth movements.
- Performance optimizations of MathLib.
- New ObjectMeshDynamic for constructing arbitrary custom geometry in runtime.
According to our benchmarking results, ObjectMeshDynamic works at 90% of ordinary mesh's speed (if dynamic mesh isn't updated each frame).
Dynamic meshes are fully compliant with static ones (coordinates, two texture coordinates, normal, binormal), can be stored into save file with all the custom geometry and is compatible with base material library.
The only difference is that dynamic meshes can cast shadows only in shadow map mode.
This type of objects can be used for complex effects, shape visualizators and so on.
By the way, the development log is available for LiveJournal users as translated account now.
2007-04-02
Link
Joints on the way.
Recent changes:
- Finalized Sphere, Capsule and Box Shapes.
- BodyRigid object with such features as impulse accumulation, warm starting and saving old contacts.
- Physics solver optimization.
- Global settings of physics available via UnigineEditor.
- New disabling policy for physical objects: joints and shapes are disabled by their Body, which is disabled by the object.
- New JointBall object.
- New system of joints solving (equation solving instead of iterations as it was in v0.33).
- Thanks to multi-threading there is a 2x performance boost at dual-head CPUs.
JointBall in action:
To bring some more beauty into the world, we decided to show you our new water finally.
This lovely sunset scene was created in 2 days by our lead 3D artist (Pluton) for our new promotion disk:
2007-03-19
Link
Editing of physics via UnigineEditor.
Our main concern for the moment is physics module, its design seems to be polished up, however there are a lot of code to be written.
Recent changes:
- Image class in the library.
- Bilinear sampling of cubic textures in Image class.
- Bugfix of dead pointers while interconnecting several scripts.
- Changes of video mode and render settings in System::init() are applied after the end of init() function now.
- New base shapes (incompleted yet, no collisions and intersections): box, capsule, cylinder.
- Shapes visualization.
- Joints draft.
- New functions in core library of UnigineScript: length2() and dot3().
- Configuration of Body and Shapes by means of UnigineEditor.
There were no screenshots for too long time, here you are:
2007-03-13
Link
Plugins and improved serialization of physics.
Recent changes:
- Fully functional serialization of physics (with restoring pointers to all Bodies and Shapes, created from UnigineEditor and by means of UnigineScript).
- New base classes for physical objects: Body, Shape.
- Collisions of skinned meshes and morphing meshes with spheres.
- WorldSpatial bugfixes and speedup.
- Asymmetric LODs bugfix.
- "Factory" template for serializable classes.
- "Instance" template for management of enumerated objects.
- setRow3/setColumn3 functions in math library.
- Save/restore functions for Body and different Shapes.
- Shaders update for correct lighting of uniformly scaled meshes.
- New Lightmix option in materials (mixing of base lightmap with 2 additional ones, with brightness scaling).
- Shaders of foliage.
- Simple text editor inside the UnigineEditor.
- Improved mechanism of video card generation detection.
- Improvement of 3ds Max plugins: multipolygonal meshes are exported without "out of memory" error.
- Pivot align option in 3ds Max export plugins (Mesh, Morphing Mesh).
- Project files for Visual C++ 2005 EE.
New linux driver from NVIDIA doesn't make any difference in terms of bugs, all of them are still in the place.
However it seems that their software render became a little bit faster, but it wouldn't help much unfortunately.
We would like to notice one more time that if you are interested in Unigine technologies, you could meet two of us (Alexander "Frustum" Zaprjagaev, lead developer and Denis "Binstream" Shergin, project manager) at RGDC (KRI) 2007, which will take place in Moscow, Russia (6-8 April).
Contact us to make an appointment.
2007-03-04
Link
Collisions and new LOD system.
Recently Unigine v0.4 code base has exceeded 6 megabytes, 220000+ lines.
There is more code to be integrated, which is outside the main branch for the moment.
What's new:
- Refactored Players, PlayerSpectator collides with the world, has 2 speeds and acceleration.
- MathLib refactoring, new functions: signFast (2x boost) and fracFast (20x boost).
- Fast sphere-mesh collisions.
- 4x speed up of world.intersection.
- Improved ObjectBillboard, which can set its UV coordinates and able to be screen-aligned.
- Particles collision with the world.
- Build of plugins for 3ds Max 9.
- Config file of ResourceEditor is now stored in user's home directory on win32.
- Support of multiselection in TreeBox widget (by pressing SHIFT and CTRL, nodes hierarchy is now controlled with ALT pressed).
- Saving state of open/closed branches in TreeBox.
- Optimization of UnigineScript garbage collector.
- ~ operator in UnigineScript.
- UnigineAPI crash-tests: initialization of Direct3D9 via MFC, initialization of the engine in SDL (all tests have been passed successfully).
- 3rd incarnation of LOD system, the most flexible one.
- Updated reference manual (GUI layout and RC files).
New LOD system: surfaces of a mesh can be arranged into hierarchy (drag them inside the list with ALT pressed), so for the first LOD system is looking for parents through surface's hierarchy, then through the nodes hierarchy.
There are two "parent" values: for minimal and maximal distance, so objects could be united into single on far LODs without breaking the whole system.
LODs don't use hierarchy by default, parent = 1 (reference distance is calculated from the current node).
No screenshots for this time, sorry.
|
|
|
 |
|