facebook twitter hatena line email

「Unity/おすすめアセット/破壊オブジェクト」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(オブジェクトが接触した箇所で破壊させる)
行16: 行16:
 
==オブジェクトが接触した箇所で破壊させる==
 
==オブジェクトが接触した箇所で破壊させる==
 
VoronoiFragmenter.csを、以下のように一部修正する
 
VoronoiFragmenter.csを、以下のように一部修正する
 +
 
修正前
 
修正前
 
<pre>
 
<pre>

2023年4月4日 (火) 05:15時点における版

破壊アセット

WebGLで使える無料破壊アセット https://github.com/simplestargame/SimpleVoronoiFragmenter

使い方

  1. 適当にシーンを作る
  2. 3D/Cubeを新規で作る
  3. CubeのAddComponentからVoronoiFragmenterを追加
  4. VoronoiFragmenterのFragmentPrefabに、SimplestarGame/VoronoiFragmenter/Prefab/Fragment.prefabをドラッグして追加する
  5. MainCameraのAddComponentからSampleShooterを追加
  6. SampleShooterのMainCameraにMainCameraオブジェクトをドラッグ
  7. 動作させて、Cubeをクリックすうると破壊される

オブジェクトがピンクになる場合

Unity 2021.3.21f1以降か確認

オブジェクトが接触した箇所で破壊させる

VoronoiFragmenter.csを、以下のように一部修正する

修正前

namespace SimplestarGame
{
    public class VoronoiFragmenter : MonoBehaviour
    {
        internal void Fragment(RaycastHit hit)
        {

修正後

namespace SimplestarGame
{
    public class VoronoiFragmenter : MonoBehaviour
    {
        internal void Fragment(RaycastHit hit)
        {
            FragmentPoint(hit.point);
        }
        internal void FragmentPoint(Vector3 hitPoint)
        {
  1. ターゲットに接触するオブジェクト(Sphere)に、以下SphereColliderを追加する。
  2. ターゲット(Cube)のBoxColliderのIsTriggerにチェックを追加
using UnityEngine;
using SimplestarGame;
public class SphereCollider : MonoBehaviour
{
    void OnTriggerEnter(Collider collider)
    {
        if (collider.gameObject.name == "Cube")
        {
            if (collider.gameObject.TryGetComponent(out VoronoiFragmenter voronoiFragment))
            {
                voronoiFragment.FragmentPoint(collider.gameObject.transform.position);
            }
        }
    }