summaryrefslogtreecommitdiff
path: root/demos
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2014-09-15 11:33:30 -0300
committerJuan Linietsky <reduzio@gmail.com>2014-09-15 11:33:30 -0300
commit8cab401d08f8e25aa9b2dc710204785858ff3dbb (patch)
tree1a4cec868f937fb24d340ee33fbeba2f1c6fa9f2 /demos
parent1a2cb755e2d8b9d59178f36702f6dff7235b9088 (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.scnbin15257 -> 15248 bytes
-rw-r--r--demos/3d/mousepick_test/engine.cfg5
-rw-r--r--demos/3d/mousepick_test/icon.pngbin0 -> 2451 bytes
-rw-r--r--demos/3d/mousepick_test/mousepick.gd32
-rw-r--r--demos/3d/mousepick_test/mousepick.scnbin0 -> 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
index 785db19adc..1d7e5a4a70 100644
--- a/demos/3d/kinematic_char/level.scn
+++ b/demos/3d/kinematic_char/level.scn
Binary files differ
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
new file mode 100644
index 0000000000..264f991e15
--- /dev/null
+++ b/demos/3d/mousepick_test/icon.png
Binary files differ
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
new file mode 100644
index 0000000000..7ecac46a86
--- /dev/null
+++ b/demos/3d/mousepick_test/mousepick.scn
Binary files differ