【Unity】[파트 2]Blender로 만든 「cell fracture」의 파편을 Unity에 넣는다

10705 단어 블렌더Unity3DUnity
환경 메모
⭐️Mac OS Mojave 버전 10.14
⭐️Blender v2.79.6
⭐️Mac Book
⭐️Unity 2018.2.15f1

↓↓↓ 실제로 움직인 내용
htps : // 라고 해서 r. 코m/논온카 피바라/s타츠 s/1138793284648620032

🌈Unity🌈Blender로 만든 "cell fracture"의 파편을 Unity에 가져와 🌸Unity 측에서 ⛱️Collider⛱️와 💗Rigdbody💗를 설정하여 공을 맞춰 보았어요 😍 제대로 연주했다 ️ 굉장히 기분이 좋다~👍O(≧∇≦)O 예~이♪


1. 파편을 흩어지게 한다

#unity



자세한 내용은 아래 페이지를 참조

【Unity】[파트 1]Blender로 만든 "cell fracture"의 파편을 Unity에 넣는다

#Unity3D



2.FBX 형식으로 내보내기

#blender

피 c. 라고 r. 코 m / n dF2gq 1k0



3.Unity에서 FBX를 캡처

June 12, 2019



4. 파괴 전의 Cube와 파괴 후의 Cube를 나누는



htps : // 코 m / 논카 피바라 / ms / 4 세 52d6bf58cd486 A6A



5. 파괴 전 Cube에 Mesh Collide와 Riddbody 설정



6. 파괴 후의 Cube에도, 파편 모두에 Mesh Collide와 Rigdbody를 설정한다



7. 바닥에도 Collide 설정



8. 공에도 Collide 설정



파괴 전과 파괴 후의 오브젝트를, 숨기, 표시의 전환을 한다.

공이 파괴 전의 오브젝트에 닿으면, 파괴 전을 숨기고, 파괴 후의 오브젝트를 표시하도록(듯이) 했다.




ballScript.cs


using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ballScript : MonoBehaviour {
#pragma warning disable 0649
    [SerializeField] GameObject nomal_cube;
    [SerializeField] GameObject break_cube;
    // Use this for initialization
    void Start () {
        // 破壊キューブ 非表示
        break_cube.SetActive(false);
        // 破壊前のノーマルキューブ 表示
        nomal_cube.SetActive(true);
    }

    /// <summary>
    /// オブジェクト同士が衝突した瞬間に呼び出される
    /// Ons the collision enter.
    /// </summary>
    /// <param name="collision">Collision.</param>
    private void OnCollisionEnter(Collision collision)
    {
        // ボールと接触したらCubeを破壊
        if (collision.gameObject.tag == "normalCube")
        {
            Debug.Log("nomalCube");
            // 破壊前のノーマルキューブ
            nomal_cube.SetActive(false);
            // 破壊キューブ
            break_cube.SetActive(true);
        }
    }
}




9. 새로운 게임 오브젝트를 만들고 공을 던지는 스크립트 설정




PinkBreakScript.cs


using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PinkBreakScript : MonoBehaviour
{
#pragma warning disable 0649
    [SerializeField] GameObject ball;
    Rigidbody rig;
    float speed = 100f; //速度[m/s]


    void Start()
    {
        float x = ball.transform.position.x;
        float y = ball.transform.position.y;
        float z = ball.transform.position.z;
        // 右から左ボールを投げる
        x = x - speed;
        var velocity = new Vector3(x, y, z);
        // ボールのRigidbodyコンポーネントを取得する
        var rigid = ball.GetComponent<Rigidbody>();
        // Rigidbodyコンポーネントを使って初速を与える
        rigid.AddForce(velocity, ForceMode.VelocityChange);

    }
}



완성! !






유사한 내용

【Blender】Blender의 애드온 「cell fracture」로 돌이 흩어져 ~ 되는 것, 만들어 보았어.



【Blender】 충돌로 기세 좋게 튀는 시뮬레이션(cell fracture)



【Unity】[1부]Blender로 만든 "cell fracture"의 파편을 Unity에 넣는다


좋은 웹페이지 즐겨찾기