// -- Sprオブジェクトの構築を行う
    public override ObjectIf Build()
    {
        PHBallJointIf jo = gameObject.GetComponent <PHBallJointBehaviour>().sprObject as PHBallJointIf;

        if (jo == null)
        {
            return(null);
        }
        PHBallJointNonLinearMotorDesc d     = new PHBallJointNonLinearMotorDesc();
        PHBallJointNonLinearMotorIf   motor = jo.CreateMotor(PHBallJointNonLinearMotorIf.GetIfInfoStatic(), d) as PHBallJointNonLinearMotorIf;

        if (motor == null)
        {
            return(null);
        }
        arraywrapper_double s_double, d_double;

        for (int i = 0; i < 3; i++)
        {
            switch (values[i].springMode)
            {
            case 0:
                s_double = new arraywrapper_double(2);
                Copy(values[i].springParam, s_double, 2);
                break;

            case 1:
                s_double = new arraywrapper_double(4);
                Copy(values[i].springParam, s_double, 4);
                break;

            default:
                values[i].springMode = 0;
                s_double             = new arraywrapper_double(4);
                Copy(values[i].springParam, s_double, 4);
                break;
            }
            switch (values[i].damperMode)
            {
            case 0:
                d_double = new arraywrapper_double(2);
                Copy(values[i].damperParam, d_double, 2);
                break;

            case 1:
                d_double = new arraywrapper_double(4);
                Copy(values[i].damperParam, d_double, 4);
                break;

            default:
                values[i].damperMode = 0;
                d_double             = new arraywrapper_double(4);
                Copy(values[i].damperParam, d_double, 4);
                break;
            }
            motor.SetFuncFromDatabaseN(i, values[i].springMode, values[i].damperMode, s_double, d_double);
            print(i + " " + values[i].springMode + " " + values[i].damperMode + " " + s_double + " " + d_double);
        }
        return(motor);
    }
    // -- Sprオブジェクトの構築を行う
    public override ObjectIf Build()
    {
        PHBallJointIf jo = gameObject.GetComponent <PHBallJointBehaviour>().sprObject as PHBallJointIf;

        if (jo == null)
        {
            return(null);
        }

        PHHumanBallJointResistanceIf motor = jo.CreateMotor(PHHumanBallJointResistanceIf.GetIfInfoStatic(), (PHHumanBallJointResistanceDesc)desc) as PHHumanBallJointResistanceIf;

        return(motor);
    }