首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >粒子'energy‘不能再设置了

粒子'energy‘不能再设置了
EN

Stack Overflow用户
提问于 2018-06-08 13:46:21
回答 1查看 218关注 0票数 0

我有以下脚本,我不能转换成新的unity类。这个脚本是6-7年前写的,现在不能使用了。

它抛出一个关于Particle[]类的错误,因为它现在是'ParticleSystem.Particle[]

我只是设计师,不能转换这行到新的系统。任何帮助都将不胜感激。

代码语言:javascript
复制
using UnityEngine;

public class LightningBolt : MonoBehaviour
{
    public Transform target;
    public int zigs = 100;
    public float speed = 1f;
    public float scale = 1f;
    public Light startLight;
    public Light endLight;

    Perlin noise;
    float oneOverZigs;

    private Particle[] particles;

    void Start()
    {
        oneOverZigs = 1f / (float)zigs;
        particleEmitter.emit = false;

        particleEmitter.Emit(zigs);
        particles = particleEmitter.particles;
    }

    void Update ()
    {
        if (noise == null)
            noise = new Perlin();

        float timex = Time.time * speed * 0.1365143f;
        float timey = Time.time * speed * 1.21688f;
        float timez = Time.time * speed * 2.5564f;

        for (int i=0; i < particles.Length; i++)
        {
            Vector3 position = Vector3.Lerp(transform.position, target.position, oneOverZigs * (float)i);
            Vector3 offset = new Vector3(noise.Noise(timex + position.x, timex + position.y, timex + position.z),
                                        noise.Noise(timey + position.x, timey + position.y, timey + position.z),
                                        noise.Noise(timez + position.x, timez + position.y, timez + position.z));
            position += (offset * scale * ((float)i * oneOverZigs));

            particles[i].position = position;
            particles[i].color = Color.white;
            particles[i].energy = 1f;
        }

        particleEmitter.particles = particles;

        if (particleEmitter.particleCount >= 2)
        {
            if (startLight)
                startLight.transform.position = particles[0].position;
            if (endLight)
                endLight.transform.position = particles[particles.Length - 1].position;
        }
    }   
}
EN

回答 1

Stack Overflow用户

发布于 2018-06-08 17:40:36

替换

代码语言:javascript
复制
particles[i].energy = 1f;

使用

代码语言:javascript
复制
particles[i].remainingLifetime = 1f;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50754086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档