Development for the following features
has been funded thanks to generous support from donors.
Your help is vital to continue development!




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.




  • SEPTEMBER 2011 RELEASE (v7.22)
    ONLY AVAILABLE TO DONORS

    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.




  • AUGUST 2011 RELEASE (v7.21)
    ONLY AVAILABLE TO DONORS

    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.




  • JULY 2011 RELEASE (v7.20)
    ONLY AVAILABLE TO DONORS

    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).




  • JUNE 2011 RELEASE (v7.19)
    ONLY AVAILABLE TO DONORS. WILL BE RELEASED TO THE PUBLIC DURING THE FIRST WEEK OF JANUARY 2012

    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.




  • MAY 2011 RELEASE (v7.17)
    ONLY AVAILABLE TO DONORS

    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.




  • APRIL 2011 RELEASE (v7.16)
    ONLY AVAILABLE TO DONORS

    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.




  • MARCH 2011 RELEASE (v7.15)
    ONLY AVAILABLE TO DONORS

    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.




  • FEBRUARY 2011 RELEASE (v7.14)
    ONLY AVAILABLE TO DONORS

    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.




  • JANUARY 2011 RELEASE (v7.13)
    ONLY AVAILABLE TO DONORS

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




  • DECEMBER 2010 RELEASE (v7.12)
    THIS VERSION IS AVAILABLE TO EVERYONE! DOWNLOAD IT HERE NOW!

    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.




  • NOVEMBER 2010 RELEASE (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.




  • OCTOBER 2010 RELEASE (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.




  • SEPTEMBER 2010 RELEASE (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.




  • AUGUST 2010 RELEASE (v6.49)

    3D Rad Editor
  • Fixed crash happening when multiple objects were deleted from a project in rapid succession.
  • Fixed 2d objects (Sprite, TextPrint etc) failing to resize/stretch with right-click & drag, in the Virtual Editor.
  • Fixed Object->Add (insert) function not being ghosted when the Object List was empty.


  • SkinMesh
  • Important! The following features require a patch which IS NOT included to the main installation file for 3D Rad v6.49. To install the patch, please replace the .dll files in your C:\3D Rad\3DRad_res\objects\SkinMesh\ folder with the .dll files in this .zip archive.
  • For advanced users, the ability to add new 'default' shaders to the property dialog's drop-down list. If the filename of the new shaders include the 'user' keyword, 3D Rad will load textures called 'userTextureA.dds', 'userTextureB.dds', 'userTextureC.dds', from the SkinMesh aspect's data folder and will pass them to the currently selected shader as parameters named userTextureA/B/C. In addition, if any PointLight object is present in the scene, range property information for them will also be sent to the 'user' shader, as float variables named pointLightRangeXX (where XX is point light identifier, 01-04). Also, user shaders will also always receive the 'tileCount' and 'bumpScale' parameters. The 'ReflectAmount' and 'RefractAmount' will only be sent to user shaders when 'Enable environment map' is enabled for the SkinMesh object.


  • Script
  • Added iGlobalStringSet(), iGlobalStringGet() functions, to set/retrieve strings from the global array of strings. The global array of strings can hold up to 1024 strings and is accessible by all scripts in the project or all scripts in all projects that have been compiled together (e.g. a multi-level game).
  • Added iFileEOF() function.


  • Imposter
  • Added randomization factors for imposter orientation, location and scaling.


  • ExitFade
  • Added ability to set, run-time, via scripting (iObjectTextSet() function), the name of the project to exit to, when the ExitFade object is started.


  • Path
  • Added property dialog parameters, allowing you to set thickness and speed for the path visualization line.


  • EventOnLocation
  • Added 'Execute opposite action on exiting' option, allowing you, for example, to start a looping sound when an object enters a zone and stop the sound when the same object exits the zone.


  • EventOnInput
  • Added 'Execute opposite action on release' option, allowing you, for example, to start a looping sound when a key is pressed and stop the sound when the key is released.


  • EventOnContact
  • Added 'Apply opposite action on no-contact' option.


  • G-Force
  • Fixed acceleration/range parameters not resetting to their default, on the property dialog, when changed run-time via scripting.


  • 3D Rad v7.02b

  • Alongside the latest version 6, this update also includes version 7.02 (beta) of 3D Rad! This v7 update introduces PhysX support for the RigidBody object (and all rigid-body-based objects, like Ball, Character, Cam1StPerson), and also for all objects based on scanning and ray casting (PathFinder, CarAI, script functions).


  • As a fantastic plus, compared to v6, v7 already allows you to make your collision detection models for dynamic RigidBody objects by using both spheres and boxes! On the cons side however, please don't forget that under v7, polygon-based RigidBody objects can only be static in your scene.


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


  • 3D Rad v7 requires the PhysX System Software installed on your system, and on any system running projects created with 3D Rad v7. You can find the PhysX System Software at the NVidia website.


  • Note that now v7 also requires a PhysX .dll called PhysXCooking.dll. This is supposed to get installed along with all other driver files when you install the PhysX System Software (above). However I noticed that, at least in one case, it was installed to a wrong folder, which caused an error message when 3D Rad v7 was launched. I fixed the problem by manually copying the .dll to the main 3D Rad folder.




  • JULY 2010 RELEASE (v6.48)

    3D Rad Compiler
  • Important! A patch which IS NOT included to the main installation file is now available, to fix a problem with the compiler. To install the patch, after you have installed v6.48 of 3D Rad, please replace the file in your C:\3D Rad\ folder with the file in this .zip archive.


  • 3D Rad Editor
  • Objects loaded as part of an addon are now displayed in a different color (in the Object List) and support specific editing features. Also they are now loaded at cursor location.
  • The editor now supports hiding (protection) of specific objects in a project. This feature is only intended for the creation of addons, as described here.


  • G-Force
  • Added acceleration action timer, force occlusion option and ability to generate G-Force object 'imposters' run-time, useful to create multiple explosions that affect dynamics of any object in the scene that supports physics. For an example, please see the demo project called GForceImposters.


  • SkinMesh
  • Added shadow caster projection distance parameter.
  • Fixed animation time parameter not being readable from a script, run-time, when the animation was bone-based.


  • Script
  • Added iObjectSpinSet() function.


  • CamChase
  • Fixed shaking parameter not always working when changed run-time via script.




  • JUNE 2010 RELEASE (v6.47)

    3D Rad Editor
  • Added ability to merge different Group objects into one. You can use this new functonality by linking two Group objects together.


  • 3D Rad Compiler
  • Compiled projects are now generated inside their own unique (time stamped) sub-folder.


  • Imposter
  • Added mesh map support, allowing you to create one imposter for every vertex in a specified mesh (.x file format). For an example of usage, please see the demo project called ImposterMeshMapDemo (run 3D Rad, press Ctrl+O, double-click the project).


  • PathFinder
  • Added internal parameter allowing you to determine, run-time, via scripting or EventOnValue object, when a valid path to the goal has been found.


  • SkinMesh
  • Fixed position snapping to world origin after the SkinMesh files were replaced with iObjectRefresh() script function.


  • 3D Rad v7 - beta!

  • Besides the latest version 6, this update also brings the first beta release of 3D Rad version 7! Version 7 uses the NVidia PhysX engine to power physics, instead of ODE. This means more robust processing (almost zero random crashes!) and a higher number of processed objects, especially on NVidia video cards supporting PhysX hardware processing.


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


  • 3D Rad v7 requires the PhysX System Software installed on your system, and on any system running projects created with 3D Rad v7. You can find the PhysX System Software at the NVidia website.


  • This first beta, only supports physics simulation for the default Car object and the default Terrain object. Physics may also work for certain spherical RigidBody objects.


  • Projects that only use the default car, the default terrain and any other object that doesn't require physics, should load and work fine under version 7. Try for example SimpleProject.3dr and ProjectileDemo.3dr


  • The car-simulation provided by PhysX is totally different, allowing a superior friction model and advanced tire and suspension simulation. It also solves common issues like front wheels loosing grip too easily, vehicle tendency to flip over on bends and bending wheels at high speed.


  • When experimenting with the new car simulation, keep in mind that the Trajectory stabilizer parameter is ignored and that the Banking stabilizer is now the center of mass displacement, in meters (for example, 0.75 means that the center of mass for the car will be 0.75 meters lower than the car-body model center.


  • IMPORTANT: NVidia provides the PhysX software as freeware. However, you have to notify NVidia of any commercial application you may create and which is using PhysX. Also, regardless of its commercial status, any PhysX-based application will have to display NVidia logos on the credits screen and elsewhere. Because projects created with 3D Rad v7 use PhysX, the rules above may apply to whatever you create with 3D Rad v7. For more information, please see the NVidia PhysX EULA.




  • MAY 2010 RELEASE (v6.46)

    SkinMesh
  • Added network support. Now, in a multiplayer game, when the project is running on the server, SkinMesh objects that have the same Network ID and are in a project which is running on a connected client PC, are automatically placed at the same location as the SkinMesh on the server. So, for example, if you have a racing game running on the server, and all the SkinMesh objects for the cars (body, wheels etc) synchronized with identical SkinMesh objects in a project running on a client, the user in front of the client PC screen will see the race that is happening on the server. More >>
  • Fixed SkinMesh disappearing sometimes when 'Visible in reflection' option was selected for it and imposters were created.


  • EventOnInput
  • Added network support. Now, in a multiplayer game, when the project is running on the server, EventOnInput objects that have the same Network ID as EventOnInput objects in a project which is running on a connected client PC, will trigger actions on the server, based on the remote user input. So, for example, if you have a tank battle game running on the server, and the EventOnInput objects that control movements for a tank are synchronized with EventOnInput objects in a project running on a client, the client PC user will be able to control the tank on the server. This feature, coupled with the ability to synchronize SkinMesh objects between server and client projects, allows you to create multiplayer games enjoying a productivity which isn't possible with classic game creation systems. More >>
  • Added mouse button detection, allowing you to perform, without scripting, actions when user-made (eg sprite) buttons are clicked by using left, right or middle mouse buttons. For an example of usage, please see the sample project called ClickableButton.


  • Imposter
  • New object type! Run-time clones without scripting! The Imposter object can be used, for example to generate particles where two objects collide. For an example, please see the ImposterObjectDemo project, include to this update.


  • EventOnObjectId
  • New object type! Certain 3D Rad objects expose the identification number (handle) of other objects as internal parameters. For example, an internal parameter of the Scanner object is the ID# of the object that has just been hit by the scan. The EventOnObjectId object will trigger an action (like starting a Particles object or a SoundEffect) as soon as the ID# matches the ID# of a specified object.


  • Script
  • Added iSuperScreenshotSave() function, which saves a screenshot of the 3D scene as tiles. Each tile is an image with the same format as the current display. The tiles can be combined by using a paint program or a specialized tool, to form the original screenshot, as an unique high resolution image.


  • EventOnContact
  • Added 'Ignore collisions that don't involve reference objects' option.


  • TextPrint
  • Added internal parameters allowing you to set the TextPrint object color (rendered text color) run-time, from a script.


  • ConfigureControls
  • Raised render priority for the configuration panels, to make them appear in front of any other sprite. Note that the panel will still be rendered behind text elements though.


  • Car
  • Added 'Throttle state' internal parameter allowing you to monitor A.I. cars' throttle run-time and perform actions based on that.


  • Joint
  • Fixed bug causing limits and motors to be applied about the wrong axes, when the reference body or the Joint object itself were rotated, and the joint was in ball-mode.
  • Fixed limits being reversed when the Joint was in slider mode.


  • 3D Rad Player
  • Fixed music loop failing to fade out after or overlapping during the loading phase.




  • APRIL 2010 RELEASE (v6.45)


    PathFinder
  • New object type! This object can find paths for your characters in a generic scenery, without the need to model navigation maps, waypoints, or define any grid or database. Works with moving goals and with scenery that change run-time as well! For a demonstration, please see the PathFinderDemo project, included to the updated 3D Rad installation file, or click here to download a stand-alone executable of the demo (8Mb). Please see the PathFinder object's help file for more information on this fantastic new object!


  • Script
  • Added iObjectEnvMapFocusSet() function, which allows the creation of shaders requiring run-time manipulation of environment map focus location, like point shadows, mirror-like reflections and more.
  • Improved iScreenAreaPicked() function to work on multiple calls per cycle, when in 'true' mode.
  • Fixed editor preserving changes when script dialog was closed with cancel, sometimes.


  • SkinMesh
  • 400%-500% processing speed improvement when hundreds of SkinMesh objects are present in the scene.
  • Added support for run-time change of environment map focus location.


  • Sprite
  • Added animation duration parameter to the property dialog.
  • Fixed invisible sprite when running in maximized mode, with 'Work as full-screen mouse pointer' option enabled.


  • Counter
  • Added internal parameter for the Increment value. This allows it to be controlled run-time by a Script.


  • 3D Rad Editor
  • Added button to donors list page to the About box, to address space issues and non-clickable links to donors' websites.




  • MARCH 2010 RELEASE (v6.44)



    Particles
  • Added ability to emit particles within a specified direction range, to produce expanding-donut effects. For an example of usage (explosion shock-wave effect), please see the demo project called ExplosionParticlesDonut.3dr.


  • Script
  • Added two new script functions called iShaderViewMatrixSet(OBJ_X,string,OBJ_Y) and iShaderProjectionMatrixSet(OBJ_X,string,OBJ_Y), allowing you to extract the view and projection matrices from a specified CamChase object settings, and directly pass them to a SkinMesh's custom shader. View and projection matrices can be used to implement fur/parralax/relief/cone-mapping-based effects.
  • Added iScreenShot() function. For an example of usage, please see the sample project called ScreenshotDemo.3dr
  • Raised the number of characters supported by the script editor to 260,000 (from 65,000).
  • Fixed Active setting sometimes not working as expected after deleting objects linked to the Script.
  • Fixed script shaders not compiling correctly if certain regular script variables were declared before the shader code.


  • SoundSource
  • Fixed Active setting not working as expected sometimes.


  • SoundEffect
  • Fixed Active setting not working as expected sometimes.


  • Sprite
  • Fixed current frame internal parameter not working as expected.


  • RigidBody
  • Fixed physics failing to resume after the project was stopped and restarted, if the mass was set to -1 run-time, in a script. Please note that restoring mass to non -1 (dynamic) values run-time is still not possible, after it is set to -1, because the only way to change from static to non-static is, for a RigidBody, an operation that requires a full reset which can only be performed at startup.


  • 3D Rad Compiler
  • Fixed load-time image slideshow and background music loop not being copied to the destination folder.


  • 3D Rad Player
  • Fixed random crashes on multi-level projects.
  • Fixed poor framerate on certain video cards when multiple sound objects were set to not-playing-at-start.




  • FEBRUARY 2010 RELEASE (v6.43)


    3D Rad Compiler
  • Added automatic encryption of compiled .3dr files so that they can no longer be opened/edited with the 3D Rad editor. IMPORTANT: projects saved with earlier version of 3D Rad are only partially protected when compiled. To fully protect your existing projects, open them in the editor and save them back.


  • 3D Rad Player
  • Image slideshows and music loops can now be played while a compiled project is loaded. Specific projects can have their specific image sequences and music loops. For details please see the Global loading image section in the 3D Rad Compiler help file.


  • Car
  • Added Brakes state internal parameter. This allows you to read the state of Car object's brakes from a script or an EventOnValue object, to implement, for example, working AI cars' taillights.


  • Script
  • Added iSimulationFrqSet() function.
  • Added iQuaternionInterpolate() function.
  • Fixed imposter shadows not rendering sometimes.


  • Transform
  • Fixed position of moving objects not being updated properly.


  • Sprite
  • Fixed crashes when sprites were included to a compiled project.
  • Fixed internal parameters not updating run-time when manipulated from a script.


  • EventOnInput
  • Fixed mouse detection area being sometimes visible in compiled projects, at startup.


  • RigidBody
  • Fixed iObjectVelocitySet() function affecting the object in the Virtual Editor sometimes.




  • JANUARY 2010 RELEASE (v6.42)


    Transform
  • A new object you can use to apply run-time translations, rotations and scaling to the objects linked to it. See the TransformDemo.3dr project for an example of usage.


  • Switch
  • A new object you can use to replace an object with another, run-time, as a consequence of game events. It can also be used to switch between two specified animation sets of a SkinMesh object, with smooth transition between the two (animation blending). See the SwitchObjectDemo.3dr and SwitchAnimSetDemo.3dr projects for examples of usage.


  • Sprite
  • Added ability to play a sequence of images as an animation. For an example please see the SpriteAnimation.3dr project.


  • EventOnInput
  • Added auto-fire and toggle modes.
  • Added ability to edit mouse detection area visually, in the Virtual Editor.


  • SunLight
  • Fixed internal parameters not updating after they were changed by a script.


  • EventOnLocation
  • Fixed projectiles triggering condition without crossing the detection area.




  • Development history (2009) >>