[Unity(C#)] Particle 입자 하나만 추출하여 위치를 지정하는 방법

Particle


Particle에 대한 지식이 얕아서 늪에 빠졌어요.
아무도 같은 고통을 맛보지 못했으면 좋겠어요.
Particle의 매개 변수가 많기 때문에.
유니티를 처음 만났을 때는 보기만 해도 구역질이 났다.
그럼에도 불구하고 잘 사용하면 분명 편리하기 때문에 파악해도 손해가 없다.

거치다


유니티에서 불꽃놀이를 만들었지만 목소리가 귀에 들려 불협화음을 느꼈다.
그래서
① 불꽃놀이 장소 확보
② AudioSource가 있는 객체를 가져오는 위치로 이동
③ 오디오소스에서 음원 재생
이런 트렌드라면?그래서 해봤어요.

불꽃놀이


Particle로 불꽃놀이를 만드는 방법은 이쪽 → 불꽃놀이
알기 쉽게 정리했기 때문에 한 시간에 좋은 것을 완성할 수 있다.

입자


이번 방법을 간단히 요약하면...
① 불꽃 씨앗 1개(입자 1개) 띄우기
② 불꽃의 씨앗이 사라진다
③ 폭죽의 입자가 번진다
의 구성입니다.
이곳에 늪이 있는 주요 원인이 있다
불꽃놀이의 씨앗은 입자이기 때문에 일반적인 놀이 대상과 같다ゲームオブジェクト名.transform.position직위를 취득할 수 없습니다.
따라서 평소 직위를 얻는 방법에 비해 먼 길을 돌아야 한다.

입자 입자의 위치 획득 방법


AudioSource가 있는 게임 개체에 부착
    //花火の種のParticleSystem
    [SerializeField]
    ParticleSystem _particleSystem;

    ParticleSystem.Particle[] particles;

    int particleNum;

    void Start()
    {
        particles = new ParticleSystem.Particle[_particleSystem.emission.burstCount];
    }

    void Update()
    {
        //パーティクルの粒子が存在しているか確認
        if (_particleSystem.particleCount > 0)
        {
            particleNum = _particleSystem.GetParticles(particles);

            Vector3 particleSeedPosition = particles[0].position;

            this.gameObject.transform.position = particleSeedPosition;
        }
        else if (particleNum > 0 && _particleSystem.particleCount == 0)
        {
            //音源再生の処理
            particleNum--;
            AudioSource audioSource = this.gameObject.GetComponent<AudioSource>();
            audioSource.Play();
        }
    }
우선 ParticleSystem.Particle에 얻고 싶은 모든 입자를 넣는다.
이번에는 하나만 나오는 설정1이기 때문에 직접 써도 문제없다.

하면, 만약, 만약...
위 사진만 받으시면 됩니다. Count 아래 숫자만 받으시면 됩니다.
수조를 초기화할 때의 요소수_particleSystem.emission.burstCount를 주면 된다.
그리고 _particleSystem.GetParticles(particles)지정한 입자 시스템의 모든 입자를 얻을 수 있습니다.
Vector3 particleSeedPosition = particles[0].position;
마지막으로 particles의 index에서 시작하는 0을 지정합니다
입자의 위치가 완성되다.

GetParticles


스크립트 참조에도 기재되어 있다GetParticles 현재 생존 입자 얻기
시작 안에 호출하면 존재하지 않는 입자 가져오기 (취득)
순탄치 않다.

프레젠테이션



Audio Source가 같이 움직이는 거 알고 싶어요?
선례가 적다
오류가 없습니다.
잠깐만, 여기 깊은 늪이야...
이 늪에서 나오는 순간의 쾌감은 사람을 중독시킨다.

좋은 웹페이지 즐겨찾기