From 6cd3355bebe1b55fb49ec658faa01c7c33ea3fc3 Mon Sep 17 00:00:00 2001 From: Campbell Barton <ideasman42@gmail.com> Date: Tue, 9 Aug 2011 10:25:05 +0000 Subject: [PATCH] fix for applying scatter to objects with transformation --- object_grease_scatter.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/object_grease_scatter.py b/object_grease_scatter.py index 867d68d61..4d6aeddb0 100644 --- a/object_grease_scatter.py +++ b/object_grease_scatter.py @@ -112,10 +112,15 @@ def _main(self, ray = obj.ray_cast closest_point_on_mesh = obj.closest_point_on_mesh + obj_mat = obj.matrix_world.copy() + obj_mat_inv = obj_mat.inverted() + # obj_quat = obj_mat.to_quaternion() + # obj_quat_inv = obj_mat_inv.to_quaternion() + DEBUG = False def fix_point(p): - hit, no, ind = closest_point_on_mesh(p) + hit, no, ind = closest_point_on_mesh(obj_mat_inv * p) if ind != -1: if DEBUG: return [p, no, None] @@ -294,8 +299,8 @@ def _main(self, inst_ob.location = 0.0, 0.0, 0.0 inst_ob.parent = obj_new - # important to set last - obj_new.matrix_world = obj.matrix_world + # align the object with worldspace + obj_new.matrix_world = obj_mat # BGE settings for testiing ''' -- GitLab