弾を飛ばして、ぶつかった弾同士がくっつく動作を実現したい
Unity4入門書で詰まっているところを質問させてください。
鶏オブジェクトを弾として飛ばして、弾同士があたったらくっ付く、というJavaコードをC#で入力したのですが、弾同士がぶつかるだけで弾いて普通に落ちていってしまいます。
鶏弾をfab化して、このscriptを付け足し、publicのforceとtorqueに70,120を入力。
ちゃんとヒットが成立し、コンポーネントにデータが代入されたか確認するためPrintでデバックをした結果、70,120と設定した値が無事表示されました。
それでもCharacterJointが作れてないのか、分離して落ちていきます。どうすればよいでしょうか。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class StickBall : MonoBehaviour
{
public float force;
public float torque;
private CharacterJoint myjoint;
public void OnCollisionEnter(Collision other)
{
if (other.gameObject.tag == "Bullet")
{
if (myjoint == null)
{
myjoint = gameObject.AddComponent<CharacterJoint>();
myjoint.connectedBody = other.rigidbody;
myjoint.breakForce = force;
myjoint.breakTorque = torque;
print("breakForce=\n" + gameObject.GetComponent<CharacterJoint>().breakForce);
print("breakTorque=\n" + gameObject.GetComponent<CharacterJoint>().breakTorque);
}
}
}
}