【发布时间】:2023-03-03 03:31:02
【问题描述】:
我正在尝试使用滑块动态调整粒子大小,以及更改它们的颜色。
粒子用于在 3D 散点图中显示数据点。我正在使用此代码:https://github.com/PrinzEugn/Scatterplot_Standalone
private ParticleSystem.Particle[] particlePoints;
void Update () {
pointScale = sizeSlider.value;
for (int i = 0; i < pointList.Count; i++) {
Quaternion quaternion = Camera.current.transform.rotation;
Vector3 angles = quaternion.eulerAngles;
// Set point color
particlePoints[i].startColor = new Color(angles.x, angles.y, angles.z, 1.0f);
particlePoints[i].transform.localScale = new Vector3(pointScale, pointScale, pointScale);
}
}
问题是粒子没有变换方法,改变“startColour”不会改变任何东西。
API 声明“粒子的当前大小是根据此值和活动大小模块按程序计算的。”
这是什么意思,我怎样才能改变粒子的大小?
【问题讨论】:
-
您到底想对尺寸做什么?您可以检查Particle.startSize 以在开始时为它们提供不同的尺寸......稍后它们会根据您的设置进行更改,例如SizeBySpeed 或 SizeOverLifetime
-
我希望用户能够使用滑块(或任何其他输入)调整它们的大小。
-
请确定您真正想要更改的内容是粒子大小还是粒子系统大小?第一个问题很简单,更改ParticleSystem.main.startSize 会有意义但看起来很奇怪。粒子系统外观不仅受大小影响,还要考虑速度、力、粒子数...