エラー事象
Unityでアセットを使っていたら、以下の警告が出てた時の対応方法です。
warning CS0618: ‘ParticleSystem.startSize’ is obsolete: ‘startSize property is deprecated. Use main.startSize or main.startSizeMultiplier instead.’
警告 CS0618: ‘ParticleSystem.startSize’ は廃止されました: ‘startSize プロパティは非推奨です。 代わりに main.startSize または main.startSizeMultiplier を使用してください。
非推奨の部分を書き換える必要があります。
利用したアセットは「52SpecialEffectPack」です。
色々なエフェクトが入っていてかなり重宝しています。
ただ、最後のリリースが2017年になっているので、
今となっては非推奨な書き方がになってしまっています。
修正前
foreach (ParticleSystem _ParticleSystem in ParticleSystems)
{
_ParticleSystem.startSpeed *= _Value;
_ParticleSystem.startSize *= _Value;
_ParticleSystem.gravityModifier *= _Value;
}
修正後
transform.localScale *= _Value;
foreach (ParticleSystem _ParticleSystem in ParticleSystems)
{
var main = _ParticleSystem.main;
main.startSpeed = new ParticleSystem.MinMaxCurve(0.0f, _Value);
main.startSize = new ParticleSystem.MinMaxCurve(0.0f, _Value);
main.gravityModifier = new ParticleSystem.MinMaxCurve(0.0f, _Value);
}
まとめ
floatとMinMaxCurveで型が合わず悩みました。
もっと良い修正方法があるかもしれませんが、
一応警告は出なくなって、意図した動作ができています。
コメント