简单粒子制作
按参考资源要求,制作一个粒子系统
参考资料
Particle System的配置如下:
设置子Particle System的主要设置如下:
制作完成粒子的如下:
使用 3.3 节介绍,用代码控制使之在不同场景下效果不一样
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ParticleSea : MonoBehaviour
{
public ParticleSystem particle;
private ParticleSystem.Particle[] particlesArray;
public int seaResolution = 50;
public float spacing = 0.5f;
public float noiseScale = 0.2f;
public float heightScale = 3f;
private float perlinNoiseAnimX = 0.01f;
private float perlinNoiseAnimY = 0.01f;
void Start()
{
particlesArray = new ParticleSystem.Particle[seaResolution * seaResolution];
particle.maxParticles = seaResolution * seaResolution;
particle.Emit(seaResolution * seaResolution);
particle.GetParticles(particlesArray);
}
void Update()
{
for (int i = 0; i < seaResolution; i++)
{
for (int j = 0; j < seaResolution; j++)
{
float zPos = Mathf.PerlinNoise(i * noiseScale + perlinNoiseAnimX, j * noiseScale + perlinNoiseAnimY) * heightScale;
particlesArray[i * seaResolution + j].position = new Vector3(i * spacing, zPos, j * spacing);
}
}
perlinNoiseAnimX += 0.01f;
perlinNoiseAnimY += 0.01f;
particle.SetParticles(particlesArray, particlesArray.Length);
}
}
效果如下:
演示视频:传送门