void AddAtom(PDBAtom atomData) { GameObject atom = new GameObject(atomData.elementType.ToString() + atomData.atomNumber, typeof(MetaballNode)); atom.transform.SetParent(root); atom.transform.localPosition = pointCloudScale * atomData.localPosition; atom.GetComponent <MetaballNode>().baseRadius = blobSize * MoleculeUtility.SizeForElement(atomData.elementType); }
void EmitAtom(PDBAtom atomData) { ParticleSystem.EmitParams particle = new ParticleSystem.EmitParams(); particle.position = scale * atomData.localPosition; particle.velocity = Vector3.zero; particle.startLifetime = Mathf.Infinity; particle.startColor = palette.ColorForElement(atomData.elementType); particle.startSize = scale * atomSize * MoleculeUtility.SizeForElement(atomData.elementType); particle.randomSeed = (uint)atomData.index; emitter.Emit(particle, 1); }