Unity 6.3
0 онлайн 39 гостей 3 в системе
Вход

ParticleSystemRenderer.SetMeshWeightings

Declaration

public void SetMeshWeightings(float[] weightings, int size);
public void SetMeshWeightings(float[] weightings);

Параметры

Параметр Описание
весов Массив используемых весов.
размер Число элементов из массива весов, которые будут применены.

Описание

Задает веса, которые ParticleSystemRenderer использует для назначения мешей частицам.

ParticleSystemRenderer использует эти веса только если вы установили ParticleSystemRenderer.renderMode до ParticleSystemRenderMode.Mesh и установили ParticleSystemRenderer.meshDistribution до ParticleSystemMeshDistribution.NonUniformRandom.

Веса относительны друг к другу, но могут иметь любое положительное значение. Например, если вы установите веса 6 и 3, ParticleSystemRenderer случайным образом выберет первую сетку примерно в два раза чаще, чем вторую сетку. Наиболее интуитивно использовать проценты для весов и обеспечить, чтобы сумма весов составляла до 100, но это не обязательно.

using UnityEngine;
using System.Collections;

[RequireComponent(typeof(ParticleSystem))] public class ExampleClass : MonoBehaviour { private ParticleSystem ps; private ParticleSystemRenderer psr;

void Start() {

ps = GetComponent<ParticleSystem>(); psr = GetComponent<ParticleSystemRenderer>();

psr.renderMode = ParticleSystemRenderMode.Mesh; psr.meshDistribution = ParticleSystemMeshDistribution.NonUniformRandom; psr.SetMeshes(new Mesh[]{ Resources.GetBuiltinResource<Mesh>("Capsule.fbx"), Resources.GetBuiltinResource<Mesh>("Cube.fbx"), Resources.GetBuiltinResource<Mesh>("Sphere.fbx") }); psr.SetMeshWeightings(new float[]{ 0.1f, 0.1f, 0.8f }); }

void OnGUI() { GUI.Label(new Rect(25, 40, 200, 30), "Mesh Count: " + psr.meshCount.ToString()); } }