/// <summary> /// Set ParticleSystem noiseModule field value. /// </summary> /// <param name="particleSystem"></param> /// <param name="vgoModule"></param> protected virtual void SetModuleValue(ParticleSystem particleSystem, VGO_PS_NoiseModule vgoModule) { if (vgoModule == null) { return; } NoiseModule module = particleSystem.noise; module.enabled = vgoModule.enabled; module.separateAxes = vgoModule.separateAxes; if (vgoModule.separateAxes) { module.strengthX = VgoParticleSystemMinMaxCurveConverter.CreateMinMaxCurve(vgoModule.strengthX); module.strengthY = VgoParticleSystemMinMaxCurveConverter.CreateMinMaxCurve(vgoModule.strengthY); module.strengthZ = VgoParticleSystemMinMaxCurveConverter.CreateMinMaxCurve(vgoModule.strengthZ); module.strengthXMultiplier = vgoModule.strengthXMultiplier; module.strengthYMultiplier = vgoModule.strengthYMultiplier; module.strengthZMultiplier = vgoModule.strengthZMultiplier; } else { module.strength = VgoParticleSystemMinMaxCurveConverter.CreateMinMaxCurve(vgoModule.strengthX); module.strengthMultiplier = vgoModule.strengthXMultiplier; } module.frequency = vgoModule.frequency; module.scrollSpeed = VgoParticleSystemMinMaxCurveConverter.CreateMinMaxCurve(vgoModule.scrollSpeed); module.scrollSpeedMultiplier = vgoModule.scrollSpeedMultiplier; module.damping = vgoModule.damping; module.octaveCount = vgoModule.octaveCount; module.octaveMultiplier = vgoModule.octaveMultiplier; module.octaveScale = vgoModule.octaveScale; module.quality = vgoModule.quality; module.remapEnabled = vgoModule.remapEnabled; if (vgoModule.remapEnabled) { if (vgoModule.separateAxes) { module.remapX = VgoParticleSystemMinMaxCurveConverter.CreateMinMaxCurve(vgoModule.remapX); module.remapY = VgoParticleSystemMinMaxCurveConverter.CreateMinMaxCurve(vgoModule.remapY); module.remapZ = VgoParticleSystemMinMaxCurveConverter.CreateMinMaxCurve(vgoModule.remapZ); module.remapXMultiplier = vgoModule.remapXMultiplier; module.remapYMultiplier = vgoModule.remapYMultiplier; module.remapZMultiplier = vgoModule.remapZMultiplier; } else { module.remap = VgoParticleSystemMinMaxCurveConverter.CreateMinMaxCurve(vgoModule.remapX); module.remapMultiplier = vgoModule.remapXMultiplier; } } module.positionAmount = VgoParticleSystemMinMaxCurveConverter.CreateMinMaxCurve(vgoModule.positionAmount); module.rotationAmount = VgoParticleSystemMinMaxCurveConverter.CreateMinMaxCurve(vgoModule.rotationAmount); module.sizeAmount = VgoParticleSystemMinMaxCurveConverter.CreateMinMaxCurve(vgoModule.sizeAmount); }
/// <summary> /// Create VGO_PS_NoiseModule from NoiseModule. /// </summary> /// <param name="module"></param> /// <returns></returns> protected virtual VGO_PS_NoiseModule CreateVgoModule(NoiseModule module) { var vgoModule = new VGO_PS_NoiseModule() { enabled = module.enabled, separateAxes = module.separateAxes, frequency = module.frequency, scrollSpeed = VgoParticleSystemMinMaxCurveConverter.CreateFrom(module.scrollSpeed), scrollSpeedMultiplier = module.scrollSpeedMultiplier, damping = module.damping, octaveCount = module.octaveCount, octaveMultiplier = module.octaveMultiplier, octaveScale = module.octaveScale, quality = module.quality, remapEnabled = module.remapEnabled, positionAmount = VgoParticleSystemMinMaxCurveConverter.CreateFrom(module.positionAmount), rotationAmount = VgoParticleSystemMinMaxCurveConverter.CreateFrom(module.rotationAmount), sizeAmount = VgoParticleSystemMinMaxCurveConverter.CreateFrom(module.sizeAmount), }; if (module.separateAxes) { vgoModule.strengthX = VgoParticleSystemMinMaxCurveConverter.CreateFrom(module.strengthX); vgoModule.strengthY = VgoParticleSystemMinMaxCurveConverter.CreateFrom(module.strengthY); vgoModule.strengthZ = VgoParticleSystemMinMaxCurveConverter.CreateFrom(module.strengthZ); vgoModule.strengthXMultiplier = module.strengthXMultiplier; vgoModule.strengthYMultiplier = module.strengthYMultiplier; vgoModule.strengthZMultiplier = module.strengthZMultiplier; if (module.remapEnabled) { vgoModule.remapX = VgoParticleSystemMinMaxCurveConverter.CreateFrom(module.remapX); vgoModule.remapY = VgoParticleSystemMinMaxCurveConverter.CreateFrom(module.remapY); vgoModule.remapZ = VgoParticleSystemMinMaxCurveConverter.CreateFrom(module.remapZ); vgoModule.remapXMultiplier = module.remapXMultiplier; vgoModule.remapYMultiplier = module.remapYMultiplier; vgoModule.remapZMultiplier = module.remapZMultiplier; } } else { vgoModule.strengthX = VgoParticleSystemMinMaxCurveConverter.CreateFrom(module.strengthX); vgoModule.strengthXMultiplier = module.strengthXMultiplier; if (module.remapEnabled) { vgoModule.remapX = VgoParticleSystemMinMaxCurveConverter.CreateFrom(module.remapX); vgoModule.remapXMultiplier = module.remapXMultiplier; } } return(vgoModule); }