1. 실행 이미지

 

using System.Collections;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using Unity.VisualScripting;
using UnityEngine;

public class BamsongiController : MonoBehaviour
{
    private Rigidbody rb;
    private ParticleSystem particleSystem;
    void Start()
    {
        
        this.particleSystem = this.GetComponent<ParticleSystem>();
        this.rb = GetComponent<Rigidbody>();
        Shoot();
    }

    // Update is called once per frame
    void Update()
    {
        
    }
    private void OnCollisionEnter(Collision collision)
    {
        Debug.LogFormat("OnCollisionEnter: {0}", collision.gameObject.name);
        this.rb.isKinematic = true;
        this.particleSystem.Play();

    }

    private void Shoot()
    {
        this.rb.AddForce(new Vector3(0, 200, -2000));

    }
}

2. BamsongiController.cs

 

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

public class BamsongiGenerator : MonoBehaviour
{
    [SerializeField] private GameObject bamsongiGo;

    public float spawnDistance = 5f; // 카메라로부터의 생성 거리



    void Update()
    {

        // 마우스 왼쪽 버튼 클릭을 감지
        if (Input.GetMouseButtonDown(0))
        {
            // 마우스 클릭 위치를 월드 좌표로 변환
            Vector3 spawnPosition = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, spawnDistance));

            // 프리팹을 spawnPosition 위치에 생성
            GameObject spawnedObject = Instantiate(bamsongiGo, spawnPosition, Quaternion.identity);

        }
    }
}

3. BamsongiGenerator.cs

반응형

+ Recent posts