x


Snap to point

I've been trying to make a snapping system, so a number of empty gameObjects are defined 'ClippingPoints' and are tagged thus. I've been trying to make snapping work with this script, however, it's not working well - objects are snapping to really weird places. Here is the part where I define and place objects.

 function Place (){
     clippingPoints = GameObject.FindGameObjectsWithTag("ClippingPoint");
     print(clippingPoints.length);
     var position = transform.position;
      var distance = Mathf.Infinity;  
      var closest : GameObject; 
 
     for (var go : GameObject in clippingPoints) { 
     var diff = (go.transform.position - position);
     var curDistance = diff.sqrMagnitude; 
     
     
 
 if (curDistance < distance) { 
 closest = go; 
 distance = curDistance; 
 newPart.transform.Translate(offset);
 } 
 }
 if(distance < 1 ){
 if(snapping == true){
 newPart.position = closest.transform.position;
 //newPart.Translate(offset);
 }
 print (closest.transform.position);
 currentPart = false;
 }
more ▼

asked Jan 06, 2012 at 11:53 AM

Muzz5 gravatar image

Muzz5
1.3k 206 171 185

I think the code could be a bit more complete but I suspect the problem is related to you getting the information from transform.position, altering newPart.transform and then setting newPart.position (but if newPart is a transform, why did you call newPart.transform?)

Jan 06, 2012 at 01:09 PM Toeofdoom
(comments are locked)
10|3000 characters needed characters left

0 answers: sort voted first
Be the first one to answer this question
toggle preview:

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Topics:

x52

asked: Jan 06, 2012 at 11:53 AM

Seen: 1651 times

Last Updated: Jan 07, 2012 at 10:37 AM