Compare commits
12 Commits
16bd5bfb6c
...
feature/At
Author | SHA1 | Date | |
---|---|---|---|
27ce4e14a8 | |||
9b7b156d7b | |||
f7a2cc4c88 | |||
cb0396e23c | |||
aca2898e8c | |||
1bf7031f32 | |||
5ca3d16a29 | |||
824a8fdbc6 | |||
807aa8c3c6 | |||
3777d06a0e | |||
c302d4c277 | |||
13c59458bb |
@ -158,6 +158,19 @@ TextureImporter:
|
|||||||
ignorePlatformSupport: 0
|
ignorePlatformSupport: 0
|
||||||
androidETC2FallbackOverride: 0
|
androidETC2FallbackOverride: 0
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: WebGL
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
spriteSheet:
|
spriteSheet:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
sprites: []
|
sprites: []
|
||||||
|
@ -158,6 +158,19 @@ TextureImporter:
|
|||||||
ignorePlatformSupport: 0
|
ignorePlatformSupport: 0
|
||||||
androidETC2FallbackOverride: 0
|
androidETC2FallbackOverride: 0
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: WebGL
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
spriteSheet:
|
spriteSheet:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
sprites: []
|
sprites: []
|
||||||
|
@ -158,6 +158,19 @@ TextureImporter:
|
|||||||
ignorePlatformSupport: 0
|
ignorePlatformSupport: 0
|
||||||
androidETC2FallbackOverride: 0
|
androidETC2FallbackOverride: 0
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: WebGL
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
spriteSheet:
|
spriteSheet:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
sprites: []
|
sprites: []
|
||||||
|
@ -158,6 +158,19 @@ TextureImporter:
|
|||||||
ignorePlatformSupport: 0
|
ignorePlatformSupport: 0
|
||||||
androidETC2FallbackOverride: 0
|
androidETC2FallbackOverride: 0
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: WebGL
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
spriteSheet:
|
spriteSheet:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
sprites: []
|
sprites: []
|
||||||
|
@ -158,6 +158,19 @@ TextureImporter:
|
|||||||
ignorePlatformSupport: 0
|
ignorePlatformSupport: 0
|
||||||
androidETC2FallbackOverride: 0
|
androidETC2FallbackOverride: 0
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: WebGL
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
spriteSheet:
|
spriteSheet:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
sprites: []
|
sprites: []
|
||||||
|
@ -158,6 +158,19 @@ TextureImporter:
|
|||||||
ignorePlatformSupport: 0
|
ignorePlatformSupport: 0
|
||||||
androidETC2FallbackOverride: 0
|
androidETC2FallbackOverride: 0
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: WebGL
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
spriteSheet:
|
spriteSheet:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
sprites: []
|
sprites: []
|
||||||
|
@ -348,10 +348,11 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 9f0ebc320a151d3408ea1e9fce54d40e, type: 3}
|
m_Script: {fileID: 11500000, guid: 9f0ebc320a151d3408ea1e9fce54d40e, type: 3}
|
||||||
m_Name: OpenXR Package Settings
|
m_Name: OpenXR Package Settings
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
Keys: 0100000007000000
|
Keys: 01000000070000000d000000
|
||||||
Values:
|
Values:
|
||||||
- {fileID: -2820601610673514729}
|
- {fileID: -2820601610673514729}
|
||||||
- {fileID: -7933880819051152802}
|
- {fileID: -7933880819051152802}
|
||||||
|
- {fileID: 2102387217465899027}
|
||||||
--- !u!114 &328694643663705065
|
--- !u!114 &328694643663705065
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -455,6 +456,21 @@ MonoBehaviour:
|
|||||||
company: Unity
|
company: Unity
|
||||||
priority: 0
|
priority: 0
|
||||||
required: 0
|
required: 0
|
||||||
|
--- !u!114 &2102387217465899027
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: b5a1f07dc5afe854f9f12a4194aca3fb, type: 3}
|
||||||
|
m_Name: WebGL
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
features: []
|
||||||
|
m_renderMode: 1
|
||||||
|
m_depthSubmissionMode: 0
|
||||||
--- !u!114 &2292148946669457467
|
--- !u!114 &2292148946669457467
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -38,7 +38,7 @@ RenderSettings:
|
|||||||
m_ReflectionIntensity: 1
|
m_ReflectionIntensity: 1
|
||||||
m_CustomReflection: {fileID: 0}
|
m_CustomReflection: {fileID: 0}
|
||||||
m_Sun: {fileID: 0}
|
m_Sun: {fileID: 0}
|
||||||
m_IndirectSpecularColor: {r: 0.3708985, g: 0.37837005, b: 0.3572253, a: 1}
|
m_IndirectSpecularColor: {r: 0.37311918, g: 0.3807398, b: 0.35872716, a: 1}
|
||||||
m_UseRadianceAmbientProbe: 0
|
m_UseRadianceAmbientProbe: 0
|
||||||
--- !u!157 &3
|
--- !u!157 &3
|
||||||
LightmapSettings:
|
LightmapSettings:
|
||||||
@ -332,6 +332,52 @@ CanvasRenderer:
|
|||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 136169417}
|
m_GameObject: {fileID: 136169417}
|
||||||
m_CullTransparentMesh: 1
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!1 &524575261
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 524575263}
|
||||||
|
- component: {fileID: 524575262}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: GameObject
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!114 &524575262
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 524575261}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 8c2433f4f2c3ba343851fdf3c660c21e, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
moleculeJson: {fileID: 4900000, guid: 3a11d0f923ae50c4d82ee1dda0f629a3, type: 3}
|
||||||
|
atomJson: {fileID: 4900000, guid: ab8f44086e6af6f48a38b7d7d595e9a2, type: 3}
|
||||||
|
--- !u!4 &524575263
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 524575261}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: -0.5532938, y: -1.3569599, z: -4.0075746}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!1 &534669303
|
--- !u!1 &534669303
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -1250,3 +1296,4 @@ SceneRoots:
|
|||||||
- {fileID: 693850230}
|
- {fileID: 693850230}
|
||||||
- {fileID: 732397232}
|
- {fileID: 732397232}
|
||||||
- {fileID: 534669306}
|
- {fileID: 534669306}
|
||||||
|
- {fileID: 524575263}
|
||||||
|
8
Assets/script/Atome.meta
Normal file
8
Assets/script/Atome.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: d277baeb8e7f7794fb44493815552a02
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
134
Assets/script/Atome/AtomeFactory.cs
Normal file
134
Assets/script/Atome/AtomeFactory.cs
Normal file
@ -0,0 +1,134 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public class AtomeFactory : MonoBehaviour{
|
||||||
|
|
||||||
|
public TextAsset jsonFile;
|
||||||
|
|
||||||
|
private static AtomeFactory instance;
|
||||||
|
|
||||||
|
private AtomesInformation atomeInJson;
|
||||||
|
|
||||||
|
private Dictionary<string, AtomeInformation> AtomeDictionary;
|
||||||
|
|
||||||
|
public AtomeFactory(TextAsset jsonFile){
|
||||||
|
AtomeFactory.instance = this;
|
||||||
|
AtomeDictionary = new Dictionary<string, AtomeInformation>();
|
||||||
|
atomeInJson = JsonUtility.FromJson<AtomesInformation>(jsonFile.text);
|
||||||
|
foreach (var atome in atomeInJson.atomes){
|
||||||
|
AtomeDictionary.Add(atome.symbol, atome);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static AtomeFactory getInstrance(){
|
||||||
|
if(AtomeFactory.instance == null){
|
||||||
|
Debug.LogError("no Json file");
|
||||||
|
}
|
||||||
|
return AtomeFactory.instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static AtomeFactory getInstrance(TextAsset jsonFile){
|
||||||
|
if(AtomeFactory.instance == null){
|
||||||
|
AtomeFactory.instance = new AtomeFactory(jsonFile);
|
||||||
|
}
|
||||||
|
return AtomeFactory.instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AtomeInformation createAtome(string symbol){
|
||||||
|
if(!AtomeDictionary.ContainsKey(symbol)){
|
||||||
|
Debug.LogError("Atome does not existe in json");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
AtomeInformation atome = AtomeDictionary[symbol];
|
||||||
|
|
||||||
|
return atome;
|
||||||
|
}
|
||||||
|
|
||||||
|
public GameObject createAnimatedAtome(string symbol) {
|
||||||
|
if(!AtomeDictionary.ContainsKey(symbol)){
|
||||||
|
Debug.LogError("Atome does not existe in json");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
AtomeInformation atomeinfo = AtomeDictionary[symbol];
|
||||||
|
GameObject Parent = new GameObject(atomeinfo.name);
|
||||||
|
int ElectronsNumber = atomeinfo.protons;
|
||||||
|
|
||||||
|
//Symbol
|
||||||
|
GameObject atome = CreateSymbolAnimation(atomeinfo);
|
||||||
|
atome.transform.parent = Parent.transform;
|
||||||
|
|
||||||
|
//Electrons
|
||||||
|
for (int i = 1; ElectronsNumber > 0; i++) {
|
||||||
|
int nbrElectronLayer = 2 * (i * i);
|
||||||
|
GameObject electrons = CreateElectronsAnimation(Mathf.Min(ElectronsNumber, nbrElectronLayer), (float)i);
|
||||||
|
electrons.transform.parent = Parent.transform;
|
||||||
|
ElectronsNumber -= nbrElectronLayer;
|
||||||
|
}
|
||||||
|
//rajouter electron == protons
|
||||||
|
return Parent;
|
||||||
|
}
|
||||||
|
|
||||||
|
private GameObject DrawCircle(float orbitRadius)
|
||||||
|
{
|
||||||
|
GameObject orbitCircle = new GameObject("Orbit Circle");
|
||||||
|
LineRenderer lineRenderer = orbitCircle.AddComponent<LineRenderer>();
|
||||||
|
lineRenderer.useWorldSpace = false;
|
||||||
|
lineRenderer.widthMultiplier = 0.05f; // Ajustez l'épaisseur de la ligne si nécessaire.
|
||||||
|
lineRenderer.positionCount = 100 + 1;
|
||||||
|
//Add Color
|
||||||
|
Color myColor = new Color(0, 0, 1, 1);
|
||||||
|
ColorUtility.TryParseHtmlString("#7F7F7F", out myColor);
|
||||||
|
orbitCircle.GetComponent<Renderer>().material.color = myColor;
|
||||||
|
|
||||||
|
for (int i = 0; i <= 100; i++)
|
||||||
|
{
|
||||||
|
float angle = i * 2 * Mathf.PI / 100;
|
||||||
|
float x = Mathf.Cos(angle) * orbitRadius;
|
||||||
|
float y = Mathf.Sin(angle) * orbitRadius;
|
||||||
|
|
||||||
|
lineRenderer.SetPosition(i, new Vector3(x, 0f, y));
|
||||||
|
}
|
||||||
|
return orbitCircle;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private GameObject CreateSymbolAnimation(AtomeInformation info) {
|
||||||
|
//Create GameObject
|
||||||
|
GameObject sphere = GameObject.CreatePrimitive(PrimitiveType.Sphere);
|
||||||
|
//Add information
|
||||||
|
sphere.name = info.symbol;
|
||||||
|
sphere.transform.position = new Vector3(0, 0, 0);
|
||||||
|
//Add Color
|
||||||
|
Color myColor = new Color(0, 0, 1, 1);
|
||||||
|
ColorUtility.TryParseHtmlString(info.representation.color, out myColor);
|
||||||
|
sphere.GetComponent<Renderer>().material.color = myColor;
|
||||||
|
|
||||||
|
return sphere;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private GameObject CreateElectronsAnimation(int electrons, float layer) {
|
||||||
|
GameObject ParentLayer = new GameObject("Electrons");
|
||||||
|
|
||||||
|
for (int i = 0; i < electrons; i++) {
|
||||||
|
float angle = i * Mathf.PI * 2 / electrons;
|
||||||
|
float x = Mathf.Cos(angle) * layer;
|
||||||
|
float z = Mathf.Sin(angle) * layer;
|
||||||
|
float y = 0f;
|
||||||
|
|
||||||
|
GameObject electron = GameObject.CreatePrimitive(PrimitiveType.Sphere);
|
||||||
|
electron.name = "Electron" + i;
|
||||||
|
electron.transform.position = new Vector3(x, y, z);
|
||||||
|
electron.transform.localScale = new Vector3(0.3f, 0.3f, 0.3f);
|
||||||
|
electron.transform.parent = ParentLayer.transform;
|
||||||
|
}
|
||||||
|
GameObject orbit = DrawCircle(layer);
|
||||||
|
orbit.transform.parent = ParentLayer.transform;
|
||||||
|
|
||||||
|
return ParentLayer;
|
||||||
|
}
|
||||||
|
}
|
@ -3,7 +3,7 @@ using System.Collections.Generic;
|
|||||||
using System;
|
using System;
|
||||||
|
|
||||||
[System.Serializable]
|
[System.Serializable]
|
||||||
public class Properties {
|
public class AtomeProps {
|
||||||
public string yeardiscovered;
|
public string yeardiscovered;
|
||||||
public string atomicmass;
|
public string atomicmass;
|
||||||
public string standardstate;
|
public string standardstate;
|
||||||
@ -25,7 +25,7 @@ public class AtomeInformation
|
|||||||
public string name;
|
public string name;
|
||||||
public int protons;
|
public int protons;
|
||||||
public int neutrons;
|
public int neutrons;
|
||||||
public Properties properties;
|
public AtomeProps properties;
|
||||||
public Representation representation;
|
public Representation representation;
|
||||||
}
|
}
|
||||||
|
|
@ -15,7 +15,7 @@
|
|||||||
"named_by": "Antoine Lavoisier"
|
"named_by": "Antoine Lavoisier"
|
||||||
},
|
},
|
||||||
"representation": {
|
"representation": {
|
||||||
"color": "##ffffff"
|
"color": "#ffffff"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -33,7 +33,7 @@
|
|||||||
"named_by": null
|
"named_by": null
|
||||||
},
|
},
|
||||||
"representation": {
|
"representation": {
|
||||||
"color": "##d9ebf7"
|
"color": "#d9ebf7"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -51,7 +51,7 @@
|
|||||||
"named_by": null
|
"named_by": null
|
||||||
},
|
},
|
||||||
"representation": {
|
"representation": {
|
||||||
"color": "##cc80ff"
|
"color": "#cc80ff"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -69,7 +69,7 @@
|
|||||||
"named_by": null
|
"named_by": null
|
||||||
},
|
},
|
||||||
"representation": {
|
"representation": {
|
||||||
"color": "##d9ffb3"
|
"color": "#d9ffb3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -87,7 +87,7 @@
|
|||||||
"named_by": null
|
"named_by": null
|
||||||
},
|
},
|
||||||
"representation": {
|
"representation": {
|
||||||
"color": "##ff6666"
|
"color": "#ff6666"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -105,7 +105,7 @@
|
|||||||
"named_by": null
|
"named_by": null
|
||||||
},
|
},
|
||||||
"representation": {
|
"representation": {
|
||||||
"color": "##666666"
|
"color": "#666666"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -123,7 +123,7 @@
|
|||||||
"named_by": null
|
"named_by": null
|
||||||
},
|
},
|
||||||
"representation": {
|
"representation": {
|
||||||
"color": "##4d4dff"
|
"color": "#4d4dff"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -141,7 +141,7 @@
|
|||||||
"named_by": null
|
"named_by": null
|
||||||
},
|
},
|
||||||
"representation": {
|
"representation": {
|
||||||
"color": "##ff4d4d"
|
"color": "#ff4d4d"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -159,7 +159,7 @@
|
|||||||
"named_by": null
|
"named_by": null
|
||||||
},
|
},
|
||||||
"representation": {
|
"representation": {
|
||||||
"color": "##99ffcc"
|
"color": "#99ffcc"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -177,7 +177,7 @@
|
|||||||
"named_by": null
|
"named_by": null
|
||||||
},
|
},
|
||||||
"representation": {
|
"representation": {
|
||||||
"color": "##b3b3cc"
|
"color": "#b3b3cc"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -195,7 +195,7 @@
|
|||||||
"named_by": null
|
"named_by": null
|
||||||
},
|
},
|
||||||
"representation": {
|
"representation": {
|
||||||
"color": "##ffcc99"
|
"color": "#ffcc99"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -213,7 +213,7 @@
|
|||||||
"named_by": null
|
"named_by": null
|
||||||
},
|
},
|
||||||
"representation": {
|
"representation": {
|
||||||
"color": "##b3b3cc"
|
"color": "#b3b3cc"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -231,7 +231,7 @@
|
|||||||
"named_by": null
|
"named_by": null
|
||||||
},
|
},
|
||||||
"representation": {
|
"representation": {
|
||||||
"color": "##999999"
|
"color": "#999999"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -249,7 +249,7 @@
|
|||||||
"named_by": "Thomas Thomson"
|
"named_by": "Thomas Thomson"
|
||||||
},
|
},
|
||||||
"representation": {
|
"representation": {
|
||||||
"color": "##ffcc66"
|
"color": "#ffcc66"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -267,7 +267,7 @@
|
|||||||
"named_by": null
|
"named_by": null
|
||||||
},
|
},
|
||||||
"representation": {
|
"representation": {
|
||||||
"color": "##cc6666"
|
"color": "#cc6666"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -285,7 +285,7 @@
|
|||||||
"named_by": null
|
"named_by": null
|
||||||
},
|
},
|
||||||
"representation": {
|
"representation": {
|
||||||
"color": "##d9ff66"
|
"color": "#d9ff66"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -303,7 +303,7 @@
|
|||||||
"named_by": null
|
"named_by": null
|
||||||
},
|
},
|
||||||
"representation": {
|
"representation": {
|
||||||
"color": "##66ff66"
|
"color": "#66ff66"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -321,7 +321,7 @@
|
|||||||
"named_by": null
|
"named_by": null
|
||||||
},
|
},
|
||||||
"representation": {
|
"representation": {
|
||||||
"color": "##b3b3cc"
|
"color": "#b3b3cc"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -339,7 +339,7 @@
|
|||||||
"named_by": null
|
"named_by": null
|
||||||
},
|
},
|
||||||
"representation": {
|
"representation": {
|
||||||
"color": "##ff9966"
|
"color": "#ff9966"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -357,7 +357,7 @@
|
|||||||
"named_by": null
|
"named_by": null
|
||||||
},
|
},
|
||||||
"representation": {
|
"representation": {
|
||||||
"color": "##99ccff"
|
"color": "#99ccff"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -375,7 +375,7 @@
|
|||||||
"named_by": null
|
"named_by": null
|
||||||
},
|
},
|
||||||
"representation": {
|
"representation": {
|
||||||
"color": "##e6e6e6"
|
"color": "#e6e6e6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -393,7 +393,7 @@
|
|||||||
"named_by": "Martin Heinrich Klaproth"
|
"named_by": "Martin Heinrich Klaproth"
|
||||||
},
|
},
|
||||||
"representation": {
|
"representation": {
|
||||||
"color": "##b3b3cc"
|
"color": "#b3b3cc"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -411,7 +411,7 @@
|
|||||||
"named_by": "Nils Gabriel Sefström"
|
"named_by": "Nils Gabriel Sefström"
|
||||||
},
|
},
|
||||||
"representation": {
|
"representation": {
|
||||||
"color": "##99ffcc"
|
"color": "#99ffcc"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
@ -1,49 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public class AtomeFactory : MonoBehaviour{
|
|
||||||
|
|
||||||
public TextAsset jsonFile;
|
|
||||||
|
|
||||||
private static AtomeFactory instance;
|
|
||||||
|
|
||||||
private AtomesInformation atomeInJson;
|
|
||||||
|
|
||||||
private Dictionary<string, AtomeInformation> AtomeDictionary;
|
|
||||||
|
|
||||||
public AtomeFactory(TextAsset jsonFile){
|
|
||||||
AtomeFactory.instance = this;
|
|
||||||
AtomeDictionary = new Dictionary<string, AtomeInformation>();
|
|
||||||
atomeInJson = JsonUtility.FromJson<AtomesInformation>(jsonFile.text);
|
|
||||||
foreach (var atome in atomeInJson.atomes){
|
|
||||||
AtomeDictionary.Add(atome.symbol, atome);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static AtomeFactory getInstrance(){
|
|
||||||
if(AtomeFactory.instance == null){
|
|
||||||
Debug.LogError("no Json file");
|
|
||||||
}
|
|
||||||
return AtomeFactory.instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static AtomeFactory getInstrance(TextAsset jsonFile){
|
|
||||||
if(AtomeFactory.instance == null){
|
|
||||||
AtomeFactory.instance = new AtomeFactory(jsonFile);
|
|
||||||
}
|
|
||||||
return AtomeFactory.instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
public AtomeInformation createAtome(string symbol){
|
|
||||||
if(!AtomeDictionary.ContainsKey(symbol)){
|
|
||||||
Debug.LogError("Atome does not existe in json");
|
|
||||||
}
|
|
||||||
AtomeInformation atome = AtomeDictionary[symbol];
|
|
||||||
|
|
||||||
return atome;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
25
Assets/script/FactoryTester.cs
Normal file
25
Assets/script/FactoryTester.cs
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class MoleculeFactoryTester: MonoBehaviour {
|
||||||
|
|
||||||
|
public TextAsset moleculeJson;
|
||||||
|
public TextAsset atomJson;
|
||||||
|
|
||||||
|
void Start(){
|
||||||
|
MoleculeFactory factory = MoleculeFactory.getInstrance(this.moleculeJson);
|
||||||
|
AtomeFactory atomeFactory = AtomeFactory.getInstrance(this.atomJson);
|
||||||
|
factory.setAtomFactory(atomeFactory);
|
||||||
|
GameObject mol = factory.createMolecule("O2");
|
||||||
|
GameObject mol2 = factory.createMolecule("H2O");
|
||||||
|
mol.transform.position = new Vector3(0,1,0);
|
||||||
|
GameObject mol3 = factory.createMolecule("C4H10");
|
||||||
|
mol3.transform.position = new Vector3(0,5,0);
|
||||||
|
//GameObject bon = GameOject.CreatePrimitive(PrimitiveType.)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
11
Assets/script/FactoryTester.cs.meta
Normal file
11
Assets/script/FactoryTester.cs.meta
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 8c2433f4f2c3ba343851fdf3c660c21e
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
8
Assets/script/Molecule.meta
Normal file
8
Assets/script/Molecule.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: daab5552b7014024c9b81a31c7eb0b12
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -93,6 +93,23 @@
|
|||||||
"meltingPoint": -138.3,
|
"meltingPoint": -138.3,
|
||||||
"boilingPoint": -0.5
|
"boilingPoint": -0.5
|
||||||
}
|
}
|
||||||
|
},{
|
||||||
|
"name": "Eau",
|
||||||
|
"formula": "H2O",
|
||||||
|
"atoms": [
|
||||||
|
{"element": "O", "geometry": [0.0, 0.0, 0.0]},
|
||||||
|
{"element": "H", "geometry": [1.2, 0.0, 0.0]},
|
||||||
|
{"element": "H", "geometry": [-1.2, 0.0, 0.0]}
|
||||||
|
],
|
||||||
|
"bonds": [
|
||||||
|
{"atoms": [0, 1], "order": 1},
|
||||||
|
{"atoms": [0, 2], "order": 1}
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"molecularMass": 18.01528,
|
||||||
|
"meltingPoint": 0.0,
|
||||||
|
"boilingPoint": 100.0
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
90
Assets/script/Molecule/MoleculeFactory.cs
Normal file
90
Assets/script/Molecule/MoleculeFactory.cs
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public class MoleculeFactory : MonoBehaviour{
|
||||||
|
|
||||||
|
public TextAsset jsonFile;
|
||||||
|
|
||||||
|
private AtomeFactory atomeFactory;
|
||||||
|
private static MoleculeFactory instance;
|
||||||
|
|
||||||
|
private Molecules moleculesInJson;
|
||||||
|
|
||||||
|
private Dictionary<string, Molecule> moleculesDictionary;
|
||||||
|
|
||||||
|
public MoleculeFactory(TextAsset jsonFile){
|
||||||
|
MoleculeFactory.instance = this;
|
||||||
|
moleculesDictionary = new Dictionary<string, Molecule>();
|
||||||
|
moleculesInJson = JsonUtility.FromJson<Molecules>(jsonFile.text);
|
||||||
|
foreach (var molecule in moleculesInJson.molecules){
|
||||||
|
moleculesDictionary.Add(molecule.formula, molecule);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static MoleculeFactory getInstrance(){
|
||||||
|
if(MoleculeFactory.instance == null){
|
||||||
|
Debug.LogError("no Json file");
|
||||||
|
}
|
||||||
|
return MoleculeFactory.instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static MoleculeFactory getInstrance(TextAsset jsonFile){
|
||||||
|
if(MoleculeFactory.instance == null){
|
||||||
|
MoleculeFactory.instance = new MoleculeFactory(jsonFile);
|
||||||
|
}
|
||||||
|
return MoleculeFactory.instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
public GameObject createMolecule (string formula){
|
||||||
|
if(!moleculesDictionary.ContainsKey(formula)){
|
||||||
|
Debug.LogError("molecules does not existe in json");
|
||||||
|
}
|
||||||
|
Molecule molecule = moleculesDictionary[formula];
|
||||||
|
GameObject sortie = new GameObject(molecule.name);
|
||||||
|
|
||||||
|
foreach (Atom atom in molecule.atoms) {
|
||||||
|
GameObject sphere = GameObject.CreatePrimitive(PrimitiveType.Sphere);
|
||||||
|
sphere.transform.parent = sortie.transform;
|
||||||
|
sphere.name = atom.element;
|
||||||
|
sphere.transform.localPosition = new Vector3(atom.geometry[0], atom.geometry[1], atom.geometry[2]);
|
||||||
|
AtomeInformation att = atomeFactory.createAtome(atom.element);
|
||||||
|
Color myColor = new Color(0, 0, 1, 1);
|
||||||
|
ColorUtility.TryParseHtmlString(att.representation.color, out myColor);
|
||||||
|
sphere.GetComponent<Renderer>().material.color = myColor;
|
||||||
|
}
|
||||||
|
foreach (Bond bond in molecule.bonds){
|
||||||
|
float atom1x = molecule.atoms[bond.atoms[0]].geometry[0];
|
||||||
|
float atom2x = molecule.atoms[bond.atoms[1]].geometry[0];
|
||||||
|
float atom1y = molecule.atoms[bond.atoms[0]].geometry[1];
|
||||||
|
float atom2y = molecule.atoms[bond.atoms[1]].geometry[1];
|
||||||
|
float atom1z = molecule.atoms[bond.atoms[0]].geometry[2];
|
||||||
|
float atom2z = molecule.atoms[bond.atoms[1]].geometry[2];
|
||||||
|
Vector3 vecAtom1 = new Vector3(atom1x, atom1y, atom1z);
|
||||||
|
Vector3 vecAtom2 = new Vector3(atom2x, atom2y, atom2z);
|
||||||
|
GameObject GObond = CreateCylinderBetweenPoints(vecAtom1,vecAtom2, 0.3f);
|
||||||
|
GObond.transform.parent = sortie.transform;
|
||||||
|
}
|
||||||
|
return sortie;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAtomFactory(AtomeFactory atomeFactory){
|
||||||
|
this.atomeFactory = atomeFactory;
|
||||||
|
}
|
||||||
|
|
||||||
|
private GameObject CreateCylinderBetweenPoints(Vector3 start, Vector3 end, float width){
|
||||||
|
var offset = end - start;
|
||||||
|
var scale = new Vector3(width, offset.magnitude / 2.0f, width);
|
||||||
|
var position = start + (offset / 2.0f);
|
||||||
|
|
||||||
|
var cylinderPrefab = GameObject.CreatePrimitive(PrimitiveType.Cylinder);
|
||||||
|
cylinderPrefab.transform.position = position;
|
||||||
|
cylinderPrefab.transform.rotation = Quaternion.identity;
|
||||||
|
cylinderPrefab.transform.up = offset;
|
||||||
|
cylinderPrefab.transform.localScale = scale;
|
||||||
|
return cylinderPrefab;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,59 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public class MoleculeFactory : MonoBehaviour{
|
|
||||||
|
|
||||||
public TextAsset jsonFile;
|
|
||||||
|
|
||||||
private static MoleculeFactory instance;
|
|
||||||
|
|
||||||
private Molecules moleculesInJson;
|
|
||||||
|
|
||||||
private Dictionary<string, Molecule> moleculesDictionary;
|
|
||||||
|
|
||||||
public MoleculeFactory(TextAsset jsonFile){
|
|
||||||
MoleculeFactory.instance = this;
|
|
||||||
moleculesDictionary = new Dictionary<string, Molecule>();
|
|
||||||
moleculesInJson = JsonUtility.FromJson<Molecules>(jsonFile.text);
|
|
||||||
foreach (var molecule in moleculesInJson.molecules){
|
|
||||||
moleculesDictionary.Add(molecule.formula, molecule);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static MoleculeFactory getInstrance(){
|
|
||||||
if(MoleculeFactory.instance == null){
|
|
||||||
Debug.LogError("no Json file");
|
|
||||||
}
|
|
||||||
return MoleculeFactory.instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static MoleculeFactory getInstrance(TextAsset jsonFile){
|
|
||||||
if(MoleculeFactory.instance == null){
|
|
||||||
MoleculeFactory.instance = new MoleculeFactory(jsonFile);
|
|
||||||
}
|
|
||||||
return MoleculeFactory.instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
public GameObject createMolecule (string formula){
|
|
||||||
if(!moleculesDictionary.ContainsKey(formula)){
|
|
||||||
Debug.LogError("molecules does not existe in json");
|
|
||||||
}
|
|
||||||
Molecule molecule = moleculesDictionary[formula];
|
|
||||||
GameObject sortie = new GameObject(molecule.name);
|
|
||||||
|
|
||||||
foreach (Atom atom in molecule.atoms) {
|
|
||||||
GameObject sphere = GameObject.CreatePrimitive(PrimitiveType.Sphere);
|
|
||||||
sphere.transform.parent = sortie.transform;
|
|
||||||
sphere.name = atom.element;
|
|
||||||
sphere.transform.localPosition = new Vector3(atom.geometry[0], atom.geometry[1], atom.geometry[2]);
|
|
||||||
//TODO: géré les laision
|
|
||||||
//TODO: géré la taille de l'atome
|
|
||||||
//TODO: géré la couleur de l'atome
|
|
||||||
}
|
|
||||||
return sortie;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
53
Assets/script/New Animation.anim
Normal file
53
Assets/script/New Animation.anim
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!74 &7400000
|
||||||
|
AnimationClip:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: New Animation
|
||||||
|
serializedVersion: 7
|
||||||
|
m_Legacy: 0
|
||||||
|
m_Compressed: 0
|
||||||
|
m_UseHighQualityCurve: 1
|
||||||
|
m_RotationCurves: []
|
||||||
|
m_CompressedRotationCurves: []
|
||||||
|
m_EulerCurves: []
|
||||||
|
m_PositionCurves: []
|
||||||
|
m_ScaleCurves: []
|
||||||
|
m_FloatCurves: []
|
||||||
|
m_PPtrCurves: []
|
||||||
|
m_SampleRate: 60
|
||||||
|
m_WrapMode: 0
|
||||||
|
m_Bounds:
|
||||||
|
m_Center: {x: 0, y: 0, z: 0}
|
||||||
|
m_Extent: {x: 0, y: 0, z: 0}
|
||||||
|
m_ClipBindingConstant:
|
||||||
|
genericBindings: []
|
||||||
|
pptrCurveMapping: []
|
||||||
|
m_AnimationClipSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_AdditiveReferencePoseClip: {fileID: 0}
|
||||||
|
m_AdditiveReferencePoseTime: 0
|
||||||
|
m_StartTime: 0
|
||||||
|
m_StopTime: 1
|
||||||
|
m_OrientationOffsetY: 0
|
||||||
|
m_Level: 0
|
||||||
|
m_CycleOffset: 0
|
||||||
|
m_HasAdditiveReferencePose: 0
|
||||||
|
m_LoopTime: 0
|
||||||
|
m_LoopBlend: 0
|
||||||
|
m_LoopBlendOrientation: 0
|
||||||
|
m_LoopBlendPositionY: 0
|
||||||
|
m_LoopBlendPositionXZ: 0
|
||||||
|
m_KeepOriginalOrientation: 0
|
||||||
|
m_KeepOriginalPositionY: 1
|
||||||
|
m_KeepOriginalPositionXZ: 0
|
||||||
|
m_HeightFromFeet: 0
|
||||||
|
m_Mirror: 0
|
||||||
|
m_EditorCurves: []
|
||||||
|
m_EulerEditorCurves: []
|
||||||
|
m_HasGenericRootTransform: 0
|
||||||
|
m_HasMotionFloatCurves: 0
|
||||||
|
m_Events: []
|
8
Assets/script/New Animation.anim.meta
Normal file
8
Assets/script/New Animation.anim.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 3f4a98ccdd3a2514495ffff7ef525aa7
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 7400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
12
Assets/script/New Animator Controller.controller
Normal file
12
Assets/script/New Animator Controller.controller
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!91 &9100000
|
||||||
|
AnimatorController:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: New Animator Controller
|
||||||
|
serializedVersion: 5
|
||||||
|
m_AnimatorParameters: []
|
||||||
|
m_AnimatorLayers: []
|
8
Assets/script/New Animator Controller.controller.meta
Normal file
8
Assets/script/New Animator Controller.controller.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 825a7187bec92284dbce290965de4dba
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 9100000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
19
Assets/script/Testor.cs
Normal file
19
Assets/script/Testor.cs
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
|
||||||
|
class MoleculeFactoryTester: MonoBehaviour {
|
||||||
|
|
||||||
|
public TextAsset moleculeJson;
|
||||||
|
public TextAsset atomJson;
|
||||||
|
|
||||||
|
void Start(){
|
||||||
|
MoleculeFactory factory = MoleculeFactory.getInstrance(this.moleculeJson);
|
||||||
|
AtomeFactory atomeFactory = AtomeFactory.getInstrance(this.atomJson);
|
||||||
|
GameObject mol = atomeFactory.createAnimatedAtome("Na");
|
||||||
|
//mol.transform.position = new Vector3(0,1,0);
|
||||||
|
//GameObject bon = GameOject.CreatePrimitive(PrimitiveType.)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
11
Assets/script/Testor.cs.meta
Normal file
11
Assets/script/Testor.cs.meta
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 7d15c31ec91cb674fac22415c1ceff75
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -1 +1 @@
|
|||||||
AAABmQWapYRGu7Loo2wvgwZUGzXNOVLSaix1jbBp7+6hM1WFhjBkddUoLqWxkauNc7gcguqgEle3Gl3JhXdUv8TOSygVCeRnuokmoncR2/5V78p0F0Cfn5gBebVC39W8GQ6XkVyp75Y8d30EG+W8VKPfuse2cfavkxXpI2Nl3LSy0VRONL0XNPimQXCFL0ahAeUkOc37yrfYL9FrG7wg4Rw+k4YLs++CGJhpcKysknksOgQGrDLh9Hj9lfoKw+YWYwvTA55r6X388fA3hXuRGNehejMd4orrTqM65do7Uf0KR4eC/KXr5cmkSwN4FwRxWaGm16G0tXit+hD29lyZbT/XJ64=
|
AAABmY7g9UmlfucNZM2mK1+zBTca7O7gdAXUc9FcH4yUbYfsFOfH72rVb0qPESQq/9HBlqfD04SyJF6jtD6oQDsZxFAYgmMCBkOzNr/C/s4mdV37Qw5Nm9GqecPYpccvAWOqH/VAtFBp5ksgnAnVhuHUqh0NmvpixXq82Meo/bg7usPAWSDsQt/6kR89nttLOknq/Rt+SN8E91Txj6nsYZH8gsxrgC9MYPO0koHuIvfeLk0wcqrMzxZawaNLp6CNWgUYDXWIWW1AtB9dY5p56nnk/Yd4MyRevYDtcWdXCdiam48zdO470AuA8DkAFHOttVURidwRkVKq4z40E6J+5V3NqDg=
|
Reference in New Issue
Block a user