Development for the following features has been funded thanks to generous
support from donors.
3D Rad v7 Installation Notes
If you have 3D Rad version 6.x installed on your system and you want to continue using it along with
the new version 7, please make sure you specify a different installation folder for version 7,
when installing this update.
If you also want to port all your own projects to the new v7 installation, manually copy the
entire 3DRad_res folder from your v6.x installation to the v7 installation folder, by overwriting
all files with the same name there.
After the copy, please install the latest v7 again to the same folder, to ensure that
all 3D Rad system files you may have overwritten by copying data from the previous version,
are updated to the latest release.
Finally note that you may have to manually create a desktop icon for either the v6 or
the v7 installations.
Note that neither 3D Rad nor 3D Rad compiled projects require the PhysX system software installed.
However, in order to run PhysX in hardware, they may still require that your video card driver is
the latest or the one recommended by NVidia. For more information, please see the
NVidia website.
3D RAD v7.22
GUIWindow
New object! The GUIWindow object allows you to easily add to your projects run-time GUI windows, without any scripting.
Please see the GUIWindow object's help file for more information.
TextPrint/ValuePrint
Dramatically improved load time for all TextPrint/ValuePrint objects that use the same font set.
Earlier 3D Rad versions used to take several seconds (minutes sometimes) to load your projects if they used multiple
instances of the TextPrint or ValuePrint object, even if they all used the same font set.
EventOnLocation
Added ability to use any 3d model as detection zone for the EventOnLocation object.
In previous versions the only supported volume shape was a box.
Sprite
Added support for imposters, allowing optimized (fast!) rendering of multiple instances
of the same sprite. For an example of usage, please see the SpriteImposters.3dr demo project.
Character
Multiplayer games support! Added ability, for a Character object running on the server, to have its controls operated
by a remote user on a client PC, in a multiplayer game.
PCar
Multiplayer games support! Added ability, for a PCar object running on the server, to have its controls operated
by a remote user on a client PC, in a multiplayer game.
EventOnContact
Added ability to use the EventOnContact object to also detect collisions involving RigidBody imposters.
The action (or actions) specified on the EventOnContact property dialog will be triggered when the master
RigidBody or one of its imposters is involved in a collision.
The index of the individual imposter involved in the collision will be reported as an EnventOnContact
object's internal parameter, allowing you to perform actions based on specific imposter collisions, via scripting or EventOnValue object.
For an example of usage, please see the EOCImposterDemo.3dr project.
RigidBody
Added ability to optionally hide all SkinMeshes linked to the RigidBody, when the RigidBody object is hidden
and show them when the RigidBody is shown. Please see RigidBody help file for details.
CamChase
Added a new 'LOOK-AT' setting for the items listed in the relationship window.
If an object is marked as 'LOOK-AT', the camera will look at it, while still following any object marked as 'CHASE', as usual.
Script
iObjectRefresh() function now supports SoundSource and SoundEffect objects.
3D RAD v7.21
CamChase
Powerful new feature! Added ability to render into a SkinMesh's textures!
This can be used for example to implement virtual monitors (like the screen of a CCTV in a 3d
scene). For an example of usage, please see the CameraTextureDemo project (in 3D Rad press
Ctrl+O to access available demo projects).
ExitFade
Added support for fade-in effect. For an example of usage, please see the FadeInDemo project.
Script
Fixed iObjectVelocitySet() functions not working with Car and PCar objects.
3D RAD v7.20
PCar
Added ability to set the body's restitution factor for the PCar object, run-time, by using the iObjectParamSet() script
function.
The ability to set the total mass and the center of mass offset (X, Y, Z) for the PCar object, run-time, by using the iObjectParamSet() script function.
This powerful feature will allow you to create vehicles that can change their mass-based physics behavior run-time, like a motorbike,
a sidecar or a sailing cart, where the driver moves left and right to change vehicle balance.
It can also be used, for example, to change vehicle settings in the 'garage' section of a vehicle based game, something that is
currently very difficult to achieve unless all cars in the game have identical mass properties.
ValuePrint
Fixed per-camera rendering functionality (when linked to a CamChase object, the ValuePrint object failed to only render into the
linked camera viewport, as expected).
3D RAD v7.19
PCar
Added ability to set the body's friction factor for the PCar object, run-time, by using the iObjectParamSet() script function.
This feature can be used, for example, to make a car roll after a crash, instead of slide.
Script
Added iObjectChildTransform(OBJ_X,OBJ_Y,Vector3,Vector3)
allowing you to set angular/linear offsets for a specified object (the child) using the local space of
another object (the parent) as a reference.
Fixed SkinMesh object being rendered with a delay, when their position was set by
using iObjectOrientationSet/iObjectLocationSet function.This problem caused for example SkinMesh objects
attached to moving objects like the camera or cars to follow the parent object with a delay.
3D RAD v7.17
Script
Added iObjectDampingApply() function, allowing you to apply damping factors individually to each axis of a rigid-body-based object,
like RigidBody, Car, PCar etc.
Please see the editor functions reference for details.
Added iObjectImposterVelocitySet() function, allowing you to set an object's imposter velocity, in meters per second.
Please see the editor functions reference for details.
Fixed iObjectScaleSet() function not working with frame-by-frame animated SkinMesh objects.
RigidBody
Fixed imposters appearing displaced slightly when the master was rotated.
Fixed imposters ignoring damping and max speed/spin setting of the master.
SkinMesh
Fixed SkinMesh objects being slightly delayed run-time when attached to Car or PCar wheels.
Fixed SkinMesh objects having to be placed slightly off-center in order to get attached properly to PCar wheels.
3D Rad Editor
Fixed linking of multiple objects that have the same #code not working for items hidden using H + D + RMB.
Changed editor windows' beckground color to black, to prevent display from flashing during loading operations.
3D RAD v7.16
RigidBody
Added the ability to create/set/destroy RigidBody object clones (imposters) run-time by using iObjectImposter*() script functions!
Please see sample projects named RigidBodyImposters.3dr and ImposterObjectRBDemo.3dr for examples of usage.
For additional information please see the Imposters section in the RigidBody object's help file.
Script
Added iObjectImposterTorqueApply(), iObjectImposterAngularAccelerationApply(), iObjectImposterForceApply(),
iObjectImposterAccelerationApply() functions, allowing you to apply forces and torques to individual RigidBody object imposters.
Please see the editor functions reference for details.
Added iObjectImposterGet() function, allowing you to to copy the position of a RigidBody imposter to the position of a SkinMesh object imposter.
Improved iShader...() functions to support post-process shaders, with also the ability to send any number of parameters to custom
shaders (applies to both post-process and regular shaders).
Also added iShaderStack() function allowing you to create advanced post-process effects by 'stacking' multiple shader modules.
See CamChase item below for more information.
CamChase
Added the ability to write custom post-process shaders.
Please see Post-process Shaders section of the shaders tutorial for more information.
Examples of usage are in the demo projects named PostProcessShader.3dr and PostProcessStacked.3dr.
Added the ability to specify codes in the name of objects in the Object List, so that, when you link an object
with a certain code to another object, all objects that have the same code in the name get automatically linked to
that object as well. Please see the editor functions reference for details.
Wheel
Added a new parameter allowing you to set the wheel torque run-time by using for example a script.
Script
Added Sprite object support to the iObjectScale() function.
Added iMidiInOpen(), iMidiInMessage(), iMidiInClose() functions, allowing you to read notes and other messages from an attached MIDI device
and perform actions in your 3d projects based on that.
Car
Fixed car moving in the editor when force/torques were applied run-time to the Car, in a script.
3D RAD v7.14
Particles
Fixed animation stopping for already emitted particles when the Particle object was stopped.
Sprite
Fixed animation frame internal parameter not being readable from a script.
RigidBody
Fixed spin internal parameter returning a wrong value.
Added frame-by-frame animation support. For an example please see the ParticleAnimation.3dr demo project.
RigidBody
Added new internal parameter (IN_ and OUT_) allowing you to read/set the RigidBody path-following speed, run-time.
Fixed iObjectRefresh() script function not working when called on a static RigidBody.
SoundEffect
Fixed sound play not resetting when the object was restarted while the sound was playing.
SoundSource
Fixed sound play not resetting when the object was restarted while the sound was playing.
Wheel
Added 4 new internal parameters allowing you to control lateral/rolling friction and suspension parameters
run-time by using a script. This can be used, for example, to prevent a car stopping on a sloped surface,
from drifting down laterally. This technique is demonstrated in the WheeledVehicleScripted.3dr demo project.
Re-tweaked WheeledVehicle.3dr project which was no longer working properly under 3D Rad version 7.
Fixed reverse speed parameter not working (the forward parameter was used instead).
Fixed torque intensity parameter not being readable by scripts and other objects.
Fixed wheel visual being wrongly oriented when the parent was rotated.
Fixed SkinMeshes attached to the wheel to appear a bit off the wheel center after restarting the simulation in the editor.
Fixed iObjectOrientation() script function not working properly with the Wheel object.
Car
Fixed steering wheel visuals being wrongly oriented when the car was rotated.
3D RAD v7.11
Script
Added four new functions (iObjectTorqueApply, iObjectAngularAccelerationApply, iObjectForceApply, iObjectAccelerationApply)
allowing you to apply forces and torques to rigid-based objects without using the Force object.
Fixed iObjectSpin() returning rotation in 2*Pi-per-second instead of degrees-per-second.
Fixed iFileEOF() function.
Terrain
Fixed crash when the 'Collision detection' option was un-checked.
Joint
Fixed ball mode motors failing when applied about Y and Z axes.
Car
Fixed trajectory stabilizer still affecting car physics after a certain speed was reached.
HighwayConstructionKit
Fixed collision detection problems for the hw090225 road piece.
Wheel
Fixed spin internal parameter returning rotation about local Z axis, instead of local X axis.
RigidBody
Fixed spin internal parameter returning rotation in 2*Pi-per-second instead of degrees-per-second.
EventOnInput
Fixed network player number parameter being changed by 3D Rad when the property dialog was closed with the OK button.
Fixed mouse detection area marker being rendered, in the editor, behind 'render-over-text' sprites.
3D RAD v7.10
First non-beta release of 3D Rad v7!
The first official release of 3D Rad v7 comes with a bonus feature allowing you to dynamically move
static RigidBody objects run-time, by using iObject...Set() script functions, to achieve paddles and
similar objects that affect the environment but aren't affected by it.
The lack of this feature was a huge problem in previous versions, when creating certain type of games.
For an example of usage of this new feature, please see the PaddleDemo project (run 3D Rad, press Ctrl+O).
Note that neither 3D Rad nor 3D Rad compiled projects require the PhysX system software installed.
However, in order to run PhysX in hardware, they may still require that your video card driver is
the latest or the one recommended by NVidia. For more information, please see the
NVidia website.
IMPORTANT!
Please see top of this page for important installation notes.
Documentation
Updated modeling tutorial with comments about modeling box-groups and other changes.
Updated Script API reference to reflect changes to the iObject...Set() functions.
Addons
Added E300_xi version for 3D Rad v7.
3D Rad Editor
Updated Object->Install... menu and custom RigidBody icon to reflect the fact that now dynamic bodies can be
made of box and sphere groups.
Updated some demo projects originally designed for v6 to better run under v7, and removed MixedCollisionDetection.3dr
demo as now dynamic box collision is supported natively.
RigidBody
Static RigidBodies can now be dynamically moved run-time by using script functions, and
can affect other rigid-bodies in the environment without being affected by them.
Fixed negative mass not making a box/sphere-based RigidBody static.
Changed default friction to a value more proper within the PhysX environment.
Replaced sphere-group-based Block10m shape with a box-based shape.
Removed default .ply/pol files from 3D Rad installation file (now we only use .coo files).
Removed surface drive/stickiness and collision map resolution parameters from property dialog (no longer applicable under PhysX).
Fixed bug preventing stop strength from being set to zero (infinite strength).
Made property dialog input boxes and parameters meaning consistent with the PhysX environment.
Updated Joint help file to reflect changes to the property dialog and parameters meaning.
Car
Improved lateral grip, to prevent the car from sliding when still or moving slowly on slopes.
Removed trajectory stabilizer parameter from property dialog (no longer applicable under PhysX).
Updated Car help file to reflect changes to the property dialog and bank stabilizer parameter meaning.
Removed CarArcade demo project from installation file as it was using a technique no longer necessary to achieve arcadish car games.
Fixed 3Impact Game Engine bug causing Car friction parameters to fail when dynamically modified via scripting.
Path
Fixed recording mode working when the Path object was disabled.
3D Rad Compiler
Fixed wrong timestamp used to generate the name of compiled project folders.
S3D RAD v6.50
EventOnLocation
The EventOnLocation object's detection zone can now be 'cloned', run-time.
This means that you can create/destroy unlimited detection zones run-time, with one single EvenOnLocation object in the project.
Please see the EventOnLocation object's help file for details.
SkinMesh
Fixed issue causing user textures (userTextureA.dds etc) to be wrongly shared between different SkinMesh objects,
when creating additional entries for the default shader list.
3D Rad Compiler
When compiling with version 7 of 3D Rad, the compiled project no longer requires PhysX system
software to be installed on final user's PC.
Script
Fixed iSimulationFrqSet() not working properly in 3D Rad v7.
3D Rad v7.03b
Besides the latest version 6, this update also includes version 7.03 (beta) of 3D Rad!
This v7 update introduces PhysX support for the Joint object and the Spring object.
Because implementation of joints under PhysX is so different than implementation of joints under ODE,
certain parameters of the Joint object are no longer used, or have a slightly different meaning,
depending on the joint type you select.
You can find 3D Rad v7 in the Start menu. Running 3D Rad by clicking the desktop icon instead will start
the version you last launched from the Start menu. Note that version 7 will display "(hw)" in the
window title when the video card is performing hardware physics simulation, "(sw)" otherwise.
Note that now v7 no longer requires the PhysX system software installed on your system because it comes
with all the PhysX .dll files inside its own executable folder.
However, it may still require that your video card driver is the latest or the recommended one to run
PhysX in hardware. For more information, please see the
NVidia website.