private void Start() { model = GetComponent <ModalModel>(); forceVector = Vector <double> .Build .Dense(gainMatrixT.ColumnCount); modeGainsP = Vector <zdouble> .Build .Dense(model.ModesUsed, new zdouble(0, 0)); modeGainsM = Vector <zdouble> .Build .Dense(model.ModesUsed, new zdouble(0, 0)); //modeGains = Vector<double>.Build // .Dense(model.ModesUsed); modeGains = new zdouble[model.ModesUsed]; maab = new MeshAABBSearch(modalMesh); contacts = new ContactPoint[MAXCP]; lastVertices = new int[] { 0 }; AudioSettings.GetDSPBufferSize(out audioBufferSize, out int dummy); sampleRate = AudioSettings.outputSampleRate; auxAudioBuffer = new zdouble[audioBufferSize]; dspStartTime = AudioSettings.dspTime; startTime = Time.time; imp = new ImpactResonatorGenerator(model); // Flag to signal the audiothread that it can // attempt to process samples (derived field) AudioObjReady = true; }
public ImpactResonatorGenerator(ModalModel model) { this.model = model; dt = 1.0 / SampleRate; prevBuffer = new zdouble[model.ModesUsed, 2]; }