diff options
author | Juan Linietsky <reduzio@gmail.com> | 2014-09-15 11:33:30 -0300 |
---|---|---|
committer | Juan Linietsky <reduzio@gmail.com> | 2014-09-15 11:33:30 -0300 |
commit | 8cab401d08f8e25aa9b2dc710204785858ff3dbb (patch) | |
tree | 1a4cec868f937fb24d340ee33fbeba2f1c6fa9f2 /demos | |
parent | 1a2cb755e2d8b9d59178f36702f6dff7235b9088 (diff) |
3D Physics Rework, Other Stuff
-=-=-=-=-=-=-=-=-=-=-=-=-=-
3D Physics:
-Fixed "Bounce" parameter in 3D
-Fixed bug affecting Area (sometims it would not detect properly)
-Vehicle Body has seen heavy work
-Added Query API for doing space queries in 3D. Needs some docs though.
-Added JOINTS! Adapted Bullet Joints: and created easy gizmos for setting them up:
-PinJoint
-HingeJoint (with motor)
-SliderJoint
-ConeTwistJoint
-Generic6DOFJoint
-Added OBJECT PICKING! based on the new query API. Any physics object now (Area or Body) has the following signals and virtual functions:
-input_event (mouse or multitouch input over the body)
-mouse_enter (mouse entered the body area)
-mouse_exit (mouse exited body area)
For Area it needs to be activated manually, as it isn't by default (ray goes thru).
Other:
-Begun working on Windows 8 (RT) port. Compiles but does not work yet.
-Added TheoraPlayer library for improved to-texture and portable video support.
-Fixed a few bugs in the renderer, collada importer, collada exporter, etc.
Diffstat (limited to 'demos')
-rw-r--r-- | demos/3d/kinematic_char/level.scn | bin | 15257 -> 15248 bytes | |||
-rw-r--r-- | demos/3d/mousepick_test/engine.cfg | 5 | ||||
-rw-r--r-- | demos/3d/mousepick_test/icon.png | bin | 0 -> 2451 bytes | |||
-rw-r--r-- | demos/3d/mousepick_test/mousepick.gd | 32 | ||||
-rw-r--r-- | demos/3d/mousepick_test/mousepick.scn | bin | 0 -> 38194 bytes |
5 files changed, 37 insertions, 0 deletions
diff --git a/demos/3d/kinematic_char/level.scn b/demos/3d/kinematic_char/level.scn Binary files differindex 785db19adc..1d7e5a4a70 100644 --- a/demos/3d/kinematic_char/level.scn +++ b/demos/3d/kinematic_char/level.scn diff --git a/demos/3d/mousepick_test/engine.cfg b/demos/3d/mousepick_test/engine.cfg new file mode 100644 index 0000000000..093999a87a --- /dev/null +++ b/demos/3d/mousepick_test/engine.cfg @@ -0,0 +1,5 @@ +[application] + +name="3D Mouse Picking Test" +main_scene="res://mousepick.scn" +icon="res://icon.png" diff --git a/demos/3d/mousepick_test/icon.png b/demos/3d/mousepick_test/icon.png Binary files differnew file mode 100644 index 0000000000..264f991e15 --- /dev/null +++ b/demos/3d/mousepick_test/icon.png diff --git a/demos/3d/mousepick_test/mousepick.gd b/demos/3d/mousepick_test/mousepick.gd new file mode 100644 index 0000000000..cf3d9f1e4e --- /dev/null +++ b/demos/3d/mousepick_test/mousepick.gd @@ -0,0 +1,32 @@ + +extends RigidBody + +# member variables here, example: +# var a=2 +# var b="textvar" + +var gray_mat = FixedMaterial.new() + +var selected=false + +func _input_event(event,pos,normal,shape): + if (event.type==InputEvent.MOUSE_BUTTON and event.pressed): + if (not selected): + get_node("mesh").set_material_override(gray_mat) + else: + get_node("mesh").set_material_override(null) + + selected = not selected + + +func _mouse_enter(): + get_node("mesh").set_scale( Vector3(1.1,1.1,1.1) ) + +func _mouse_exit(): + get_node("mesh").set_scale( Vector3(1,1,1) ) + +func _ready(): + # Initalization here + pass + + diff --git a/demos/3d/mousepick_test/mousepick.scn b/demos/3d/mousepick_test/mousepick.scn Binary files differnew file mode 100644 index 0000000000..7ecac46a86 --- /dev/null +++ b/demos/3d/mousepick_test/mousepick.scn |