CopperCube Changelog

What's new in CopperCube 6.6

Jan 30, 2023
  • Dark Mode support:
  • CopperCube now has an (experimental) dark mode, which can be enabled under Tools -> Options. It's not perfect (some controls like scrollbars and menus still have the default theme) but it's a start.
  • Customizable icons:
  • All icons in the editor can now be customized and now have an alpha channel. They are .png icons located in the icons folder of the editor.
  • Android Studio Electric Eel compatibility:
  • Updated the source code for the Android client to be compilable with the latest Android Studio (Electric Eel)
  • Splitscreen, Animation Scripting and more:
  • Lots of new scripting functions for the editor and Win32/macOS player for doing Splitscreen, animation scripting, key emulation, mouse cursor positioning and more, contributed by by Vazahat (just_in_case).
  • See the 'advanced' section in the JavaScript scripting reference for details
  • WebGL code generation:
  • Minor bug fixes and improvements in WebGL rendering code The installer is now dpiAware (meaning it also scales on highDPI screens) and supports many more languages
  • Lots of small improvements everywhere
  • Updated some translations

New in CopperCube 6.5.1 (Dec 6, 2021)

  • Fixed a bug causing the editor to start up in a too large window on scaled resolutions without highDPI.
  • Fixed a bug causing terrain editing window not to show the grass button by default.

New in CopperCube 6.5 (Dec 3, 2021)

  • HighDPI support:
  • CopperCube now works nicely on HighDPI displays.
  • You also have a lot of more space to work on your project, and viewports are adjusted for this.
  • Faster frame rates:
  • You can now set a wanted frames per second value in the Windows .exe and MacOS .app publishing targets. Previously, this was set to 60 fps fixed, but if you want more, you can now also set a value like 120. Note: Most behaviors and physics expect a default frame rate of 60, so if you increase the value, you likely have to adjust your jump speeds and similar to fit this new frames per second value.
  • Support for large scripts:
  • When MacOS Apps are generated from CopperCube in Windows, the .app file will now be bundled as .zip file automatically. It can be sent directly to macOS users and be run that way.
  • It's no longer necessary to manually set execution flags using chmod or similar.
  • Small changes to the editor UI everywhere:
  • The biggest change to notice is the "create 3D element" toolbar on the top of the editor which now shows the labels by default. But also many other windows have been adjusted and updated.
  • New scripting functions:
  • ccbLibFileDelete() deletes a file
  • ccbLibFileExist() tests for the existence of a file
  • Scripting function updates:
  • editorImportAnimated3DMesh() now returns a reference to the imported node
  • editorImportStatic3DMesh() now returns a reference to the imported node
  • Additional Editor CLI parameter:
  • The editor now supports a new command line parameter, named 'importanimated', which makes it possible to import animated meshes from the command line. Use for example
  • CopperCube -importanimated:somefile.fbx -save:myscene.ccb -quit to import an animated .fbx file into CopperCube via command line.
  • Resolution Game App Resolution CLI Parameter:
  • The Windows and Macos client now supports an additional command line parameter "resolution". This forces the application to use the given resolution or window size. Use for example
  • Updated Android client to API level 30:
  • APKs generated with CopperCube are now using API level 30. This also includes a mandatory additional signing step for creating APKs (APK Signature Scheme v2), which means that you might need to install or update additional build tools from your Android SDK manager.
  • There is no support for building App Bundles yet though, you need to use Android Studio to build them yourself if you want to submit your app to the play store for now.
  • Fixed a problem causing action handlers and scripts to be executed sometimes when opening a file by double-clicking it. In most cases, this didn't cause any problems, but sometimes, it would change the scene for one frame. This is no longer the case.
  • Other, smaller changes:
  • On macOS, the generated app now finally also supports highDPI screens
  • Windows 11 support
  • Steam support plugin dll is now also 64 bit
  • Update for the swedish localization thanks to Alexander S
  • Added some some detail how to create Android App Bundles to the documentation using CopperCube Studio edition
  • Added improvements to nearly all translations created by Just_in_case
  • Please note: The .ccb file format has changed slightly since version 6.4, and CopperCube 6.4 cannot open .cbb files saved with version 6.5 or newer. (CopperCube 6.5 and newer can of course always open every .ccb file saved with any older version.) So just to be sure, it is always a good idea to make a backup of your project before moving to a new version.
  • Various fixes when importing 3D files and textures
  • Fixed translation missing for some UI elements like perspective button

New in CopperCube 6.4 (Dec 21, 2020)

  • This update moves CopperCube to 64 bit, includes several smaller updates and fixes, and removes some obsolete features:
  • 64 bit editor
  • The editor is now a 64 bit app. 32 bit is no longer supported.
  • CopperCube runs faster this way now and also is able to support much bigger projects.
  • If you need 32 bit, please use CopperCube 6.3 or older.
  • coppercube 6 64 bit version
  • 64 bit Windows apps:
  • Generated Windows .exe apps are now 64 bit (instead of 32 bit previously).
  • Improved macOS .app generation:
  • When MacOS Apps are generated from CopperCube in Windows, the .app file will now be bundled as .zip file automatically. It can be sent directly to macOS users and be run that way.
  • It's no longer necessary to manually set execution flags using chmod or similar.
  • coppercube 6 64 bit version:
  • Nicer system command execution:
  • The scripting system() command has now a second optional parameter, which when set to 'true' causes no console window to appear anymore when run on windows.
  • 64 bit macOS apps:
  • All generated MacOS apps are now also 64 bit.
  • File import via script:
  • Importing static and animated meshes into the editor is now possible via scripting using these two new functions:
  • editorImportStatic3DMesh(filename);
  • editorImportAnimated3DMesh(filename);
  • Resortabe actions
  • Actions can now be re-arranged in the editor. This is especially useful, since actions are executed in the order they appear in the list. Simply right-click onto an action in the action editor, and select "move up" or "move down" for this.
  • coppercube 6 64 bit version
  • Stopped macOS editor support:
  • There is no longer a MacOS version of the editor available.
  • The Windows version of CopperCube can still generate macOS apps, though.
  • If you need a macOS version of the CopperCube editor, please use version 6.3 or older.
  • The reason for this is that Apple no longer supports OpenGL ("deprecated") and Carbon ("deprecated") and unfortunately generally appears to have a terrible strategy regarding backwards compatiblity. Most of the time developing CopperCube was spent working around bugs introduced in newer MacOS versions. So removing macOS editor support will cause development to start catchup a bit faster again.
  • Removed Oculus Rift Support
  • Oculus Rift VR support was removed. CopperCube only supported an older DevKit of this anyway.
  • Updated UI:
  • Updated to a newer Windows Toolkit (wxWidgets 3) - some parts of the UI will look a bit different now.
  • Various fixes when importing 3D files and textures:
  • Fixed inverted colors when importing DDS files
  • Fixed crash when importing obj with invalid material file
  • Fixed a bug causing CopperCube to crash when importing Blender .blend files with no parent
  • Fixed a bug causing CopperCube to crash when importing Blender .blend files without set material
  • Updated to a newer version of zlib

New in CopperCube 6.3 (Sep 9, 2019)

  • Publishing new apps to the google play store now works again (Google has upped their minimal API level)
  • Android target version is now 29 (instead of previously 26).
  • Improved iPhone WebGL support:
  • iPhone normal map rendering now also works on WebGL. Most iPhones don't support 4 lights at the same time, so rendering is reduced to two lights at the same time for these.
  • Nicer fallback shaders for iPhones
  • Added Italian translation
  • Improved arabic translation
  • When running your WebGL code on a device not supporting all shaders, the "could not link program" error messages isn't displayed anymore.
  • Various other minor improvements here and there

New in CopperCube 6.0.2 (Sep 9, 2018)

  • Fixed problem displaying "Invalid APK" when creating Android Apps with some unusual app names
  • Progress dialog when calculating lightmapping or adding textures is now much nicer in Windows 10
  • Fixed problem causing long lines of error messages sometimes to be cut off after publishing an app
  • Fixed a bug where the editor won't correctly store the android version code in the publishing settings

New in CopperCube 6.0.1 (Aug 14, 2018)

  • This update includes some improvements and fixes for some minor bugs of the 6.0 release:
  • Better selection indication:
  • Selection highlighting in the scene graph explorer has been improved: When selecting a 3d object in the view, the object is also now scrolled too in the scene graph explorer. Also, when selecting multiple objects, the selection is much better reflected between explorer and 3d view now.
  • Larger Debug console:
  • For the Windows and macOS target, the debug console is now a bit bigger and is able to show longer lines of text. It also now re-adjusts itself when the window is resized
  • Improved restart scene action:
  • Previsouly, the 'Restart scene' action would not reset altered fog and postprocessing settings. It now does, and also fixes a problem where restarting a scene would set the background of a scene to gray by default.
  • CopperCube now warns if PostProcessing is enabled together with the Anti-Alias feature on D3D9, since they can't be used together at the same time. It will disable anti-aliassing now for this by default.
  • Various minor improvements and tweaks here and there.

