73 public static float scale = 1.0f;
93 if(atomnumber1 == -1 || atomnumber2 == -1){
94 Debug.LogError(
"Problem when initializing the bond as a cube");
104 Vector3 posAtom1 =
new Vector3(fposAtom1[0],fposAtom1[1],fposAtom1[2]);
105 Vector3 posAtom2 =
new Vector3(fposAtom2[0],fposAtom2[1],fposAtom2[2]);
111 Vector3 v_dist = posAtom2 - posAtom1 ;
112 float length = v_dist.magnitude ;
113 Vector3 lscale =
new Vector3(transform.localScale.x, transform.localScale.y, length);
114 this.transform.localScale = lscale ;
117 transform.position = (posAtom1 + posAtom2)/2.0f;
118 transform.LookAt(posAtom2);
120 Renderer rd = GetComponent<Renderer>();
121 rd.material.SetVector(
"_Pos1", posAtom1);
122 rd.material.SetVector(
"_Pos2", posAtom2);
127 rd.material.SetColor(
"_Color1", colorAtom1);
130 rd.material.SetColor(
"_Color2", colorAtom2);
132 Mesh mesh = GetComponent<MeshFilter>().mesh;
133 Vector3[] vertices = mesh.vertices;
134 Color32[] colors =
new Color32[vertices.Length];
136 Matrix4x4 localToWorld = transform.localToWorldMatrix;
139 for(
int i=0; i<vertices.Length; i++) {
140 pos = localToWorld.MultiplyPoint3x4(vertices[i]);
141 dist1 = Vector3.Distance(posAtom1, pos);
142 dist2 = Vector3.Distance(posAtom2, pos);
144 colors[i] = colorAtom1;
146 colors[i] = colorAtom2;
149 mesh.colors32 = colors;
150 GetComponent<MeshFilter>().mesh = mesh;
151 rd.material.shader = Shader.Find(
"Custom/Ribbons");
static float radiusFactor
static List< Color > atomsColorList
The color of each atom.
static List< float[]> atomsLocationlist
The coordinates of each atom.