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.




  • 3D RAD v7.15

    PCar
  • New vehicle simulation object! Please see the PCar object's help file for more information.


  • 3D Rad Editor
  • 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.




  • 3D RAD v7.13

    AnimationControls
  • New object! Please see the AnimationControls object's help file for more information.




  • 3D RAD v7.12

    Particles
  • 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).
  • Updated RigidBody help file to reflect changes to the property dialog.


  • Joint
  • 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.