New in CopperCube 6.0.0 (Jul 13, 2018)

  • CopperCube is now free:
  • Coppercube is now free. No more limited amount of scenes, no complicated licensing terms. From now on, you can use CopperCube for free to develop your games, and sell them, publish them on Steam, any App Store, your website or what every you want to.
  • In order to support the development of CopperCube, there are two editions which have a few more features than the free edition: CopperCube 6 Professional and CopperCube 6 Studio Edition, which you can buy if you like. See the edition comparison page for details.
  • Post-Processing Effects:
  • CopperCube now includes an list of built-in post effects which can make your scenes look a lot better: Bloom, Black and White, Invert, Blur, Colorize and Vignette.
  • This is one of the few features which are only available in the professional and studio edition. They work on the Windows, Mac OS and WebGL targets. Posteffects can also be adjusted, enabled and disabled during runtime using scripting. See the documentation for this.
  • Full FBX import with Animation:
  • CopperCube now supports loading all types of FBX files. This also includes animated fbx files, with skinned meshes (as for animated characters). It also searches for textures automatically, if they are referenced wrongly.
  • Previously, it supported loading only FBX 2011, FBX 2012 and FBX 2013 files, now it loads all existing formats from Maya and Max created with the FBX plugin, and in addition these: AutoCAD (>=2011), MotionBuilder (>=5.5), Flame (>=8), Inferno (>=5.0), Smoke (>=6.0), and Revit Architecture(>= 2009.1)
  • This only works in the Windows version of CopperCube, though.
  • New lighting system:
  • CopperCube now uses a new lighting system which makes it possible to use much more bright lights (up to 4 times brighter)If you are working on a project with an older version of CopperCube, note the following:
  • The editor will automatically convert your color and light settings to the new systemBut be sure to make a backup of your project before.
  • If you used static lighting in your project, it will likely now look a bit differentYou need to recalculate the lighting for all your scenes by pressing the "calculate!" buttonYou also probably need to adjust the radii and colors of your lights a bit after updating.
  • The ambient light setting is now very sensitiveKeep it at low values to make everything look nice.
  • Unified colors and lighting:
  • In older versions of CopperCube, it could happen that for example if you set specific lights with realtime shadows, your scene could look slightly different on different platforms, like for example on WebGL and the Windows .exe target. This is no longer the case, your scenes will now look the same everywhere.
  • DDS support:
  • CopperCube now supports DDS files. You can now import these as textures, and they will work on all supported platforms.
  • WebGL 2 support:
  • CopperCube now uses WebGL 2 when available, and falls back to WebGL 1 if not there. When using WebGL 1, post effects might not look that nice because of it's missing non-power-of-two render target support. In WebGL 2, this is no problem.
  • Loading screen image:
  • Additionally to the text and background color, it is now possible to select a logo image for the loading screen. In the free edition, this is fixed to be a CopperCube logo, but in the professional and studio edition of CopperCube, you can change or even remove the logo.
  • Multi Selection:
  • The editor finally supports multi-selection: You can now select more than one object at a time by holding down SHIFT while picking objects (and ALT to remove from selection). That way, you can now move, rotate, scale, delete and modifiy textures and properties of multiple objects at the same time. This works in the 3D view as well as in the scene graph explorer.
  • It is now for example very easy to remove or change all trees in a terrain by selecting all of them in the scene graph explorer at once.
  • WebGL automatic pointer lock:
  • The new 'Use pointer lock for FPS cameras' option in the publishing settings enables FPS cameras in your game to automatically use the pointer lock feature which is offered by most browsers today, even when not run in fullscreen mode.
  • Freeze Scale command:
  • There is now a new built-in command for freezing the scale and normalizing the normals of meshes. This is useful if you have different sized models in your scene and want to have them all the same size, without a scale applied to them. Using this makes it simpler to calculate collisions between such objects, improves performance with physics and lighting.
  • Improved skinned mesh player:
  • Coppercube now also supports displaying skinned meshes correctly such as animated characters when they have have duplicated vertices, for example with different UVs or Normals.
  • Better Wireframe mode:
  • The wireframe mode view is now much more usable in the editor: All mesh wires are now drawn white, instead of shaded by their texture and light previously.
  • Usable folder nodes - finally:
  • Folder nodes now store their open/close state in .ccb files
  • Automatic DirectX installer:
  • If the users of your game don't have DirectX, or not the correct version installed, CopperCube generated Windows .exe files will now detect this and can install DirectX automatically, so the game will now run everywhere. To enable this feature, just enable the new "Include and run DirectX Installer when needed" option in the publishing settings: This will create a subfolder named "dxredist" for your app which includes the DirectX installer. When you distribute your game, be sure to include this. The game will automatically run the installer if needed. For details, see the documentation under "Windows (.exe) target -> Making sure it runs on your users systems"
  • Scene Metrics tool:
  • The scene metrics tool, previously only available in the professional edition is now usable for everyone (which means for CopperCube 6 also in the free edition).
  • Nicer User Interface:
  • The user interface of the editor has been modernized quite a bit. It looks a lot cleaner and more modern now, and it should be more easy to find the right tools now.
  • More terrain generation options:
  • There are now a few more options to generate an initial terrain, like the possibility to select more than one texture for grass distributed over it. Also, the default textures and settings for terrain are now a bit nicer.
  • Lots of performance improvements:
  • The whole code base was modernized and improved, and updated to use a more modern compiler toolset, resulting in performance improvenments everywhere.
  • Updated Lightmapper:
  • The lightmapper for calculating static lightmapping has been updated and improved a bit. Some of the default settings have also been updated a bit, for example it now uses a bigger resolution and ambient light by default.
  • Improved OpenGL renderer:
  • CopperCube mainly uses Direct3D, but can also use OpenGL on Windows and Mac OSThis OpenGL renderer has been improved:
  • OpenGL vegetation rendering is now also supported
  • D Font rendering now is also working the same in the editor as in Direct3D
  • Texture filtering on terrain is now much nicer
  • Several performance improvements
  • Rotation correction tool:
  • The animated models editor has now a new command to correct the rotation of imported, animated 3d models. If, for whatever reason your imported 3D model is for example laying instead of standing up, you can set a correctional rotation in this to fix this for all models in your project.
  • Improved WebGL font rendering:
  • 2D Text drawn using for example 2D Overlays in WebGL now is much more readable and sharper. Blurriness which occurred on some browsers has been removed now.
  • Automatic clip prevention for FPS camera children:
  • If you have a weapon, a hand or something similar attached to your FPS camera, so that it looks like this is part of the player, these models are now automatically prevented to clip through walls and other objects. The FPS camera behavior has now also a checkbox to enable/disable this feature, named "DisableClippingForChildNodes" which is on by default.
  • Node Types via scripting:
  • It is now possible to query the type of a node with scripting. Use ccbGetSceneNodeProperty(node, "Type"); in order to get a string revealing the type of the scene node, like "mesh", "animatedmesh", "billboard", "camera", "light", "mobile2dinput", "2doverlay", "particlesystem", "path", "sky", "sound", or "water".
  • Flash support removed:
  • CopperCube no longer supports creating apps for the Flash platform. If you need to create Flash apps, you can still download and use CopperCube 5.
  • DirectX 8 support removed:
  • Since there is virtually no PC anymore not supporting DirectX 9 at least (and only DirectX 8), support for DirectX 8 was removed.
  • Updated Built-In Textures:
  • The built-in textures used by the editor have been updated. They now are of higher resolution and quality and look much nicer overall. Create a new terrain for example and see the difference.
  • Modern D3D 11 based renderer preview (in closed alpha):
  • Internally, CopperCube now has an additional D3D 11 renderer with support for more modern 3D features.
  • It is not public yet, buggy, and still early alpha but will be enabled for public use in an update in the near future.
  • Other, smaller changes:
  • The documentation has been updated with new screenshots, tutorials, and of course documentation for all the new and changed features
  • The fallback rendering for reflective surfaces is now much nicer
  • Removed support for software rendering, only OpenGL and Direct3D are now supported
  • CopperCube is now compatible with the latest JDKs (meaning version 9 and 10) as well
  • The background color of the WebGL loading screen can now also be configuredThis loading screen also uses now the specified loading logo image.
  • Improved error handling when rendering WebGL on systems with old or incompatible hardware
  • The WebGL platform printing now prints to the developer console if available, instead of logging them as errors in the error console.
  • The icon for cameras in the editor now indicates better where the target of the camera is, by mirroring the icon if necessary.
  • The default texture size of the lightmapper has been increased to create nicer results by default.
  • When importing coppercube scenes or adding prefabs, those no longer can influence or overwrite the global gravity, wind, fog or shadow settings of the scene.
  • Fixed a bug causing Windows 10 steal the focus of the just published and running Windows .exe app, sometimes
  • Fixed a problem causing WebGL export not to write out all textures under very special circumstances
  • Fixed a bug causing the direction of the "Fly Circle" behavior not to be correct sometimes when loading it from a .ccb file
  • Fixed a bug causing cloned collision behaviors to be always affected by gravity ignoring the setting in the editor
  • Fixed a bug causing videos not to play sometimes if you chain more than two videos after each other in the "OnVideoEnded" slot in the PlayVideo action.

