From e82dc402052a47b44bb3bcf50ee4801257f92778 Mon Sep 17 00:00:00 2001 From: Juan Linietsky Date: Mon, 27 Oct 2014 22:54:32 -0300 Subject: -Much improvement to baked light baker -Fixed many bugs in stretch mode -Fixes to camera project and unproject as consequence of the above -added setget to script (documented in script doc) -more fixes to collada exporter for blender --- scene/3d/visual_instance.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'scene/3d/visual_instance.cpp') diff --git a/scene/3d/visual_instance.cpp b/scene/3d/visual_instance.cpp index af535e139..398fbdea8 100644 --- a/scene/3d/visual_instance.cpp +++ b/scene/3d/visual_instance.cpp @@ -50,17 +50,24 @@ void VisualInstance::_notification(int p_what) { // CHECK ROOM Spatial * parent = get_parent_spatial(); Room *room=NULL; + bool is_geom = cast_to(); while(parent) { room = parent->cast_to(); if (room) break; - else - parent=parent->get_parent_spatial(); + + if (is_geom && parent->cast_to()) { + VS::get_singleton()->instance_geometry_set_baked_light_sampler(get_instance(),parent->cast_to()->get_instance()); + break; + } + + parent=parent->get_parent_spatial(); } + if (room) { VisualServer::get_singleton()->instance_set_room(instance,room->get_instance()); @@ -85,6 +92,7 @@ void VisualInstance::_notification(int p_what) { VisualServer::get_singleton()->instance_set_scenario( instance, RID() ); VisualServer::get_singleton()->instance_set_room(instance,RID()); VisualServer::get_singleton()->instance_attach_skeleton( instance, RID() ); + VS::get_singleton()->instance_geometry_set_baked_light_sampler(instance, RID() ); } break; -- cgit v1.2.3-70-g09d2