Description
HOW TO USE:
- Unpack/Extract the .zip file
- You should now have 2 .zip files: "Q3D Behaviours.zip" & "Q3D Plugins.zip"
- Unpack both.
- Copy & paste anything from "Q3D Behaviours.zip" to: C:Program FilesConstruct 2exportershtml5behaviors
- Copy & paste anything from "Q3D Plugins.zip" to: C:Program FilesConstruct 2exportershtml5plugins
- Now launch Construct 2, the Q3D should now installed.
- Enjoy~
Q3D V-2.4
a 3D plugin suite for Construct 2 powered by three.js
Includes a total of 8 different plugins+ 3 behaviors for a huge variety of tasks from : Rendering, Models, 3D Collisions, 3D Sprites, Viewports, Raycasters, Lights, 3D Physics, Shaders, Morph Animation, Skeletal Animation, and tons of features for 3D game development in C2 for the web geared specifically to WebGL for great performance! Buy now and get future updates completely free! This plugin suite has hundreds upon hundreds of actions/conditions/expressions and properties available to developers, it's unprecedented for C2.
Q3D allows you to create entire 3D games, or supplement existing 2D games with 3D backgrounds or overlays. All programming is done in the Construct 2 event sheet, simplifying the task of 3D game development greatly compared to traditional three.js development.
Check out the TINY TANK demo for an idea of what's possible with the Q3D plugins!
TINY TANK DEMO ON GAMEJOLT
Check out some other demos of whats possible:
2D physics in 3D
Simple FPS controls
(Uses TiAm's mouselock plugin. Head model of LeePerrySmith available under CC license courtesty of triplegangers.com)
Morph animation demo
(Uses converted Quake 2 assets, move around with wasd and orient 3rd person camera with mouse. Made using physics behavior for movement)
Mobile Morph Demo
Morph animation demo optimized for newer touch devices (run smoothly in chrome on nexus 5)
Examples:
These are commented examples .capx files for those who have purchased the plugin, it is recommended users view them in the order they are placed here:
Download V-2.2 Examples
(simple FPS controls example requires mouselock plugin v0.5 (available on 2nd page) by TiAm Mouse Lock Plugin)
Changes:
- The changes in this patch are comprehensive, the major ones are outlined here, however there are many small changes and bugfixes that are not.
- Q3D has been updated to use the current latest three.js r71 version instead of the previous r69.
- Bugs relating to R-69/R-71 blender exporter have SHOULD be fixed (some may have been missed)
- A major bug was introduced with the "Destroy" optimizations when deleting object hierarchies since r189. This required a rewrite of the way destroying was handled, hopefully this is now fixed for good.
- Some issues with morph controller have been fixed. Also Q3D Morph Controller has been renamed "Q3D Morph Anim." so that it doesn't get cutoff in the "add behaviour" dialogue.
- You can now choose more "Editor Rep." Modes for Q3D Model to make laying things out easier. "Textured" uses the "DiffuseMap" animation to texture the model, and "LayoutIcon" uses the first frame of an animation you create called "LayoutIcon" as a graphic for identification.
- Many other small things have been changed/fixed, which may lead to strangeness in old projects moving to this update. I'd like to apologize if this affects you, however it was necessary. If there are issues migrating, please feel free to ask for advice.
Added:
- Q3D Models can now load in "geometries" created with Q3D Master "GEOMETRY" section actions.
- In order to use this functionality a few things should be kept in mind.
- Q3D Master has a section titled "Geometry". These actions allow for "custom" specified primitives to be generated at runtime.
- These actions create a geometry in memory, which is assigned a name you choose using the action, for example "Cube", "Custom1", etc. you decide! This name should be unique, and without special characters (especially no periods ".").
- To load a geometry in a Q3D Model, instead of specifying a model filename with extension, specify the geometry name with the extension ".geom". For example "Cube.geom", "Custom1.geom".
- If the geometry hasn't been created by a Q3D Master action yet, it will load in automatically when it is. This is similar to the way loading of models already works.
Q3D Oimo Physics Behaviour added. This behaviour allows for fully 3D physics and has a great variety of features which are too comprehensive to all list in this changelog.
- It suffices to say over 50 actions are available, and most features expected of a fast javascript physics engine!
- Although this plugin uses Oimo.js library, It is a custom fork with additional functionality which I carefully tweaked from the outdated main project on GitHub, so it should be quite performant.
- Because of the fact Q3D runs in javascript, this plugin only currently supports spheres/boxes, and has to cut some corners to achieve good performance. Nonetheless compound objects made of multiple primitives are possible using some actions.
- In the future support for collision with arbitrary meshes may be possible, however after thorough investigation I have not found any fast enough solutions yet that would not bog down the CPU in a javascript engine.
- Oimo was chosen over the more ubiquitous cannon.js because the communication layer between cannon (an emscripten port) and Q3D would have not been ideal, the choice was very difficult to make however i believe this was best, since this choice gives the best performance for game uses.
- The behaviour was made to resemble the C2 physics plugin closely, however there are many necessary differences both due to the differences between Oimo and Box2D, and the differences between 2D and 3D. Nonetheless this plugin has much more functionality to help make it more usable than the physics engine in C2 (which lacks many things).
- Some features may not work as expected. I've attempted to make things as simple as possible, but once again physics in 3D are very complex, so things like joints easily become confusing.
- I've fixed many bugs in the physics library already, however there may be some i have missed. If you experience weird behaviour it's best to work around it, however bug reports are welcome (Some things may not be simply fixed however)
Q3D Skeletal Anim. Behaviour added. This behaviour is quite weird by C2 standards. It is only meant to be applied to Q3D Models, and takes care of handling all skeletal control tasks. Any model that must have bones/and or/skeletal animation needs this behaviour.
- In most cases the "Bone Type-Index" property should not be changed. This value chooses the Q3D Bone type to associate to the specific model. The issue is that on export/shuffling of objects in the layout the index order MIGHT change, so having only one is best. Previously names were used but SDK limitations prevent this from working on export (a huge bummer)
- To use this Behaviour and skeletal animations in general, one Q3D Bone plugin MUST be added to the project, or else it wont work, keep reading the changelog for more details about the Q3D Bone plugin and how/why it's needed/used.
- This Behaviour works similarly to the Q3D Morph controller, managing multiple animations and tweening.
- Skeletal animations are complicated, so care should be taken not to over use them, as they have a high CPU cost. Having many skeletal animations run simultaneously will be slow, and optimizing this is something i'm looking into, however it is again very complex, so design considerations must be made rather than "make this faster" wishes that may not be possible to fulfill.
- The other properties of the behaviour control how animations are interpolated (speed vs. visual quality choices can be made here), and the other action relates to how bones are "fit" if colliders are being used. This is a good way to mock things up, play with the debug visibility on the Q3D Bones to investigate how the scaling works.
Q3D Bone added. This is essentially a "dummy object" that must be used in conjuction with Q3D Models with an applied Q3D Skeletal Anim. behaviour.
- The reasons for having a "Q3D Bone" are numerous, however this plugin behaves in strange ways that must be understood by the user. The reason is to work around C2, and with it, to maximize the usefulness of the skeletal animation system + construct 2.
- At least one Q3D Bone must be added to the project for you to be able to use the skeletal animation system, it is recommended you have only one since weird bugs can happen with more.
- On start of layout all Q3D Bones added to the layout are instantly destroyed.
- Under no circumstances should the "Destroy" action be called on Q3D Bones. This can ONLY AND ALWAYS CAUSE BUGS.
- Q3D Bones are created automatically anytime a Q3D Model with Q3D Skeletal Anim. behaviour and a proper three.js json model file with animations/skeletal info is used.
- Q3D Bones are destroyed automatically when their parent Q3D Model is destroyed. It is for this reason "destroying" bones is unecessary. The action only remains because it is FORCED to be there by the C2 SDK.
- Q3D Bones support collisions, and can be picked / managed like most C2 objects. This means that you can test for collisions for each bone, you can parent objects to bones, etc. This allows for very complex functionality to be simply implemented using C2's picking.
- Q3D Bones have various properties relating to debugging visualization, however in final projects to maximize performance it is best to make sure they have no debug created, and that they are invisible.
Sharing Widget
|
And here is the Keygen for Construct 2 (Business, Personal, Educational):
Torrent: Scirra Construct 2 (r212.2 s...gen & Crack [Latest Version]