9 Commits

Author SHA1 Message Date
118a669371 cleanup code 2024-01-12 10:20:31 +01:00
74a69cf8f7 add todo 2024-01-11 17:16:12 +01:00
e12fed0489 normalent on est quasi bon 2024-01-11 17:11:59 +01:00
33e34e9fde convert to dict 2024-01-11 16:53:06 +01:00
7c3aa27c71 sync 2024-01-11 16:38:19 +01:00
4e63a46dc6 add some mol and test 2024-01-06 18:41:15 +01:00
f1b3c7628c add somme example 2024-01-06 16:29:29 +01:00
0c4b59e577 sync tout 2024-01-06 15:51:30 +01:00
a6cf8340bf add molecule reader script 2024-01-06 15:51:13 +01:00
33 changed files with 730 additions and 3 deletions

View File

@ -158,6 +158,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- 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: 1
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -158,6 +158,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- 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: 1
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -158,6 +158,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- 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: 1
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -158,6 +158,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- 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: 1
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -158,6 +158,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- 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: 1
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -158,6 +158,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- 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: 1
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -158,6 +158,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- 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: 1
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -158,6 +158,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- 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: 1
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -158,6 +158,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- 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: 1
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -158,6 +158,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- 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: 1
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -158,6 +158,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- 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: 1
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -158,6 +158,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- 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: 1
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -158,6 +158,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 1
- 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: 1
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -38,7 +38,7 @@ RenderSettings:
m_ReflectionIntensity: 1
m_CustomReflection: {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
--- !u!157 &3
LightmapSettings:
@ -332,6 +332,148 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 136169417}
m_CullTransparentMesh: 1
--- !u!1001 &183054814
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 799614602}
m_Modifications:
- target: {fileID: 236738444019946666, guid: c031a3ea596b6c14abd0a9cf9b5e8837,
type: 3}
propertyPath: m_Name
value: C
objectReference: {fileID: 0}
- target: {fileID: 7653209704588422778, guid: c031a3ea596b6c14abd0a9cf9b5e8837,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7653209704588422778, guid: c031a3ea596b6c14abd0a9cf9b5e8837,
type: 3}
propertyPath: m_LocalPosition.y
value: -3
objectReference: {fileID: 0}
- target: {fileID: 7653209704588422778, guid: c031a3ea596b6c14abd0a9cf9b5e8837,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7653209704588422778, guid: c031a3ea596b6c14abd0a9cf9b5e8837,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 7653209704588422778, guid: c031a3ea596b6c14abd0a9cf9b5e8837,
type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 7653209704588422778, guid: c031a3ea596b6c14abd0a9cf9b5e8837,
type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 7653209704588422778, guid: c031a3ea596b6c14abd0a9cf9b5e8837,
type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 7653209704588422778, guid: c031a3ea596b6c14abd0a9cf9b5e8837,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7653209704588422778, guid: c031a3ea596b6c14abd0a9cf9b5e8837,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7653209704588422778, guid: c031a3ea596b6c14abd0a9cf9b5e8837,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: c031a3ea596b6c14abd0a9cf9b5e8837, type: 3}
--- !u!1001 &508073240
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 799614602}
m_Modifications:
- target: {fileID: 3655036399522394151, guid: 027c97d1954e2a44db92464acd35fde9,
type: 3}
propertyPath: m_Name
value: O
objectReference: {fileID: 0}
- target: {fileID: 8552605844169481804, guid: 027c97d1954e2a44db92464acd35fde9,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8552605844169481804, guid: 027c97d1954e2a44db92464acd35fde9,
type: 3}
propertyPath: m_LocalPosition.y
value: -3
objectReference: {fileID: 0}
- target: {fileID: 8552605844169481804, guid: 027c97d1954e2a44db92464acd35fde9,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8552605844169481804, guid: 027c97d1954e2a44db92464acd35fde9,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8552605844169481804, guid: 027c97d1954e2a44db92464acd35fde9,
type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 8552605844169481804, guid: 027c97d1954e2a44db92464acd35fde9,
type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 8552605844169481804, guid: 027c97d1954e2a44db92464acd35fde9,
type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 8552605844169481804, guid: 027c97d1954e2a44db92464acd35fde9,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8552605844169481804, guid: 027c97d1954e2a44db92464acd35fde9,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8552605844169481804, guid: 027c97d1954e2a44db92464acd35fde9,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 027c97d1954e2a44db92464acd35fde9, type: 3}
--- !u!4 &529523028 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 8552605844169481804, guid: 027c97d1954e2a44db92464acd35fde9,
type: 3}
m_PrefabInstance: {fileID: 508073240}
m_PrefabAsset: {fileID: 0}
--- !u!1 &534669303
GameObject:
m_ObjectHideFlags: 0
@ -400,6 +542,12 @@ Transform:
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!4 &678364522 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 7653209704588422778, guid: c031a3ea596b6c14abd0a9cf9b5e8837,
type: 3}
m_PrefabInstance: {fileID: 183054814}
m_PrefabAsset: {fileID: 0}
--- !u!1 &693850225
GameObject:
m_ObjectHideFlags: 0
@ -655,6 +803,67 @@ MonoBehaviour:
m_EditorClassIdentifier:
button: {fileID: 909516280}
sceneToChange: 3
--- !u!1 &799614600
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 799614602}
- component: {fileID: 799614603}
- component: {fileID: 799614604}
m_Layer: 0
m_Name: Molecule parcer
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &799614602
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 799614600}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 3, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 678364522}
- {fileID: 529523028}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &799614603
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 799614600}
m_Enabled: 0
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f13310aa5828a5d47b5e83a3e9eb3fec, type: 3}
m_Name:
m_EditorClassIdentifier:
jsonFile: {fileID: 4900000, guid: 3a11d0f923ae50c4d82ee1dda0f629a3, type: 3}
--- !u!114 &799614604
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 799614600}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 617b4ba049dacfb4da7aa525641f8371, type: 3}
m_Name:
m_EditorClassIdentifier:
jsonFile: {fileID: 4900000, guid: 865ef6336b8f164428ff661758efffd1, type: 3}
--- !u!1 &909516278
GameObject:
m_ObjectHideFlags: 0
@ -1252,3 +1461,4 @@ SceneRoots:
- {fileID: 693850230}
- {fileID: 732397232}
- {fileID: 534669306}
- {fileID: 799614602}