New in CopperCube 5.7.1 (Dec 15, 2017)

  • Better WebGL Pointer Lock support. When you use WebGL in fullscreen mode you can additionally enable pointer lock - meaning First Person Shooter controls work on the website as in a desktop app game: The mouse cursor gets hidden and you move the the view by moving the mouse. This feature now works nicely on all modern browser supporting this, and additionally features using mouse coordinates (like the "When clicked on this" or "hovered by mouse" behaviours) work nicely as well by assuming the mouse cursor is now in the center of the screen.
  • There is now a new property value named "PositionAbs" supported by all scene nodes, which returns the absolute position of an object when using ccbGetSceneNodeProperty()
  • Fixed a problem when using a static object with a game AI behavior: Previously, if this object had collision enabled, it wasn't able to correctly shoot because it would cause to collide with itself (if collision was enabled for this object). This has been fixed now.
  • Fixed a problem causing custom behavior scripts not work when loading an external .ccb file into the game using ccbSwitchToCCBFile()
  • Fixed a bug causing animated foliage not to be rendered sometimes in WebGL client
  • Fixed a bug causing jumpy camera when clicking and pointer lock is enabled in WebGL
  • Updated documentation with missing parameters, for example for the ccbSteamSetAchievement() command
  • Updated french translation
  • Updated swedish translation
  • Default Window size for new Windows apps is now 800x600
  • Default canvas size for new WebGL apps is now 800x600
  • Fixed a bug which prevented changing the color of dynamic lights sometimes
  • Fixed bug with deserializing light data when using JavaScript

