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.
This commit is contained in:
Binary file not shown.
5
demos/3d/mousepick_test/engine.cfg
Normal file
5
demos/3d/mousepick_test/engine.cfg
Normal file
@ -0,0 +1,5 @@
|
||||
[application]
|
||||
|
||||
name="3D Mouse Picking Test"
|
||||
main_scene="res://mousepick.scn"
|
||||
icon="res://icon.png"
|
||||
BIN
demos/3d/mousepick_test/icon.png
Normal file
BIN
demos/3d/mousepick_test/icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.4 KiB |
32
demos/3d/mousepick_test/mousepick.gd
Normal file
32
demos/3d/mousepick_test/mousepick.gd
Normal file
@ -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
|
||||
|
||||
|
||||
BIN
demos/3d/mousepick_test/mousepick.scn
Normal file
BIN
demos/3d/mousepick_test/mousepick.scn
Normal file
Binary file not shown.
Reference in New Issue
Block a user