Quantcast
Channel: Latest Questions on Unity Answers
Viewing all articles
Browse latest Browse all 171066

Instantiating track in correct orientation

$
0
0
private int toSpawnTrack; //Track Locations Vectors private Transform currentTrackLocation; private Vector3 nextTrackLocation; public void generateTrack() { print ("generate Track Called"); ////////////////////////////////////////////////////////////////////////////////// // 1 = straight // 2 = Curve Left // 3 = Curve Right ////////////////////////////////////////////////////////////////////////////////// //Setting the location on next track in line if(toSpawnTrack == 1) { nextTrackLocation = currentTrackLocation.transform.TransformPoint(Vector3.forward * 10); } if(toSpawnTrack == 2) { nextTrackLocation = currentTrackLocation.transform.TransformPoint(Vector3.left * 10); } if(toSpawnTrack == 3) { nextTrackLocation = currentTrackLocation.transform.TransformPoint(Vector3.right * 10); } //toSpawnTrack = Random.Range(1,4); toSpawnTrack = 2; print("toSpawnTrack " + toSpawnTrack); //Spawn Straight Track if(toSpawnTrack == 1) { //Instancing the next track in line GameObject trackInstance = Instantiate(planeStraightPreFab, nextTrackLocation, Quaternion.identity) as GameObject; //Node position for a straight track Vector3 tempPos = trackInstance.gameObject.transform.TransformPoint(0,1,-5); nodesList[0] = tempPos; tempPos = trackInstance.gameObject.transform.TransformPoint(0,1,0); nodesList[1] = tempPos; tempPos = trackInstance.gameObject.transform.TransformPoint(0,1,5); nodesList[2] = tempPos; //Updateing of the current track location currentTrackLocation = trackInstance.transform; //Changing the name of the next iTween path so it does not conflict trackInstance.GetComponent().pathName = "InstPath" + trackCount.ToString(); print ("Spawned Straight Track"); } //Spawn Curved Left Track if(toSpawnTrack == 2) { Quaternion tempRot = currentTrackLocation.transform.rotation; print ("tempRot =" + tempRot); //tempRot = Quaternion.Euler(0,-90,0); //Instancing the next track in line GameObject trackInstance = Instantiate(planeCurvedLeft, nextTrackLocation, tempRot) as GameObject; //Node position for a straight track Vector3 tempPos = trackInstance.gameObject.transform.TransformPoint(0,1,-5); nodesList[0] = tempPos; tempPos = trackInstance.gameObject.transform.TransformPoint(0,1,0); nodesList[1] = tempPos; tempPos = trackInstance.gameObject.transform.TransformPoint(-5,1,0); nodesList[2] = tempPos; //Updateing of the current track location currentTrackLocation = trackInstance.transform; //Changing the name of the next iTween path so it does not conflict trackInstance.GetComponent().pathName = "InstPath" + trackCount.ToString(); print ("Spawned Curved Left Track"); } //Spawn Curved Right Track if(toSpawnTrack == 3) { //Instancing the next track in line GameObject trackInstance = Instantiate(planeCurvedRight, nextTrackLocation, Quaternion.Euler(Vector3.right)) as GameObject; //Node position for a straight track Vector3 tempPos = trackInstance.gameObject.transform.TransformPoint(0,1,-5); nodesList[0] = tempPos; tempPos = trackInstance.gameObject.transform.TransformPoint(0,1,0); nodesList[1] = tempPos; tempPos = trackInstance.gameObject.transform.TransformPoint(5,1,0); nodesList[2] = tempPos; //Updateing of the current track location currentTrackLocation = trackInstance.transform; //Changing the name of the next iTween path so it does not conflict trackInstance.GetComponent().pathName = "InstPath" + trackCount.ToString(); print ("Spawned Curved Right Track"); } //Changing the pos of the nodes to new position in relation to //the instanced prefab. //print ("1 " + nodesList[0]); //print ("2 " + nodesList[0]); //print ("3 " + nodesList[0]); trackCount++; pathSwitch(); } I'm trying to spawn the track so they will flow with each other. Right now only the straight path is working. When I attempt to spawn curved paths, the curved paths either do not align up or facing in a totally different direction. I know its a problem with the rotation of the object when instantiating them and can't seem to work out how to fix it.

Viewing all articles
Browse latest Browse all 171066

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>