View File

@ -20,6 +20,21 @@ MonoBehaviour:
company: Unity
priority: 0
required: 0
--- !u!114 &-8388492336231509029
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 &-7865320255151649905
MonoBehaviour:
m_ObjectHideFlags: 0
@ -406,10 +421,11 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 9f0ebc320a151d3408ea1e9fce54d40e, type: 3}
m_Name: Open XR Package Settings
m_EditorClassIdentifier:
Keys: 0100000007000000
Keys: 01000000070000000d000000
Values:
- {fileID: -338175974121554628}
- {fileID: -2565923732356543355}
- {fileID: -8388492336231509029}
--- !u!114 &1420927166792567669
MonoBehaviour:
m_ObjectHideFlags: 0

8
Assets/script.meta Normal file
View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 7f609c39b51d9e447a6a4a5964011b44
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

9
Assets/script/Atom.cs Normal file
View File

@ -0,0 +1,9 @@
[System.Serializable]
public class Atom
{
// nom de l'atom
public string element;
// coordonée XYZ
public float[] geometry;
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 9d3069c87e06b0c4c9a88c0695461936
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

9
Assets/script/Bond.cs Normal file
View File

@ -0,0 +1,9 @@
[System.Serializable]
public class Bond
{
// numéro des atome lier
public int[] atoms;
// nombre de liaison
public int order;
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 5ee91233baa5bef4288717efd423d4df
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,98 @@
{
"molecules":[
{
"name": "Dioxygène",
"formula": "O2",
"atoms": [
{
"element": "O",
"geometry": [0.0, 0.0, 0.0]
},
{
"element": "O",
"geometry": [1.2, 0.0, 0.0]
}
],
"bonds": [
{"atoms": [0, 1], "order": 2}
],
"properties": {
"molecularMass": 32.0,
"meltingPoint": -218.8,
"boilingPoint": -183.0
}
},
{
"name": "Ozone",
"formula": "O3",
"atoms": [
{"element": "O", "geometry": [0.0, 0.0, 0.0]},
{"element": "O", "geometry": [0.7, 0.0, 0.0]},
{"element": "O", "geometry": [1.4, 0.0, 0.0]}
],
"bonds": [
{"atoms": [0, 1], "order": 1},
{"atoms": [1, 2], "order": 1}
],
"properties": {
"molecularMass": 47.9982,
"meltingPoint": -192.5,
"boilingPoint": -110.0
}
},
{
"name": "Dioxyde de carbone",
"formula": "CO2",
"atoms": [
{"element": "C", "geometry": [0.0, 0.0, 0.0]},
{"element": "O", "geometry": [1.2, 0.0, 0.0]},
{"element": "O", "geometry": [-1.2, 0.0, 0.0]}
],
"bonds": [
{"atoms": [0, 1], "order": 2},
{"atoms": [0, 2], "order": 2}
],
"properties": {
"molecularMass": 44.0095,
"meltingPoint": -56.6,
"boilingPoint": -78.5
}
},
{
"name": "Butane",
"formula": "C4H10",
"atoms": [
{"element": "C", "geometry": [0.0, 0.0, 0.0]},
{"element": "C", "geometry": [1.5, 0.0, 0.0]},
{"element": "C", "geometry": [3.0, 0.0, 0.0]},
{"element": "C", "geometry": [4.5, 0.0, 0.0]},
{"element": "H", "geometry": [0.0, 1.5, 0.0]},
{"element": "H", "geometry": [0.0, -1.5, 0.0]},
{"element": "H", "geometry": [1.5, 1.5, 0.0]},
{"element": "H", "geometry": [1.5, -1.5, 0.0]},
{"element": "H", "geometry": [3.0, 1.5, 0.0]},
{"element": "H", "geometry": [3.0, -1.5, 0.0]},
{"element": "H", "geometry": [4.5, 1.5, 0.0]},
{"element": "H", "geometry": [4.5, -1.5, 0.0]}
],
"bonds": [
{"atoms": [0, 1], "order": 1},
{"atoms": [1, 2], "order": 1},
{"atoms": [2, 3], "order": 1},
{"atoms": [0, 4], "order": 1},
{"atoms": [0, 5], "order": 1},
{"atoms": [1, 6], "order": 1},
{"atoms": [1, 7], "order": 1},
{"atoms": [2, 8], "order": 1},
{"atoms": [2, 9], "order": 1},
{"atoms": [3, 10], "order": 1},
{"atoms": [3, 11], "order": 1}
],
"properties": {
"molecularMass": 58.1222,
"meltingPoint": -138.3,
"boilingPoint": -0.5
}
}
]
}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 3a11d0f923ae50c4d82ee1dda0f629a3
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,59 @@
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;
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 68834abede8b8d14d93f46876f40df3e
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,27 @@
using System.Collections.Generic;
using System;
[System.Serializable]
public class Molecule
{
// nom molécules
public string name;
// formule melécule
public string formula;
// liste des atoms
public Atom[] atoms;
// liste des liason entre les atoms
public Bond[] bonds;
// prorpiété de la molécule
public Properties properties;
}
[System.Serializable]
public class Molecules
{
// liste des liason entre les atoms
public Molecule[] molecules;
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 23d78ff2f0da0df4ba3f76aa522bfe4c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,10 @@
[System.Serializable]
public class Properties
{
// masse en g/mol
public float molecularMass;
// température de fusion (solid->liquide)
public float meltingPoint;
// température d'évaporation (liquide-> gaz)
public float boilingPoint;
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 5df75892dfdcac7468e63229a5bd0ab8
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,34 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ReadMolecule : MonoBehaviour
{
public TextAsset jsonFile;
void Start(){
Molecules moleculesInJson = JsonUtility.FromJson<Molecules>(jsonFile.text);
int molNum = 0;
int dist = 5;
foreach (Molecule molecule in moleculesInJson.molecules){
GameObject moleculeObj = new GameObject(molecule.name);
foreach (Atom atom in molecule.atoms){
GameObject sphere = GameObject.CreatePrimitive(PrimitiveType.Sphere);
sphere.transform.parent = moleculeObj.transform;
sphere.name = atom.element;
sphere.transform.localPosition = new Vector3(atom.geometry[0], atom.geometry[1], atom.geometry[2]);
}
moleculeObj.transform.position = new Vector3(molNum*dist,0,0);
molNum++;
}
}
// Update is called once per frame
void Update()
{
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: f13310aa5828a5d47b5e83a3e9eb3fec
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -5,9 +5,12 @@ EditorBuildSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Scenes:
- enabled: 1
- enabled: 0
path: Assets/Scenes/MainMenu.unity
guid: 432255403d6f571478f1043c2afa99d5
- enabled: 1
path: Assets/Scenes/CompositionMenu.unity
guid: 82704785f4b327f4fb004845f7dfd005
m_configObjects:
Unity.XR.WindowsMR.Settings: {fileID: 11400000, guid: 744b813df90924c169af73489b8325de,
type: 2}

1
QCAR/lh Normal file
View File

@ -0,0 +1 @@
SYa2<EFBFBD>q<><71>[<5B><>"b<> %S<><53><EFBFBD>xY<><13>e.

1
QCAR/somedata16 Normal file
View File

@ -0,0 +1 @@
AAABmYLL8/oCWYDVnt66QIDwPq6z4DN6r3/58aZWC0zcxYa43TCnvCp9IGuXZLgAObCqIm1fhMsWLttc6QAE6obPbuzCjEssQlT41wW38sIVuVhmsw6vfjVsXAQG/GQOgamARLtOkhTKi309FNa+3akhJu9wuEv5jF3vfRbPBoeMCWZuk4Pr8aP7mPH8+10geWHoSWbxgsaEEgrE0yO2xoQwTy2XOmCzZytqk+moWXU7VBu+0//q+koDSnWbjOkEGUfRwMmBJIK9J5TDJrSf/QZYBcEx1daR47cicuXzCb81VtaSvU5VIb9anoX6fukOHe/nCAfsltXFn+4G24NKlejZ568=