私は調整可能なロープを統一して作ろうとしており、基本的には配列修飾子を作っていました。ヒンジBody.Connected Bodyを前回インスタンス化されたオブジェクトに設定する方法最後のインデックスを使用するリジッドボディ?
私は最後のインデックスを使用して最後のインスタンス化されたオブジェクトを取得できますが、現在のオブジェクトのヒンジジョイントを取得し、以前のオブジェクトの剛体を現在のオブジェクトに接続したボディに追加するにはどうすればよいですか?
public class Rope : MonoBehaviour {
public GameObject Segment1;
int segmentName = 1;
public int ropeLength; // length of rope
GameObject[] segmentArray; // stores gameobjects in array
Rigidbody[] segmentRb; // stores rigidbodys
HingeJoint[] segmentHj; // stores Hingjoints
Vector3 newSegmentLoc;
void Start() {
segmentArray = new GameObject[ropeLength];
SpawnSegment();
}
void Update() {
}
void SpawnSegment(){
void SpawnSegment(){
for (int i = 1; i < ropeLength; i++) {
segmentArray [i] = Instantiate (Segment1, newSegmentLoc, Quaternion.identity) as GameObject; // spawn in clones
segmentArray [i].transform.parent = this.transform; // set parent of clones
segmentArray [i].transform.name = segmentName.ToString(); // change the name of clones
segmentName++;
//int currentIndex = Array.IndexOf (segmentArray, segmentArray [i]);
float yLoc = segmentArray [i].transform.position.y;
newSegmentLoc = new Vector3 (0, yLoc - 1, 0);
//int lastIndex = Array.LastIndexOf (segmentArray, segmentArray [i]);
Rigidbody rb = segmentArray [i].gameObject.GetComponent<Rigidbody>();
HingeJoint hj = segmentArray [i - 1].gameObject.GetComponent<Rigidbody>().GetComponent<HingeJoint>();
hj.connectedBody = rb;
}
Destroy (Segment1);
}
}