Добавление силы к объектам, которые взаимодействуют с системой частиц C # - PullRequest
0 голосов
/ 18 сентября 2018

В настоящее время у меня есть система частиц, которая, как предполагается, представляет листовую воздуходувку. У меня есть эта работа, чтобы включить и выключить щелчки мыши.

Дело в том, что я хочу, чтобы он "сдувал" объекты с пути, как реалистичный листогенератор. Я слышал, что некоторые люди любят использовать AddForceAtPosition или что-то подобное, просто я не знаю, как его использовать.

В настоящее время я включаю и отключаю коробочный коллайдер, когда мой «листогенератор» включен, и при этом все, что касание коллайдера должно быть отброшено, но это приводит к различным игровым проблемам.

Вот мой код, с которым я работаю:

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

public class leafblower : MonoBehaviour {

private Rigidbody rb;
protected bool letPlay;
public ParticleSystem blow;
public Collider lcol;

// Use this for initialization
void Start () 
{
    rb = GetComponent<Rigidbody>();
    blow = GetComponent<ParticleSystem>();
    lcol.enabled = !lcol.enabled;
}

void LeafBlower()
{
    if (Input.GetKeyDown(KeyCode.Mouse1))
    {
        var isBlowing = blow.emission;
        isBlowing.enabled = true;
        lcol.enabled = !lcol.enabled;
    }
    else if (Input.GetKeyUp(KeyCode.Mouse1))
        {
            var isBlowing = blow.emission;
            isBlowing.enabled = false;
        lcol.enabled = !lcol.enabled;
    }

}
// Update is called once per frame
void Update()
{
    LeafBlower();
}
void FixedUpdate()
{

}

}

Какую силу я должен добавить или что я должен добавить в void OnCollisionEnter ()? Большое вам спасибо:)

1 Ответ

0 голосов
/ 18 сентября 2018

Что вам, вероятно, нужно, так это столкновение системы частиц OnParticleCollision. Пожалуйста, проверьте Unity Scripting API здесь: https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnParticleCollision.html

...