New in CopperCube 5.7 (Jun 19, 2017)

  • Realtime Shadows Support:
  • CopperCube can now draw dynamic shadows, by using shadow maps.
  • This works nicely for outdoor scenes: Put a directional light into your scene and activate the "realtime shadows" checkbox of the root scene object.
  • You can have both static lighting (light maps), dynamic lighting (shadow maps) and no lighting (white) for objects in the same scene.
  • The technique used is pretty fast and also works nicely in WebGL on websites.
  • It is possible to select manually which object should cast shadows and which should not.
  • There are also a few parameters which can influence the look of this. There is a new tutorial showing how all this works.
  • Limitations: This works only for Windows .exe target with Direct3D and for the WebGL target. Only one, namely a directional light source is supported for shadow casting. (You can also add other light sources of course, but they won't cast shadows)
  • Big game support and dynamic level loading:
  • If your game uses a lot of data like textures / sounds / scenes etc, CopperCube now makes it easy to do this as well: You can now dynamically load levels and scenes at runtime. There is now a scripting function named 'ccbSwitchToCCBFile()', which when invoked will wipe the memory and load/start that new file. This makes it possible to split your game up easily into multiple files. Works for Windows .exe and MacOS apps.
  • Simplified uploading games to Android Play Store:
  • If you are using a newer Android SDK, your CopperCube generated Android game can be uploaded again directly to the store without the need to manually zip-align it. Background: Google moved the zipalign tool location in newer SDKs to another location. CopperCube now detects this.
  • Additionally, CopperCube is now also compatible with Android Studio.
  • D3D Runtime detection:
  • The editor will now detect missing installed DirectX runtimes and provide a download link to install them.
  • Floating point render targets:
  • C++ code (windows.exe / mac os x): Floating point render to texture formats are now supported
  • Saving textures:
  • You can now save textures to disk using the new scripting function ccbSaveTexture(). This is for example useful when using the built-in 3d model texture packer, and you want to export the model or texture. You can also save textures directly in the editor by right-clicking the texture and choosing "save as...".
  • Other, smaller new features and bug fixes:
  • The default Android update mode is now 'every frame' instead of 'when scene changed', resulting in a more smooth gameplay. Also, this will reduce the 'stuttering' which some people noticed on faster Android devices.
  • The editor now uses some bigger default window sizes when run on bigger screens
  • Windows .exe Apps no longer store their variables in the "CopperCubeApp" folder in the registry, but in a folder named after the application name.
  • The engine now uses less memory when run on Windows / Mac OS
  • WebGL: Replaced local files warning with updated information (the "allow-file-access-from-files" flag doesn't work anymore with Chrome)
  • Fixed a bug causing dynamic point lights not to rendered correcty sometimes when there was a directional light active as well
  • Improved polish translation
  • Fixed a problem when using the "Restart scene" action which caused memory to leak.
  • Resetting a behavior now using the "Reset" action causes the FPS camera and keyboard controlled camera also to reset their keyboard states.

New in CopperCube 5.6 (Feb 17, 2017)

  • Wind Moved Vegetation Support:
  • Grass, leaves and other vegetation can now be moved by the wind. This works for grass on terrain, leaves of the trees, or any other object you like: It is a new material type setting. If you have a material of the type "Transparent (alpha channel)", you can select "Advanced Settings..." in the combo box of the material window, and check the "Moved by Wind" option.
  • This works on WebGL, Android and Windows/D3D targets. On systems not supporting this, the system automatically falls back to static vegetation.
  • There is no performance impact, since every movement is computed on the GPU. You can adjust the wind parameters when selecting the root node in the scene graph explorer, by changing the values under the 'Wind' checkbox in the property window. Grass movement of the terrain can additionally by enabled/disabled in the property window of the terrain.
  • Borderless/Dynamic Window support:
  • The Windows target now supports a new window mode which is known as "borderless windowed" or "dynamic" mode. It has a few advantages:
  • In windowed (= non fullscreen) mode, the window is resizeable
  • It is possible to switch between fullscreen and windowed mode during runtime easily at any time
  • Fullscreen mode is now automatically sized to the resolution of the users screen
  • Task switching between game and other apps now is possible and very fast
  • Switching to fullscreen at any time is now possible by clicking the 'maximize' window button
  • This mode is usually used by most modern games.
  • Of course, the exclusive mode which was supported before as only window mode is still available as well.
  • This new mode is enabled as default for all new projects. For old projects, you need to switch to this in the publishing settings, if you prefer this behavior.
  • Improved tree generation:
  • The procedural trees generator now creates much nicer looking trees.
  • Screenshot support:
  • Apps for the targets Windows .exe and Mac OS X .app can now save screenshots.
  • The new scripting function ccbSaveScreenshot(filename) saves the current content of the screen to a image file on the disk. Supported file formats are .bmp, .jpg, .tga, .psd, .pcx, .png and .ppm.
  • High precision mode:
  • When using Direct3D, the engine now runs in high precision mode, causing your interpolations look smoother in certain edge conditions
  • New features for people creating their game using C++:
  • There is now a way to get the current fog settings direct from the video driver, using IVideoDriver::getFog()
  • It is now possible to set integer shader constant arrays (previously, only floats were supported)
  • Various other small improvements here and there
  • Better Android multitouch:
  • Android multitouch input now also works nicely with newer, faster Android devices, where sometimes the input controller would hang under certain circumstances.
  • Other, smaller new features and bug fixes:
  • Updated lots of parts of the documentation
  • Added swedish translation
  • Noteable Bug fixes:
  • Fixed a bug causing trees not to be regenerated when changing the texture in the tree generation dialog
  • Fixed a problem causing JavaScript's Date() class not to return the correct time anymore after a D3D device reset
  • Fixed a bug causing tree instances not to be stored on the terrain sometimes

New in CopperCube 5.5 (Oct 26, 2016)

  • Steam Integration:
  • Games created with Coppercube as Windows .exe now automatically have Steam integration built-in. There is support for the Steam-Overlay and an easy way to use Steam Achivements, even without programming.
  • Improved First Person Shooter Controller:
  • Several improvements for this behavior where backintegrated from the game 'PostCollapse', including
  • Repeated jumping is now no longer possible by holding down the space bar
  • Moving and strafing at the same time now longer lets the player move faster that way
  • When the system is hanging shortly (like for example if Windows Defender suddenly causes Windows to slow down), the movement will behave smoothly as before
  • C++ source code:
  • Users of the pro edition now have access to the full C++ client source code. It consists of VisualStudio (Windows) and XCode (Mac OS X) projects and can be used to extend your game in any way possible. For details, take a look into the documentation
  • Flash source code:
  • Users of the pro edition now have access to the full Flash client source code. It consists of about 150 .as ActionScript 3 files, and can be used to extend your game in any way possible. For details, take a look into the documentation.
  • Android Multi-Touch support for 2D Overlays:
  • It is now possible to use multiple 2D mobile input Overlays at the same time on Android target, making the games there feel more natural.
  • Android First Person Shooter Camera improved:
  • The first person shooter camera on Android now is much easier to use. Although first person shooters are more unusual on this platform, it works now much nicer and easier to handle.
  • Scripting extension: ccbGetCurrentNode():
  • The new scripting function ccbGetCurrentNode() returns the current scene node. When running some JavaScript code via an 'execute JavaScript' action, there is always a "current node" set, usually the node in which the action is being run. This function is available on all platforms.
  • other, smaller new features and bug fixes:
  • Mesh import improved: Imported mesh name is now reflected in the scene graph explorer
  • Improved Chinese Translation
  • There is a downloadable action available for using Steam achivements without scripting.
  • Fixed a bug causing 'plant rendering' advanced material flag not to be set when anisotropic rendering isn't checked as well.
  • Fixed a bug causing CopperCube to crash when modifying a mesh which has been imported as animated mesh although it is static.
  • Fixed a bug causing Oculus Rift support not to work on some systems
  • Fixed a bug in WebGL causing Particle Systems as children of rotated nodes not to show up correctly at some viewing angles.
  • Various minor bug fixes

New in CopperCube 5.4.2 (Apr 29, 2016)

  • Dynamic day-night cycle support:
  • It is now easily possible to have a day-night cycle in your games and simulations: There is now a downloadable day-night cylce behavior from the extension script page
  • Additionally, it's now possible to change the color, radius and direction of realtime lights using scripting. The new properties are 'Radius' (for point lights), 'Color', and 'Direction' (for directional lights)
  • Anisotropic filtering:
  • Added anisotropic filtering option to the advanced materials settings. This is an advanced filtering option for materials. Because it is memory and computationally intensive, and likely slowing down your game, you have to enable it manually for surfaces where it should be applied to. It makes sense to do this for example for grounds or walls with a very detailed pattern on them
  • Fast collision detection for degenerated geometry:
  • Collision detection now also works nicely with degenerated and irregular geometry on all targets. This means that if you are not using the physics engine for movement but the built-in fast collision/response system, you are not likely to get stuck anymore if your 3D world consists of unclean modelled 3d data
  • Disable Browser Context Menu action:
  • There is now a free new downloadable action available which disables the browser's menu to appear when right-clicking in a WebGL app
  • Better first person camera touch support on WebGL:
  • First person camera controls now work a lot more nicer on touch devices like phones and tablets, for the WebGL target.
  • irrEdit options:
  • It is now possible to enable showing CopperCube irrEdit/Irrlicht views. This is basically a property window for Irrlicht Engine properties, where you have some more options for influencing materials and properties of various objects for Windows .exe and Mac OS X targets. It is also very useful when using CopperCube for developing Irrlicht apps.
  • other, smaller new features:
  • When scripting and using the function ccbSetSceneNodeProperty(), it is now also possible to set a color using its RGB values, for example by ccbSetSceneNodeProperty(s, "Color", 255, 128, 0);
  • It is now possible to change the background color of the scene using scripting. Use 'BackgroundColor' of the root object for this.
  • It is now possible to change the fog color of the scene using scripting. Use 'FogColor' of the root object for this.
  • WebGL client now again shows details of errors if a specific file could not be loaded.
  • Fixed a bug in the extension script action ('do something later') which wouldn't work sometimes on some operating systems. Redownload that script if you discover this problem.
  • Fixed a bug causing the cloning of octree triangle selectors not to work anymore when compressed source using Google's closure was used.
  • Fixed a bug causing automatically generated directional light getting invalid unique ids assigned by default.
  • Added translations:
  • Farsi
  • Hindi
  • Chinese
  • Polish
  • Czech

New in CopperCube 5.4 (Feb 17, 2016)

  • Heightmap import support for terrain:
  • If you want to sculpt your 3D world terrain with another software, you can do this now, too. Coppercube now is able to import terrain heightmaps of the formats .raw, .r16, .r32, .png, .tga and .pgm. It also has the option to automatically apply textures to imported terrain and distribute grass onto it.
  • Integrated Texture Packer:
  • CopperCube now has an integrated texture packer. This is useful if you are using 3D models (for example downloaded from the web) which weren't optimized for games. Most of 3D models available online have lots of textures applied to them, which slows down your game while rendering. You can now simply right-click such a model in your game, and select "Modify -> Pack all textures of selection into one". This will optimize your 3d model and make it render much faster.
  • Much smaller, compressed files for WebGL:
  • CopperCube now generates up to -80% smaller files for WebGL (depending on content). Files are now compressed, causing WebGL websites to download and start much quicker. This feature is optional and can be turned off in the publishing settings.
  • Much smoother first person shooter style camera:
  • The first person shooter camera now has a new property named 'movement smoothing', which when turned on causes the movement of the player to be much softer, even on very slow systems. This is nice especially for mobile apps and the WebGL target, but movement also on the Windows and Mac OS X apps feels now much more natural, when turned on.
  • Full web page WebGL support:
  • There is now an option in the publishing settings to enable your game/app to use the full web page size.
  • Footstep sounds:
  • It is now possible to play foot step sounds easily. Simply attach the 'footsteps' behavior to any object, and once it is moving, one random of three actions is run, after a specific foot step length. Use those actions to play sounds, blow up dust, or similar. The footstep behavior is available as free downloadable extension behavior from the extension download page.
  • Box testing for "On proximity do something" action:
  • The "On proximity do something" action now has a setting named 'testArea'. Set this to 'box' instead of the default 'sphere', and your objects will be tested against a box, which is more exact and useful in a lot of cases. Also, the box is rotated and scaled with the object, so you can also test for non-orthogonal areas now.
  • Nicer 2D image drawing:
  • You can now specify if a 2D image drawn as part of a 2D Overlay will be drawn 'sharp/pixelated' or 'blurry/filtered' when it is scaled. Both options make sense, depending on the type and use case of your 2D overlay. Now you can choose manually which option will be used.
  • New "Recalculate normals" command:
  • The command for recalculating tangents and binormals, which is intended to be used for normal mapped geometry only now also works for all kinds of static geometry. It has also been renamed accordingly "Recalculate normals and tangents...". You can use it to recalculate and fix normals for all kinds of static meshes now.
  • Possibility to update static Phyics geometry:
  • The new scripting function ccbUpdatePhysicsGeometry() is able to update the internal collision geometry of the physics engine. If you move a part of the static collision geometry while your game is running, and want the physics engine to respect that, simply run this new command afterwards. You can do this for example with a 'Execute JavaScript' action.
  • Pan support for Model Viewer Camera:
  • If you are using the model viewer camera behavior, you can now enable pan for it. This works when pressing both mouse buttons at the same time. It is implemented inm the downloadable extension behavior 'Model Viewer Camera Extended' from the extension download page here.
  • Improved .OBJ file loader:
  • The .obj file importer is now more compilant and can even import corrupt .obj files found on the web. It is also now able to import files correctly, exported with some newer version of a more popular 3d modelling software, which seems to add some unexpected characters into the file sometimes.
  • Increased WebGL performance:
  • WebGL performance is now much better, on all browsers: Internally, the engine now uses requestAnimationFrame() if this turns out to perform better on the target browser.
  • other, smaller new features:
  • Updated documentation with examples and more details
  • Improved french translation
  • Extension scripts in WebGL now also can handle right mouse button events
  • A handfull of smaller bug fixes.

New in CopperCube 5.3 (Sep 25, 2015)

  • Fog Rendering:
  • Added Fog rendering support. You can now add fog to your scenes simply by clicking the "Fog" checkbox on the root node of your scene. Looks great on terrain. Fog color and density are adjustable. See documentation for more details.
  • Greatly Improved Blender file loader:
  • CopperCube can now import most low poly Blender .blend files without problems. If you are using Blender as 3D modelling software, you probably don't need to export your files anymore, and can just import the .blend files directly into CopperCube
  • Experimental .FBX file import - the editor now can import .FBX files with the following limitations:
  • Import works for static meshes, animated meshes are not yet supported
  • Working are FBX version 2011, 2012 and 2013. Older formats are not supported.
  • Android source code:
  • Users of the pro edition now have access to the full Android client source code. It consists of about 150 java files, and can be used to extend your game for example to include ads, or similar
  • Performance improvements:
  • Sound output now runs about 20% faster on Windows and Mac OS X. Also, on Android, WebGL and Flash, collision detection is now much more smooth and faster, using even less CPU time now.
  • More fine grained sound control:
  • There is now a new action named "Stop Sound". This can be used to stop a specific single sound. Very useful for controlling the sound environment, and to create stuff like dialogs which can be cancelled, and similar. There is also a corresponding new scripting function available, see below.
  • WebGL pinch detection and dynamic scene loading:
  • Added support for touch pinch gesture detection in WebGL: Pinches are reported as mousewheel events.
  • Also, if you are using the open source WebGL library for scripting your games, there is now the possibility for loading additional files as scenes during runtime on the fly. This means you can now create even bigger games and scenes and only load them when needed. See the CopperLicht::load() function documentation for this.
  • Spanish translation:
  • In addition to the already existing 7 translations, the editor now is also available in Spanish. It will switch automatically to spanish if your operating system uses that language, you can switch it back in the options menu.
  • other, smaller new features:
  • New scripting functions:
  • ccbStopSound: Stops a single specific sound, similar to the action "stop sound"
  • ccbSetSceneNodeParent: Sets the parent scene node of a scene node
  • There is now a new command "Load new mesh from disk..." to replace the mesh with a new mesh for existing static meshes in the scene
  • The font in the debugger window of the Windows .exe and Mac OS X .app target is now much bigger and better readable
  • Added a tutorial to the documentation on how to create 3D geometry using scripting in the editor
  • Improved, more helpful error messages when loading of a 3D file failed
  • Extended documentation with more examples and hints here and there.
  • Bug fixes:
  • Android:
  • Fixed a bug causing stopped streamed sounds not to be replayable sometimes
  • Fixed a bug causing bullets to be able to hit the shooter himself if the shoot action was caused by a touch action
  • Fixed a bug causing created clones of animated meshes to crash the app under certain circumstances
  • Fixed a bug causing objects with collision turned on to 'pop' their position sometimes in rare circumstances
  • WebGL:
  • Fixed a bug causing scripting interface not to return the names of 2D overlays
  • Fixed a bug causing bullets to be able to hit the shooter himself if the shoot action was caused by a touch action
  • Fixed problem causing animated meshes could get corrupted when additional scenes are loaded manually later during runtime.
  • Fixed a bug causing objects with collision turned on to 'pop' their position sometimes in rare circumstances
  • Flash:
  • Fixed a bug causing bullets to be able to hit the shooter himself if the shoot action was caused by a touch action
  • Fixed a bug causing created clones of animated meshes to freeze flash under certain circumstances
  • Fixed a bug causing objects with collision turned on to 'pop' their position sometimes in rare circumstances

New in CopperCube 5.2.2 (May 7, 2015)

  • Added new and updated some translations. The CopperCube Editor now is translated into these languages:
  • English, German, French, Russian, Brazilian, Turkish, Arabic
  • A few minor performance improvements in WebGL and Windows .exe targets
  • Added support for Steam, meaning CopperCube is now also available on the Steam store
  • Added a "download more" menu link in the prefabs window
  • Flash bug fixes:
  • Fixed a bug causing cloned animated characters to cause an app freeze under special circumstances
  • Windows .exe and Mac OS X .app bug fixes:
  • Fixed a bug causing water surfaces sometimes not to react to events
  • Fixed a bug reported as 'portal bug': causing objects controlled by keyboard to move too much after switching scenes
  • Other bug fixes:
  • Editor: Fixed problem with unicode characters in scene names

New in CopperCube 5.2.1 (May 7, 2015)

  • Fixed bug causing 3D grid not to be shown
  • Fixed bug causing Android apps not to be written out using the 'INTERNET' permission, causing functions like 'ccbDoHTTPRequest' not to work
  • CopperCube now works nicely with windows shutdown or restart requests
  • CopperCube's installer is now signed and will work nicely when downloading through Internet Explorer

New in CopperCube 5.2 (May 7, 2015)

  • Realistic Realtime Water:
  • Added realtime reflecting water surfaces. There is now a special scene node which renders water surfaces and can be used to create rivers, lakes, and oceans. It is highly configurable, so it can be used to create various, realistic looking water surfaces. It works on all targets (Windows, Mac OS X, WebGL, Flash and Android)
  • Procedural Tree Generator:
  • There is now an interactive tree generation user interface for creating procedural generated 3D trees
  • Localization (German and English for now):
  • The editor now supports german and has a german user interface, if you are running your operating system in german. This feature can be disabled in the options dialog. It is also possible to add other languages on your own now. See the 'language' folder in the installation location of CopperCube for this.
  • DPAD support on Android:
  • Added DPad support for the Android target. That's the directional pad available on some android devices, and your games can now use it. It will behave like the cursor keys on the other targets.
  • 21 day trial:
  • The trial period is now 21 days instead of 14 days, so you can try CopperCube even longer now.
  • Other, smaller changes:
  • The editor now has a slightly updated and modernized user interface
  • The editor now works nicely also whith big and very large Fonts selected in the current Window Manager
  • There is now a new sky box prefab available, with a blue sky
  • Full screen with pointer lock now works again on Chrome in WebGL mode. Previously, this stopped working after Google changed their implementation.
  • 2D Overlays in WebGL are no longer drawn 'blurry' and are shown now more clearly in WebGL
  • Fixed a bug causing keyboard and mouse input not to work for extension behaviors sometimes for Cameras on the Windows .exe and Mac OS X .app targets.
  • Fixed a bug causing animated rotations (done by actions) not to work correctly under special circumstances
  • The effects example has been updated
  • In WebGL Target, fixed 3D sound node to play sound looped even if set to 'play once'
  • Updated the 'classic car' prefab with new textures

New in CopperCube 5.0.2 (Nov 5, 2014)

  • Oculus Rift DK2 support (beta)
  • Video playback on WebGL now also works with correct sized videos when playing back Non-Power-Of-Two sized files.
  • Fixed a bug in the Android target where the "Load or Store Variable from disk" action won't save on some android devices.
  • Fixed a bug causing collision detection to stop working sometimes in WebGL when there where animated meshes placed into a terrain.
  • Fixed a bug causing special variables not to be saved sometimes when using the scripting API on the Windows .exe or Mac OS X .app target.

New in CopperCube 5.0.1 (Oct 15, 2014)

  • Fixed a bug causing the 'stand' an animation not to be played correctly sometimes when not all animations are set in the 'Controlled by Keyboard' behavior.
  • Fixed a bug causing slow performance on the Flash target when switching between scenes with many objects.
  • Fixed a bug causing a 2D overlay to be cloned incorrectly sometimes when mode is set to absolute size.
  • The scripting function 'editorAddSceneNode' now has the ability to create 2D overlays by using 'overlay2d' as paramter.

New in CopperCube 5.0 (Oct 1, 2014)

  • Terrain support:
  • The editor now includes a way to create and edit terrain. There is also a terrain generator, completely with trees and grass. Terrain can be drawn with height painting tools directly in the editor, textures can be painted quickly with automatic texture blending into the terrain. There are also tools for placing grass and bushes, and for distributing meshes automatically over the terrain.
  • Physics engine:
  • It can be switched on for the Windows and Mac OS X target in the publishing settings. There is also a new behavior available named 'Move object by physics engine' for making objects behave, collide and move like objects in the real world. Objects with the 'Collide when moved' behavior will also collide against those then and be able to move them, roll them over etc. There is also a way to react when an object collides with the world, for example to play sounds, and a way to manually apply forces to objects using scripting.
  • Video Playback in 2D and 3D:
  • The professional version of CopperCube now includes an action to play back videos on the Windows .exe, WebGL and Flash target. Videos can be played back in 2D and 3D (like on any 3D object in a scene), it is possible to influence playback with actions (play/stop/pause) and to react when the video playback has been finished or playback failed.
  • Network communication:
  • You can now easily do HTTP requests on all targets, in order to exchange data with game multiplayer servers, PHP/MySQL database backends, or whatever you like to. This feature is available as new JavaScript function named ccbDoHTTPRequest(), but there is also an action for doing this without programming for download from the website. This feature doesn't directly provide multiplayer support for your games, but it is now possible to build this yourself on top of this.
  • Added iOS 8 WebGL support:
  • Apps created with CopperCube and the WebGL target now also run on Apple devices (iPhone, iPad, ...) with iOS 8.
  • Shader programming:
  • You can create and add your own materials and shaders during runtime now using the JavaScript API. In the documentation, you will find a few examples showing you how to start. Note that this is nothing simple, and not for beginners. You need to know shader programming in order to use this feature.
  • Animation blending:
  • CopperCube now blends animations when switching between them. It is automatically enabled, but can be turned off or adjusted for every animated model manually in the editor or via script. This also means that you don't need to create perfect animation loops anymore. The engine will now automatically blend non-fitting animation loops together so that they look nice.
  • Attaching nodes to animated meshes:
  • This is useful for example to let characters carry weapons in their hands, to switch them dynamically, change how they look like, or for example to even attach particle systems to moving parts of an animation. Use the command "Modify Selection -> Attach node to animated joint..." for this.
  • Directional light:
  • This is useful for simulating light sources from a very far distance, like for simulating the sun. Directional light can now be used just as the already supported point lights both with the light mapper as well for dynamic lighting.
  • Procedurally generated trees:
  • There is a new scene node type available which generates a tree (a 3d model of a plant) based on user specified parameters. It is possible to create all kind of tree types from it, be it for example a full grown pine or a dead desert bush. This feature is beta, and not very user friendly yet, but planned to be improved in future versions.
  • Faster Lightmapper, with Mac OS X support:
  • The built-in lightmapper has been rewritten and is now much faster. Additionally, it now also works with shadows on the Mac OS X version of the editor, wich previsously only produced results with diffuse lighting only.
  • Optimized WebGL performance and compatibility:
  • Not only did we squeeze all these features into a tiny, 180KB .js file, we also improved the performance again by about 20% in certain areas, and improved compatibility with mobile and/or touch enabled WebGL capable browsers such as Chrome for Android.
  • Custom Icons for Windows Apps:
  • There is now a new option to select an icon for the windows target. Note that embedding the icon in your app might slow down the publishing process by a few seconds, depending on your operating system. (This feature is not supported in the Mac OS X version of CopperCube)
  • Manual Commands for the AI:
  • Use the function ccbAICommand() for this, so you can send any "Game actor with Health" to a specific location, command it to attack something, or similar.
  • 15 new prefabs:
  • 15 new prefabs added: 2 new animated characters (a soldier; a sleep walker), 2 weapons to be attached to animated characters: a shotgun and a pistol, 11 high quality, low poly prefabs created by Efe: a classic car, a bicycle, an armchair, an ancient statue, a book, a nightstand, a flowerpot, a lamp, two tables, a television.
  • and many other changes:
  • There is now a new command for converting a static mesh to an animated mesh (without animation). This is useful for ditributing huge amounts of static meshes over the terrain without much memory usage, since instances of animated meshes share their data and are culled more efficiently.
  • New, better looking examples come preinstalled with CopperCube now.
  • The 'object controlled by keyboard' behavior now has a more fine tuned animation playback system
  • The 'object controlled by keyboard' behavior now has the option to 'pause' after jumping, making the jumping feature look more like in some platform games.
  • The gravity value is now set per scene, in the root object of the scene.
  • Jumping in all behaviors is much nicer and more physically correct now. But this also means that you might have to adjust your jump settings in existing projects when upgrading to CopperCube 5.
  • Game AI movement is more smoother now
  • Scripting changes: New functions:
  • ccbCreateMaterial()
  • ccbSetShaderConstant()
  • ccbAICommand()
  • ccbSetPhysicsVelocity()
  • The following functions are now also available in the editor:
  • ccbGetCollisionPointOfWorldWithLine()
  • ccbDoesLineCollideWithBoundingBoxOfSceneNode()
  • Changed behavior:
  • ccbEndProgram() now closes the window in WebGL and Flash
  • When cloning nodes in the editor, also children will now get unique names and ids, and relinked with the behavior of the parent
  • 3D Editor change: When changing the parent child relation of a node, the position of the node is tried to be kept at the old position
  • 3D Editor change: When moving an object which is the child of a rotated parent object, movement will still move into the direction the arrows are pointing
  • When right-clicking onto a texture in the texture browser, there is now a command to save the texture as file to disk.
  • It's possible to use the mouse wheel in the prefabs window
  • Removed feature: It is no longer possible to target Flash players older than version 11
  • When switching the perspective, orthogonal views now place the camera more nicely.
  • The path tool new works a bit nicer when adding new path nodes.
  • Lots of updates to the documentation.

New in CopperCube 4.5.1 (Apr 17, 2014)

  • It only fixes a bug causing mouse and key events not to work on the root scene node in WebGL, Flash and Android. This was caused by the rewrite of the event system in version 4.5, and this small problem slipped through.

New in CopperCube 4.5 (Apr 9, 2014)

  • Added support for the Oculus Rift VR device. The professional edition of CopperCube now is able to create apps running with the Oculus Rift, DK1 and probably also newer. Support for this is beta only, but it already works nicely. It only works with the Windows .exe target, though. To use it, simply check the 'Oculus Rift support' checkbox and whereever you are using a first person shooter style camera in your app, the user has full control over it using the Rift.
  • WebGL and Flash fullscreen mode and mouse pointer locking is supported now. This is useful for nice first person shooter cameras, for example. There is a downloadable action for this available from here: http://www.ambiera.com/coppercube/action_extensions.html But also available as the new JavaScript function ccbSwitchToFullscreen(). Works in Chrome, Firefox and in IE (while only fullscreen is supported in IE)
  • WebGL now supports touch events. Meaning it also works nicely on Firefox and Chrome when using it on a touch screen device.
  • CopperCube now requires minimum Flash Player 11.2 when publishing as hardware accelerated Flash app. (Because that version introduced the now supported mouse pointer locking)
  • Redesigned internal key and mouse event handling system: These events are now handled instantly, previously they were processed during the next frame. For large, slow scenes, this could cause a small delay, sometimes. Also, with this change, it is now possible to do system calls in Flash and WebGL which rely on instant event processing for security reasons.
  • Default mode for redrawing in Flash and WebGL is now 'every frame' instead of 'when scene changed'

New in CopperCube 4.4 (Feb 27, 2014)

  • Added support for rendering grass patches, plants and other alpha channel based fake geometry like for example grating and similar:
  • Alpha channel materials now have an advanced setting named 'No alpha blending and render order independent'.
  • You can find this under 'Advanced settings' in the material combo box.
  • There is now a new action 'LoadTexture' available which uses the new loadTexture() feature mentioned below, so you can easily dynamically load new textures.
  • The command to "Reload and Verify Extensions" now also reloads plugin scripts for the editor. So it's no longer necessary to restart the editor while editing plugins, which simplifies developing plugins.
  • When cloning scene nodes, clones now also work with the same collision detection settings as their originals, meaning you can now build complex apps like level editors with CopperCube.
  • The loadTexture() script command now works in WebGL, Flash, Windows and Mac OS X apps. You can now easily set materials to any external texture files and urls using code like this for example:
  • var node = ccbGetSceneNodeFromName("cubeMesh1");
  • var tex = ccbLoadTexture("example.jpg");
  • ccbSetSceneNodeMaterialProperty(node, 0, "Texture1", tex);
  • Loading files from the web (like from "http://www.example.com/example.jpg") only works on WebGL and Flash, though.
  • Updated WebGL target to show clearer error messages for the latest Chrome and Firefox versions
  • The Windows target now is launched from CopperCube with the working directory it is created in. That way, access to additional sounds and images via scripts is much easier now.
  • Fixed a problem causing the model viewer camera to sometimes move up when the 'Vertical movement' flag is switched off.
  • Various updates to the documentation (more examples in the scripting reference, some more 3D model exporting tips, etc)
  • Various performance improvements on basically all publishing targets.

New in CopperCube 4.3 (Nov 15, 2013)

  • Changes:
  • CopperCube generated WebGL scenes now also work in Internet Explorer 11. That means WebGL now works in all major browsers.
  • CopperCube now includes its own local web server to serve WebGL and Flash content. Basically, if you hit "Test as WebGL" or "Test as Flash", the website and files are still opened in your local browser, but not served directly from the disk (via file:://), but through the CopperCube application (via http://), which acts as local web server.
  • This way, it is much easier to develop WebGL and Flash content with Chrome and IE, which are blocking local file access by default. Also, JavaScript extensions will run in the Flash target that way.
  • The WebServer can be disabled in the options dialog. This feature is currently only available in the Windows version of CopperCube.
  • Added support for the App menu key in the 'When key pressed do something' behavior. On Android, this works with the menu key.
  • Improved collision detection in WebGL, Flash and Android target. It is now not that easy to get stuck anymore.
  • Added some more animation exporting tips and other various updates to the documentation.
  • Bug fixes:
  • The property 'Name' in the JavaSCript API now also works on the WebGL, Flash and Android target, via ccbGetSceneNodeProperty and ccbSetSceneNodeProperty.
  • The ActionOnImpact in the Shoot action was previously also executed when the bullet reached the weapon range and didn't actually impact anywhere. This is fixed now.
  • The property 'AnimationSpeed' in the JavaScript API didn't work correctly on the WebGL, Flash and Android target, it ran 1000 times slower than on Windows and Mac OS X. This is fixed now.
  • Fixed a bug causing weired behavior when using multiple scenes in WebGL: Nodes with the same name but in different scenes would sometimes be confused with each other by various actions and behaviors and the scripting system.
  • Fixed a bug causing continuous scene switching when using a button in all scenes at the same position.

New in CopperCube 4.2.1 (Oct 10, 2013)

  • Google recently changed the location of the aapt tool in their Android SDK, this version of CopperCube is now aware of that. Also, should google again decide to move the tool with one of the next updates, CopperCube will search more intelligently and try to find it automatically.
  • Additionally, the WebGL target now also runs on Chrome for Android.

New in CopperCube 4.0.5 (Jun 21, 2013)

  • Character rendering on WebGL, Flash and Android has been optimized by introducing more aggressive culling algorithms.
  • You can now place a lot of 3d characters in your scene which won't slow it down unless all are shown on the screen at the same time.
  • For the WebGL target, an error is now displayed on the canvas if the browser doesn't support WebGL. This message can be changed in the generated .html code easily.
  • Firefox and Chrome have changed their ExternalInterface API for flash, causing the scripting not to work anymore. This is now updated and all scripting works again in these browsers.
  • Fixed a bug causing the 'Looped' flag of Play sound actions not to be saved and loaded correctly sometimes.
  • Fixed a bug causing the function ccbSetMeshBufferIndexValue not to be visible from JavaScript
  • Fixed a bug in the scripting engine of the WebGL target causing changing target and upvector of cameras not to work sometimes
  • Fixed a bug causing animated meshes sometimes not to be lighted correctly when rotated in the WebGL, Flash and Android targets
  • Fixed a bug causing hovered 2d overlays to be displayed in flash regardless of their hover setting
  • Fixed a bug causing the function 'ccbSetSceneNodePositionWithoutCollision' not to work in WebGL sometimes
  • Fixed a bug causing selected extension behavior properties not to be shown sometimes when the behavior was attached to the root
  • On the Android target, invokeAction() didn't work when called only with one parameter, this is fixed now.

New in CopperCube 4.0.4 (May 31, 2013)

  • This version includes the beta version of "CopperCube for game developers", basically an entirely new scripting system: All targets now support JavaScript scripting, using the same API. New behaviors and actions can now be added yourself, or downloaded from the website.
  • Other changes: Multitouch support on Android, WebGL speed improvements and ~50% improved download size, extended 'if' action, sound volume and collision details control via variables, improved COLLADA import, various bug fixes.
  • Details:
  • BETA
  • CopperCube now supports creating own actions and behaviors. Downloading new behaviors and actions from the internet is also possible now. These new behaviors are called 'scripted' behaviors and actions,and are written in JavaScript, and work on all publishing targets. Apart from a small performance penalty, these actions and behaviors work just like the already known ones.
  • BETA
  • Unified scripting interface. All publishing targets (Windows .exe, Mac OS X .app, WebGL app, Flash .swf and Android app) can now can be scripted using JavaScript with the same API. This means all code you write for extending your app will now work on all other targets.
  • BETA
  • New behaviors and actions: (all these are implemented the above mentioned new beta interface)
  • Simple 2D Jump'n'Run Player (Behavior): moves the node it is attached to only on the x axis, controlled by the cursor keys and with space for 'jump'
  • Set a random value (Action): Sets the content of a variable to a random value between specified boundaries
  • Fade screen (Action): Fades the whole screen to or from a color, and executes an action when finished.
  • Multitouch now supported for the Android target. This means more than one touch input control can now be used at the same time (like one for moving a character, one for jumping or fireing)
  • The file size of the WebGL .js code has been reduced by about 50%, startup time is now about 30% faster
  • The Android target is now also able to use the "Execute JavaScript" action, as all the other targets
  • The "if a variable has a value do something" action now has an optional second "else" action, executed when the condition is not true.
  • There is a new coppercube variable available named 'soundvolume' with which you can get or set the global sound volume in your app. Use it like: "system.soundvolume" in a variable action.
  • With the new coppercube variable named 'colsmalldistance', you can adjust the detailed collision behavior of the "Collide when moved" behavior. This affects how the ellipsoid is moved when colliding with a wall.
  • Affects movement smoothness and friction.
  • The JavaScript debugger window will no longer print repeating lines (unless manually printed) and is much clearly readable now
  • Improved COLLADA file importer: Now files refencing textures with invalid characters in them will be corrected and loaded correcly.
  • The flash and webgl FPS camera now behaves like the ones of most the other targets and doesn't support zooming by mouse wheel anymore. If you want to use zooming again, use the "camera zoom behavior" which can be downloaded from the CopperCube website.
  • When editing elements in the property window, the scene graph explorer won't scroll the element out of view anymore.
  • The plugin menu has been moved to be under the 'Edit' menu now
  • Fixed a problem causing model viewers not to work anymore in Chrome 27 in the WebGL target.
  • Fixed a bug causing overlay 2d nodes not to be cloneable on the flash target
  • Fixed a bug which caused the flash renderer not to sort transparent objects correctly sometimes

New in CopperCube 4.0.3 (Mar 13, 2013)

  • The game AI has been enhanced:
  • It is now possible to specify the amount of milliseconds the AI should take to wait between random patrol points or path points. Use the new property PatrolWaitTimeMs' for this.
  • There is now a new mode 'Follow path' for the AI to specify a walking path the AI should try to follow, instead of only randomly patrolling.
  • The AI is now a bit more intelligent: It notices more quickly now if an object blocks its way and stops moving then.
  • The 'follow path' behavior now has the option to execute an action once the path following has finished (or if looped, once per loop).
  • Fonts in WebGL appeared blurry on some systems. This is no longer the case.
  • The new WebGL loading flag (starting scene only when all textures loaded) now also waits with
  • music and 2D overlays until the textures are loaded.
  • Fixed a bug causing the 'reload scene' action not to work on the Android targets under special circumstances
  • Fixed a bug causing the 'Quit' action not to work on some Android devices
  • Fixed a bug causing complex operations with variables on Android not to work sometimes
  • Fixed a bug causing texture changes not to work sometimes on animated meshes in WebGL
  • Fixed a problem on the android target where values without decimals were printed to overlay 2d texts with decimals.
  • Fixed a problem causing clipped text on some android systems.

New in CopperCube 4.0.2 (Feb 22, 2013)

  • Editor changes:
  • When using the 'clone' command in the editor: if used on a node with actions and/or behaviors which referenced that same node, now the reference is changed in the clone to the cloned node automatically.
  • The same is now in effect for the 'copy behaviors' and 'paste behaviors' commands in the editor: If the pasted behaviors include a reference to the original owning scene node, these references will now be changed to the scene node the behaviors are pasted onto.
  • Changes in all targets:
  • The 'shoot' action now has a property named 'ShootPositionDisplacement' to specify a displacement start position for the shot. In this way, it is now possible to place exactly where the shot should start (for example from a weaponat a specific position in the 3d mesh)
  • The 'clone' action in generated apps now behaves differently: References to the same scene node are changed by the clone action in the clone to the cloned node automatically. This way, it is possible to define more complex behaviors and actions for cloned objects.
  • Android target changes:
  • Generated Android apps now prevent the device to go into sleep mode during loading
  • Previously, it was possible to get easier stuck with the 'collision' behavior in Android apps due to the low precision of some mobile processors. The precision has now been adjusted accordingly, and you cannot get stuck that easily anymore.
  • Sounds are now resumed when the app is paused and is resumed later.
  • WebGL target changes:
  • It is now possible to let the app only start when all textures are completely loaded. There is a new option in the publishing settings in the editor for this.
  • Flash target changes:
  • The documentation has been updated with the changed API on how to use scripting with Actionscript.
  • Bug fixes:
  • Fixed a bug causing android apps with the rendering mode "when scene changed" to draw a black screen initially when resumed.
  • Fixed a bug causing a possible crash when an imported animated 3D mesh as static mesh has a transparent material and the lightmapper is started for this mesh.
  • Fixed a bug causing the first person camera in fullscreen mode on some Mac OS X systems to not look correctly.
  • Fixed a bug causing the 'hide or unhide' action not to work on some mac systems
  • Fixed a problem causing some prefabs not loading their textures on Mac OS X
  • Fixed a bug causing CopperCube to crash when a plugin prints a string longer than 4 KB.
  • Fixed a small memory leak when drawing particle systems in WebGL
  • Fixed a bug causing the proximity behavior not to be cloned with the same radius.

New in CopperCube 4.0.1 (Jan 30, 2013)

  • The model viewer camera now has an option to enable zooming using the mouse wheel (or zoom gestures on android).
  • Android apps created by CopperCube now start much faster because of lazy texture loading.
  • Android apps created by CopperCube now only need about half of the memory as before when starting up. This means android apps can now be much bigger and more detailed.
  • When android apps run out of memory, there is a warning displayed about that now.
  • 2D Overlays no longer block first person camera input, as known from CopperCube 3. Only Touch Screen input nodes now do.
  • Fixed a bug causing problems creating android apps when the current Windows user name has spaces in it.
  • Fixed a bug causing the 3rd person camera not to follow the object correctly when the target is scaled.

New in CopperCube 4.0.0 (Jan 30, 2013)

  • CopperCube now supports creating Android apps:
  • Your 3D apps can now run on most Android Devices with Android version 2.2 or newer. You can freely publish or sell those apps. To do this, you only need to download the free Android SDK from Google, set the paths to it correcty in CopperCube and hit 'publish as Android'.
  • It is now possible to create Particle Systems:
  • With this, you can easily create fire, smoke, rain, fountains, fog, and much more.
  • Touch screen support for mobile devices:
  • There is now a "2D Touch Screen Input" scene node, which behaves like a 2D Overlay, and emulates a small joystick on the touch screen. It can be used to simulate input on mobile devices, both for cursor keys as well for ordinary keys. With this, it is possible to make your games also run on tablets, phones and other.
  • All publishing targets now support customizable loading screens:
  • The text and color of the loading screen can be changed in the publishing settings. This means also that you no longer need to build your own flash preloader .swf.
  • Multiline text is now supported in the Overlay2D node:
  • Including automatic word wrap for very long, non-line breaked content. The editor now also has a big text edit field for entering such long texts.
  • The actions and behaviors have been extended to make it possible to create more complex games:
  • Car driving games are now possible as well as games which need to create game objects on the fly, or need to dynamically delete objects.
  • There is now a new 'clone object' action, which makes it possible to create copies of an existing object.
  • You can for example create an invisible enemy object, and use this as template to create multiple copies of it during the game, at random positions, in order to create enemies for the player dynamically. Another example: You can create copies of a precreated invisible particle system for showing impact explosions when a bullet hit a certain object or a wall.
  • The new 'delete object' action removes any object permanently from the scene, optionally also delayed.
  • The 'change position of a scene node' action now is able to set the position to a random area, or to the position of the last weapon bullet impact, in order to create impact effects easily.
  • The "object controlled by keyboard" behavior now also supports an acceleration and decereration value, making it possible to easily create vehicle like behavior.
  • The "collides when moved" behavior now has an 'UseInclination' checkbox. Enable this for example when controlling vehicles, they will then align correctly with the ground below them.
  • The editor now has a "Set vertex colors..." command. With this, you can easily change the color of any 3d mesh object.
  • There is now a new command line option for the editor to execute some plugin scripting code, if wished. Use -runscript:foobar(); to do this.
  • There are four new example apps which come with CopperCube
  • There are few new prefabs available in the prefab folder
  • The action to move an object into the facing direction now also works with cameras.
  • The editor now highlights nodes in the scene graph explorer when they have been selected in a 3D view
  • And a lot more smaller improvements and minor features.

New in CopperCube 3.5.1 (Sep 24, 2012)

  • Added support for saving temporary variables through the Flash API.
  • Fixed a bug causing linking actions and behaviors to the first object imported into a new scene not to work in the Flash target.

New in CopperCube 3.5 (Aug 17, 2012)

  • CopperCube now supports unicode. This means you can now write 2D overlay texts with more characters than just the latin character set (like Russian, Japanese, etc), and also use filenames with those characters in them. Importing sounds, meshes, textures, etc with unicode names is now possible as well as publishing to files with unicode characters in them.
  • Redesigned the user interface: There are now new and bigger icons everywhere and the toolbars are also more descriptive and more easily accessible.
  • There are now two new commands for copying and pasting behaviors of nodes to other nodes. Right-click a node and select 'Modify Selection' -> 'Copy Behaviors of this Node' or 'Paste Behaviors to this Node'. The shortcuts Ctrl+B and Ctrl+J do the same.
  • There are now two new special variables: 'damage' and 'movementspeed', in addition to the already existing 'health'. You can change the damage and the speed of all game AIs with this, and the speed of various movement controllers as well, during runtime. This is useful for example for setting new weapons or enabling powerups during gameplay.
  • These variables are now documented in the bottom of the actions page of the documentation.
  • Fixed a bug in the physics engine, causing objects to fall trough sometimes in bigger 3D worlds in Flash and WebGL.
  • Fixed a bug causing transparent animated meshes not to appear sometimes in WebGL and Flash.
  • Fixed a bug causing 2d overlays to animated when the mouse was over them, even if this feature was disabled for this overlay.

New in CopperCube 3.1.0 (Jul 6, 2012)

  • The material window will now group materials with similar properties, resulting in a much simpler way to change many materials at the same time. This feature can be disabled in the options again.
  • There is now the possibility of attaching any object to a camera, and this object will then rotate with the movement of the camera target. This is useful for example for using weapons in first person shooter controllers. To use this feature, simply drag any object as child of the camera in the scene graph explorer.
  • Dynamic lighting in WebGL and Flash have been improved. There was a chance that they still won't create the exact same result as in the Editor depending on the combination and amount of lights used, but this has been fixed now.
  • A new action 'Restart a scene' is now available. With it, you can restart a scene, meaning it resets all objects, textures and behaviors as they were in the beginning of the scene. This is useful for example for creating levels for a game, which can be reused or replayed, like then the player dies or for another, new game run.
  • It is now possible to access and change values of behaviors using only actions, during runtime. The names of these variables look like this: "name.attribute". Use for example player1.health for getting or changing the variable storing the health of the object with the game AI behavior of a scene node with the name 'player1'. This is also useful for example for displaying the current health in a 'Change 2D Overlay Text' action.
  • There is now a new behavior which can be added to the root scene node only, named "Before first drawing do something". This executes all actions added to it once when the scene is shown first. It can be useful to initialize variables in there, move the positions of some objects, or similar.
  • There is now a new checkbox 'DisableWithoutActiveCamera' in the 'Keyboard controlled object' behavior. Check this if the object should not be controlled by keyboard if there is currently no active 3rd person camera attached to this object. This is useful for pausing a game in 3rd person camera mode, or removing control of the object from the user.
  • Publishing scenes is much faster now for complex, animated scenes. Previously, this could take a while since CopperCube was still animating the scene in the background while publishing, this is no longer the case.
  • Reacting to pressed keyboard keys of Cameras or Objects controlled by keyboard wasn't possible in the Windows .exe and Mac OS X .app target, altough it worked in the Flash and WebGL target. This has been fixed now.
  • In the behavior window, if there is an action assigned to a behavior, the entry in the window now gives a short overview of what action is selected, instead of just the text .
  • First steps to support unicode (separate private beta build only).
  • Fixed a bug causing an endless loop when a 'shoot' action is used in the 'OnHit' handler of the game AI, which instantly hits another Game AI which then shoots again. The endless loop is now detected and prevented.
  • Fixed a bug causing animations not to be played in the 'Object controlled by keyboard' behavior, under special circumstances.
  • Fixed a bug causing CopperCube to crash when importing specific invalid .x files.
  • Fixed dialog to select new driver type if no DirectX was found on the system.
  • Fixed a bug causing stopping of sounds in WebGL not to work sometimes
  • Fixed a bug causing some animated .x files exported by UltimateUnwrap not to import correctly.
  • Fixed a crash caused when importing a Quake .bsp file without lightmaps
  • Fixed a bug causing animators in 3D scenes in WebGL to be started not with the correct start time.
  • Fixed a bug causing the editor to crash or behave weired when the root scene node is selected as target for the 3rd person controlled camera.
  • Fixed a bug where the game AI would hit only itself in the Direct shoot mode, in WebGL

New in CopperCube 3.0.3 (Mar 15, 2012)

  • Vertex colors are now supported when importing 3d models and publishing them as app, webgl or flash.
  • Fixed a bug causing problems when importing huge 3D files, from the formats .dae (collada), .ase, .ply, .dxf, .cob, .3ds, .lwo and scn.
  • Small performance improvements for WebGL and Flash Stage 3D.

New in CopperCube 3.0.2 (Jan 10, 2012)

  • Big WebGL target performance improvements
  • Text is now enterable again for 2D Overlays on the Mac OS X version of CopperCube. Fonts other
  • than the standard font are not displayable on the Mac OS X .app target, though.
  • Added a new example: Third person camera demo
  • Textures and prefabs are no longer copied to the temporary directory when starting CopperCube
  • on Mac OS X. Instead, all files are now directly used from the bundle.
  • Fixed a bug causing 3D sound in flash not to pan correctly
  • Fixed a bug causing the WebGL target to stop working when a Sound Stop event is used.
  • Fixed a bug causing the JavaScript function ccbReadFileContent to be named ccbLibReadFileContent instead.
  • Fixed a bug causing AnimatorOnProximity in the WebGL target not to call the function it was supposed to call
  • Fixed a bug causing the Field of View setting to be ignored for First person shooter cameras when
  • publishing to WebGL or Flash.
  • Fixed a bug causing the "Set Animation" action not to work properly on the WebGL target

New in CopperCube 3.0.1 (Oct 21, 2011)

  • Includes a few bug fixes with Flash and WebGL.

New in CopperCube 3.0.0 (Oct 17, 2011)

  • Adds dynamic lights for all targets, plugins, JavaScript as language for for Mac .app and Windows .exe, polygon editing tools in the editor, audio for WebGL target, double sided materials, new actions, improved model viewer camera, better 3rd person camera for indoor scenes, improved file importers

New in CopperCube 1.4.1 (Jun 18, 2010)

  • Added character animation support for the WebGL target.
  • Loading Collada .dae files now also works with invalid files written by some older versions of Google Sketchup
  • Added Quaternion support for the JavaScript API
  • Added a new function to the Flash/Flex API: ISimpleAPI.setSceneNodeParent() to change the parent of a scene node.
  • When writing out WebGL texture data, the file name extensions will no longer be changed. Previously, textures could have been named foobar.jpg1 instead of foobar.jpg, for example (now they are named foobar1.jpg).
  • Added a new prefab: Animated soldier

New in CopperCube 1.2.2 (Mar 18, 2010)

  • Added a new behavior: 'On Cursor moved over do something'. With this, it is for example possible to highlight scene nodes when the mouse cursor is over them. The behavior has an actions which get fired when the mouse cursor enters the scene node, and one when it leaves the node again.
  • The flash target now also supports multiple sky boxes. This is for example useful to create a skybox with an animated cloud layer: Simply create a base skybox and then a second one with a scale of (0.9, 0.9, 0.9), set all sides to transparent and add a rotation animator.
  • The 'create plane' command now has a new parameter: Texture repeat count, influencing tiling.
  • The webGL target now supports Collision Detection and response (for example using FPS cameras with collision)
  • Tooltips with the texture file name are now displayed in the material overview window.
  • Fixed a bug which caused the auto selection of camera aspect ratios not to work sometimes. When selecting [Auto (screen resolution)] as Aspect Ratio in a camera, this will now work correctly.
  • If you have an old scene created with CopperCube and the aspect ratio is still wrong, simply select the camera, select a random aspect ratio for it in the property window, and then select Auto again to correct your scene. (This is done for backwards compatibility)
  • Fixed a bug causing the 'when clicked do something' action not to trigger sometimes in the Flash target.

New in CopperCube 1.2.0 (Feb 10, 2010)

  • CopperCube now supports a third publishing target:
  • Next to Flash (.swf) and Windows (.exe) it is now also able to display scenes using pure JavaScript, via WebGL. No browser plugin is now necessary anymore. Although this feature is not yet supported by much browsers, it will be in the near future.
  • Quake 3 level import now improved: Extracting a .pk3 file and loading the .bsp from \maps will now usually work.
  • Fixed a bug causing execution to stop when running a JavaScript action locally causing a SandBox Security Error.
  • Fixed a bug in the .irr exporter, causing bounding boxes of selected scene nodes to appear in irrlicht.
  • The documentation .html has been made more clearly readable.
  • Included nicer Windows 7 style icon

New in CopperCube 1.1.3 (Feb 10, 2010)

  • You can now open .ccb files by double clicking them in the windows explorer.
  • It contains an exporter for .irr files. Those are Irrlicht scene files, probably interesting for some people using that 3d engine.

New in CopperCube 1.1.2 (Dec 17, 2009)

  • 2D overlays have been added. They can be used to show 2D images, buttons, text displays and similar over the 3D scene.
  • The Flash player of CopperCube now supports 3d rendering with a transparent background, known to flash developers as wmode=transparent. The option is avaliable in the Flash publishing options dialog.
  • Added a new action making it possible to switch to a new active camera
  • The action to change the position of a scene node now offers the possibility to change the position animated ( = moving the scene node to the final position over a time which can be specified).
  • There is now an action to modify the position of the camera target. It is also possible to modify the camera target animated.
  • The room mesh generator no longer creates the meshes mirrored.
  • Fixed crash when there is no DirectX9 installed on the users system.

New in CopperCube 1.1.0 (Nov 8, 2009)

  • CopperCube now supports skeletal animated characters / animated meshes. You can import them from .x, .b3d and .ms3d files. There is now also a small animation editor included in CopperCube for previewing and cutting animations of these meshes.
  • There is now a 'Professional' and a 'Light' CopperCube version. People who already bought Coppercube are automaticly upgraded to the 'Professional' version. You only need to re-enter your license key for this.
  • The texture manager window now supports adding multiple textures at once.
  • Importing CCB files now doesn't tranlate the content of these files anymore to the current view position.
  • There is now a 'Change Animation' action available which sets the current playing animation of animated meshes.
  • Added a new Action: 'Switch to scene' which switches to another scene in the running 3d environment.
  • Added new method to Actionscript 3 and Squirrel interface: AS3: setSceneNodePositionWithoutCollision() Squirrel: ccbLibSetSceneNodePositionWithoutCollision()
  • Added new method to ActionScript 3: rebuildCollisionGeometry(). This rebuilds the collision geometry for the current scene. This is useful for example when cloning or deleting scene nodes with the collision flag on.
  • Fixed a input problem in the flash version of Coppercube, mouse input is now a bit smoother
  • Fixed a bug with the hotspot being rendered when it was invisible
  • Fixed crash when cloning meshes imported from .x files
  • Fixed a bug causing billboard collisions when clicking not to work

New in CopperCube 1.0.4 (Jul 23, 2009)

  • Added support for 3D sounds