Prise en compte du module factory pour créer et afficher des gameobjects dynamiquement #11
@ -15,6 +15,7 @@ public class ActiveScoppedElements : MonoBehaviour
|
|||||||
|
|
||||||
|
|
||||||
// Start is called before the first frame update
|
// Start is called before the first frame update
|
||||||
|
public TextAsset jsonFile;
|
||||||
public HashSet<String> actives = new HashSet<String>();
|
public HashSet<String> actives = new HashSet<String>();
|
||||||
public HashSet<GameObject> InstantiatesObject = new HashSet<GameObject>();
|
public HashSet<GameObject> InstantiatesObject = new HashSet<GameObject>();
|
||||||
public TextMeshProUGUI textToUpdate;
|
public TextMeshProUGUI textToUpdate;
|
||||||
@ -51,9 +52,107 @@ public class ActiveScoppedElements : MonoBehaviour
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static IEnumerable<string> GetPermutations(List<string> list)
|
||||||
|
{
|
||||||
|
if (list.Count == 1)
|
||||||
|
{
|
||||||
|
// Cas de base : une seule chaîne
|
||||||
|
yield return list[0];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Récursion pour obtenir les permutations du reste de la liste
|
||||||
|
foreach (var item in list)
|
||||||
|
{
|
||||||
|
var remaining = new List<string>(list);
|
||||||
|
remaining.Remove(item);
|
||||||
|
|
||||||
|
foreach (var subPermutation in GetPermutations(remaining))
|
||||||
|
{
|
||||||
|
// Concaténer l'élément actuel avec les permutations du reste
|
||||||
|
yield return item + subPermutation;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void DisableAllMarkerModel()
|
||||||
|
{
|
||||||
|
foreach (var o in GameObject.FindGameObjectsWithTag("OBJ"))
|
||||||
|
{
|
||||||
|
o.SetActive(false);
|
||||||
|
DisableGameObjects.Add(o);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void EnableAllMarkerModel()
|
||||||
|
{
|
||||||
|
foreach (var o in DisableGameObjects)
|
||||||
|
{
|
||||||
|
o.SetActive(true);
|
||||||
|
}
|
||||||
|
DisableGameObjects.Clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
private GameObject FindGameObjectWithFormula()
|
||||||
|
{
|
||||||
|
var factory = MoleculeFactory.getInstrance(this.jsonFile);
|
||||||
|
Debug.Log("ACTIVES ELEMENTS:");
|
||||||
|
Debug.Log(this.actives);
|
||||||
|
foreach (var formula in GetPermutations(this.actives.ToList()))
|
||||||
|
{
|
||||||
|
Debug.Log("FORMULA: " + String.Join("", formula));
|
||||||
|
if (factory.hasMolecule(String.Join("", formula)))
|
||||||
|
{
|
||||||
|
return factory.createMolecule(String.Join("", formula));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
private void RefreshAtom()
|
private void RefreshAtom()
|
||||||
{
|
{
|
||||||
foreach (var objt in objectToInstantiates)
|
var objToFind = FindGameObjectWithFormula();
|
||||||
|
if (objToFind != null)
|
||||||
|
{
|
||||||
|
Vector3 cameraPosition = Camera.main.transform.position;
|
||||||
|
|
||||||
|
// Obtenez la rotation de la caméra sans inclure la rotation autour de l'axe Y
|
||||||
|
Quaternion cameraRotation = Quaternion.Euler(0, Camera.main.transform.rotation.eulerAngles.y, 0);
|
||||||
|
|
||||||
|
// Calculez la position finale en ajoutant la direction vers l'avant multipliée par la distance désirée
|
||||||
|
Vector3 position = cameraPosition + cameraRotation * Vector3.forward * 0.35f;
|
||||||
|
|
||||||
|
//var instantiatedObj = Instantiate(objt.obj, position, cameraRotation);
|
||||||
|
|
||||||
|
objToFind.transform.position = position;
|
||||||
|
objToFind.transform.localScale = new Vector3(0.05f, 0.05f, 0.05f);
|
||||||
|
objToFind.transform.rotation = cameraRotation;
|
||||||
|
|
||||||
|
MeshRenderer meshRenderer = objToFind.GetComponent<MeshRenderer>();
|
||||||
|
if (meshRenderer != null)
|
||||||
|
{
|
||||||
|
float sizeInDirection = meshRenderer.bounds.size.x; // Pour la hauteur, ajustez selon votre besoin
|
||||||
|
Debug.Log("SizeInDirection: " + sizeInDirection);
|
||||||
|
objToFind.transform.position -= objToFind.transform.right * sizeInDirection * 0.175f;
|
||||||
|
}
|
||||||
|
|
||||||
|
Debug.Log("RefreshAtom(): Created " + objToFind.name);
|
||||||
|
|
||||||
|
objToFind.name = "[N] " + objToFind.name;
|
||||||
|
InstantiatesObject.Add(objToFind);
|
||||||
|
this.OnInstantiateObject(objToFind);
|
||||||
|
Debug.Log("Instantiate " + objToFind.name);
|
||||||
|
DisableAllMarkerModel();
|
||||||
|
} else {
|
||||||
|
foreach (var o in InstantiatesObject) {
|
||||||
|
Destroy(o);
|
||||||
|
OnDestroyObject(o);
|
||||||
|
}
|
||||||
|
InstantiatesObject.Clear();
|
||||||
|
EnableAllMarkerModel();
|
||||||
|
}
|
||||||
|
/*foreach (var objt in objectToInstantiates)
|
||||||
{
|
{
|
||||||
if (objt.elements.TrueForAll((s => actives.Contains(s))))
|
if (objt.elements.TrueForAll((s => actives.Contains(s))))
|
||||||
{
|
{
|
||||||
@ -66,6 +165,7 @@ public class ActiveScoppedElements : MonoBehaviour
|
|||||||
DisableGameObjects.Add(a);
|
DisableGameObjects.Add(a);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Obtenez la position de la caméra
|
// Obtenez la position de la caméra
|
||||||
Vector3 cameraPosition = Camera.main.transform.position;
|
Vector3 cameraPosition = Camera.main.transform.position;
|
||||||
|
|
||||||
@ -75,11 +175,18 @@ public class ActiveScoppedElements : MonoBehaviour
|
|||||||
// Calculez la position finale en ajoutant la direction vers l'avant multipliée par la distance désirée
|
// Calculez la position finale en ajoutant la direction vers l'avant multipliée par la distance désirée
|
||||||
Vector3 position = cameraPosition + cameraRotation * Vector3.forward * 0.35f;
|
Vector3 position = cameraPosition + cameraRotation * Vector3.forward * 0.35f;
|
||||||
|
|
||||||
var instantiatedObj = Instantiate(objt.obj, position, cameraRotation);
|
//var instantiatedObj = Instantiate(objt.obj, position, cameraRotation);
|
||||||
instantiatedObj.name = "[N] " + objt.obj.name;
|
|
||||||
InstantiatesObject.Add(instantiatedObj);
|
var obj = MoleculeFactory.getInstrance(this.jsonFile).createMolecule("CO2");
|
||||||
this.OnInstantiateObject(instantiatedObj);
|
obj.transform.position = position;
|
||||||
Debug.Log("Instantiate " + instantiatedObj.name);
|
obj.transform.localScale = new Vector3(0.05f, 0.05f, 0.05f);
|
||||||
|
obj.transform.rotation = cameraRotation;
|
||||||
|
Debug.Log("RefreshAtom(): Created " + obj.name);
|
||||||
|
|
||||||
|
obj.name = "[N] " + objt.obj.name;
|
||||||
|
InstantiatesObject.Add(obj);
|
||||||
|
this.OnInstantiateObject(obj);
|
||||||
|
Debug.Log("Instantiate " + obj.name);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -97,7 +204,7 @@ public class ActiveScoppedElements : MonoBehaviour
|
|||||||
DisableGameObjects.Clear();
|
DisableGameObjects.Clear();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
|
|
||||||
if (InstantiatesObject.Count > 0)
|
if (InstantiatesObject.Count > 0)
|
||||||
{
|
{
|
||||||
|
File diff suppressed because one or more lines are too long
@ -18,11 +18,11 @@ MonoBehaviour:
|
|||||||
delayedInitialization: 0
|
delayedInitialization: 0
|
||||||
cameraFocusModeSetting: 2
|
cameraFocusModeSetting: 2
|
||||||
cameraDeviceModeSetting: -1
|
cameraDeviceModeSetting: -1
|
||||||
maxSimultaneousImageTargets: 4
|
maxSimultaneousImageTargets: 8
|
||||||
virtualSceneScaleFactor: 1
|
virtualSceneScaleFactor: 1
|
||||||
modelTargetRecoWhileExtendedTracked: 1
|
modelTargetRecoWhileExtendedTracked: 1
|
||||||
shareRecordingsInITunes: 0
|
shareRecordingsInITunes: 0
|
||||||
logLevel: 0
|
logLevel: 1
|
||||||
version: 10.18.4
|
version: 10.18.4
|
||||||
eulaAcceptedVersions: '{"Values":["10.17","10.18","0.0","10.15"]}'
|
eulaAcceptedVersions: '{"Values":["10.17","10.18","0.0","10.15"]}'
|
||||||
database:
|
database:
|
||||||
|
File diff suppressed because one or more lines are too long
@ -123,6 +123,72 @@ NavMeshSettings:
|
|||||||
debug:
|
debug:
|
||||||
m_Flags: 0
|
m_Flags: 0
|
||||||
m_NavMeshData: {fileID: 0}
|
m_NavMeshData: {fileID: 0}
|
||||||
|
--- !u!1001 &52111041
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TransformParent: {fileID: 2115541903}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: 2296197579250447769, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: OBJ_Hydrogene
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2296197579250447769, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
|
||||||
|
propertyPath: m_TagString
|
||||||
|
value: OBJ
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4757697444972247267, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4757697444972247267, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: 0.234
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4757697444972247267, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4757697444972247267, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4757697444972247267, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4757697444972247267, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4757697444972247267, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4757697444972247267, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4757697444972247267, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4757697444972247267, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_RemovedGameObjects: []
|
||||||
|
m_AddedGameObjects: []
|
||||||
|
m_AddedComponents: []
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
|
||||||
|
--- !u!4 &52111042 stripped
|
||||||
|
Transform:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 4757697444972247267, guid: ae2d2b687aff85b46a01c62e312954d2, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 52111041}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
--- !u!1 &239149474
|
--- !u!1 &239149474
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -822,6 +888,7 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 7895074e456606e4aa89ecc052bebf16, type: 3}
|
m_Script: {fileID: 11500000, guid: 7895074e456606e4aa89ecc052bebf16, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
|
jsonFile: {fileID: 4900000, guid: 3a11d0f923ae50c4d82ee1dda0f629a3, type: 3}
|
||||||
textToUpdate: {fileID: 1759769650}
|
textToUpdate: {fileID: 1759769650}
|
||||||
objectInstantiateText: {fileID: 701088218}
|
objectInstantiateText: {fileID: 701088218}
|
||||||
objectToInstantiates:
|
objectToInstantiates:
|
||||||
@ -1044,7 +1111,7 @@ GameObject:
|
|||||||
- component: {fileID: 1576193663}
|
- component: {fileID: 1576193663}
|
||||||
- component: {fileID: 1576193662}
|
- component: {fileID: 1576193662}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: Hydrogene
|
m_Name: H
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
@ -1135,7 +1202,7 @@ MonoBehaviour:
|
|||||||
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
|
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
|
||||||
m_IntArgument: 0
|
m_IntArgument: 0
|
||||||
m_FloatArgument: 0
|
m_FloatArgument: 0
|
||||||
m_StringArgument: Hydrogene
|
m_StringArgument: H
|
||||||
m_BoolArgument: 0
|
m_BoolArgument: 0
|
||||||
m_CallState: 2
|
m_CallState: 2
|
||||||
OnTargetLost:
|
OnTargetLost:
|
||||||
@ -1150,7 +1217,7 @@ MonoBehaviour:
|
|||||||
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
|
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
|
||||||
m_IntArgument: 0
|
m_IntArgument: 0
|
||||||
m_FloatArgument: 0
|
m_FloatArgument: 0
|
||||||
m_StringArgument: Hydrogene
|
m_StringArgument: H
|
||||||
m_BoolArgument: 0
|
m_BoolArgument: 0
|
||||||
m_CallState: 2
|
m_CallState: 2
|
||||||
--- !u!114 &1576193664
|
--- !u!114 &1576193664
|
||||||
@ -1813,7 +1880,7 @@ GameObject:
|
|||||||
- component: {fileID: 2082618018}
|
- component: {fileID: 2082618018}
|
||||||
- component: {fileID: 2082618017}
|
- component: {fileID: 2082618017}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: Oxygene
|
m_Name: O
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
@ -1904,7 +1971,7 @@ MonoBehaviour:
|
|||||||
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
|
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
|
||||||
m_IntArgument: 0
|
m_IntArgument: 0
|
||||||
m_FloatArgument: 0
|
m_FloatArgument: 0
|
||||||
m_StringArgument: Oxygene
|
m_StringArgument: O
|
||||||
m_BoolArgument: 0
|
m_BoolArgument: 0
|
||||||
m_CallState: 2
|
m_CallState: 2
|
||||||
OnTargetLost:
|
OnTargetLost:
|
||||||
@ -1919,7 +1986,7 @@ MonoBehaviour:
|
|||||||
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
|
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
|
||||||
m_IntArgument: 0
|
m_IntArgument: 0
|
||||||
m_FloatArgument: 0
|
m_FloatArgument: 0
|
||||||
m_StringArgument: Oxygene
|
m_StringArgument: O
|
||||||
m_BoolArgument: 0
|
m_BoolArgument: 0
|
||||||
m_CallState: 2
|
m_CallState: 2
|
||||||
--- !u!114 &2082618019
|
--- !u!114 &2082618019
|
||||||
@ -1949,6 +2016,260 @@ MonoBehaviour:
|
|||||||
mTrackingOptimization: 0
|
mTrackingOptimization: 0
|
||||||
mTrackingOptimizationNeedsUpgrade: 0
|
mTrackingOptimizationNeedsUpgrade: 0
|
||||||
mPreview: {fileID: 2082618017}
|
mPreview: {fileID: 2082618017}
|
||||||
|
--- !u!1 &2115541902
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 2115541903}
|
||||||
|
- component: {fileID: 2115541906}
|
||||||
|
- component: {fileID: 2115541905}
|
||||||
|
- component: {fileID: 2115541904}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: H2
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &2115541903
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2115541902}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 1.134, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children:
|
||||||
|
- {fileID: 52111042}
|
||||||
|
m_Father: {fileID: 2141458387}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &2115541904
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2115541902}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 1778676317, guid: 8a9a760f95896c34689febc965510927, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
mObserverBehaviour: {fileID: 2115541906}
|
||||||
|
mHiddenRoot: {fileID: 0}
|
||||||
|
mTargetName: hydro
|
||||||
|
mDatasetName: Vuforia/T-VIR.xml
|
||||||
|
mCastedBehaviour: {fileID: 2115541906}
|
||||||
|
mMeshFilter: {fileID: 0}
|
||||||
|
mMeshRenderer: {fileID: 0}
|
||||||
|
--- !u!114 &2115541905
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2115541902}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 886328de6a5c14cbb85854fdf1a5085b, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
StatusFilter: 0
|
||||||
|
UsePoseSmoothing: 0
|
||||||
|
AnimationCurve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 0
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 3.3333333
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0.3
|
||||||
|
value: 1
|
||||||
|
inSlope: 3.3333333
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
OnTargetFound:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls:
|
||||||
|
- m_Target: {fileID: 1201501054}
|
||||||
|
m_TargetAssemblyTypeName: ActiveScoppedElements, Assembly-CSharp
|
||||||
|
m_MethodName: AddScoppedElement
|
||||||
|
m_Mode: 5
|
||||||
|
m_Arguments:
|
||||||
|
m_ObjectArgument: {fileID: 0}
|
||||||
|
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
|
||||||
|
m_IntArgument: 0
|
||||||
|
m_FloatArgument: 0
|
||||||
|
m_StringArgument: H2
|
||||||
|
m_BoolArgument: 0
|
||||||
|
m_CallState: 2
|
||||||
|
OnTargetLost:
|
||||||
|
m_PersistentCalls:
|
||||||
|
m_Calls:
|
||||||
|
- m_Target: {fileID: 1201501054}
|
||||||
|
m_TargetAssemblyTypeName: ActiveScoppedElements, Assembly-CSharp
|
||||||
|
m_MethodName: RemoveUnscoppedElement
|
||||||
|
m_Mode: 5
|
||||||
|
m_Arguments:
|
||||||
|
m_ObjectArgument: {fileID: 0}
|
||||||
|
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
|
||||||
|
m_IntArgument: 0
|
||||||
|
m_FloatArgument: 0
|
||||||
|
m_StringArgument: H2
|
||||||
|
m_BoolArgument: 0
|
||||||
|
m_CallState: 2
|
||||||
|
--- !u!114 &2115541906
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2115541902}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: -1631628248, guid: 8a9a760f95896c34689febc965510927, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
PreviewVisible: 1
|
||||||
|
RuntimeOcclusion: 0
|
||||||
|
RuntimeCollider: 0
|
||||||
|
mTrackableName: hydro
|
||||||
|
mInitializedInEditor: 1
|
||||||
|
mDataSetPath: Vuforia/T-VIR.xml
|
||||||
|
mAspectRatio: 1
|
||||||
|
mImageTargetType: 0
|
||||||
|
mWidth: 1
|
||||||
|
mHeight: 1
|
||||||
|
mRuntimeTexture: {fileID: 0}
|
||||||
|
mMotionHint: 1
|
||||||
|
mTrackingOptimization: 0
|
||||||
|
mTrackingOptimizationNeedsUpgrade: 0
|
||||||
|
mPreview: {fileID: 2115541904}
|
||||||
|
--- !u!1 &2138147400
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 2138147404}
|
||||||
|
- component: {fileID: 2138147403}
|
||||||
|
- component: {fileID: 2138147402}
|
||||||
|
- component: {fileID: 2138147401}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: SPHERE
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!135 &2138147401
|
||||||
|
SphereCollider:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2138147400}
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_IncludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_ExcludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_LayerOverridePriority: 0
|
||||||
|
m_IsTrigger: 0
|
||||||
|
m_ProvidesContacts: 0
|
||||||
|
m_Enabled: 1
|
||||||
|
serializedVersion: 3
|
||||||
|
m_Radius: 0.5
|
||||||
|
m_Center: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!23 &2138147402
|
||||||
|
MeshRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2138147400}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_CastShadows: 1
|
||||||
|
m_ReceiveShadows: 1
|
||||||
|
m_DynamicOccludee: 1
|
||||||
|
m_StaticShadowCaster: 0
|
||||||
|
m_MotionVectors: 1
|
||||||
|
m_LightProbeUsage: 1
|
||||||
|
m_ReflectionProbeUsage: 1
|
||||||
|
m_RayTracingMode: 2
|
||||||
|
m_RayTraceProcedural: 0
|
||||||
|
m_RenderingLayerMask: 1
|
||||||
|
m_RendererPriority: 0
|
||||||
|
m_Materials:
|
||||||
|
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
|
||||||
|
m_StaticBatchInfo:
|
||||||
|
firstSubMesh: 0
|
||||||
|
subMeshCount: 0
|
||||||
|
m_StaticBatchRoot: {fileID: 0}
|
||||||
|
m_ProbeAnchor: {fileID: 0}
|
||||||
|
m_LightProbeVolumeOverride: {fileID: 0}
|
||||||
|
m_ScaleInLightmap: 1
|
||||||
|
m_ReceiveGI: 1
|
||||||
|
m_PreserveUVs: 0
|
||||||
|
m_IgnoreNormalsForChartDetection: 0
|
||||||
|
m_ImportantGI: 0
|
||||||
|
m_StitchLightmapSeams: 1
|
||||||
|
m_SelectedEditorRenderState: 3
|
||||||
|
m_MinimumChartSize: 4
|
||||||
|
m_AutoUVMaxDistance: 0.5
|
||||||
|
m_AutoUVMaxAngle: 89
|
||||||
|
m_LightmapParameters: {fileID: 0}
|
||||||
|
m_SortingLayerID: 0
|
||||||
|
m_SortingLayer: 0
|
||||||
|
m_SortingOrder: 0
|
||||||
|
m_AdditionalVertexStreams: {fileID: 0}
|
||||||
|
--- !u!33 &2138147403
|
||||||
|
MeshFilter:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2138147400}
|
||||||
|
m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
|
||||||
|
--- !u!4 &2138147404
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2138147400}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 1.9220078, y: 0.49818814, z: 0.32947016}
|
||||||
|
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 &2141458382
|
--- !u!1 &2141458382
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -2069,6 +2390,7 @@ Transform:
|
|||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2082618016}
|
- {fileID: 2082618016}
|
||||||
- {fileID: 1576193661}
|
- {fileID: 1576193661}
|
||||||
|
- {fileID: 2115541903}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!1 &2141791690
|
--- !u!1 &2141791690
|
||||||
@ -2154,3 +2476,4 @@ SceneRoots:
|
|||||||
- {fileID: 2141458387}
|
- {fileID: 2141458387}
|
||||||
- {fileID: 1201501056}
|
- {fileID: 1201501056}
|
||||||
- {fileID: 1176767512}
|
- {fileID: 1176767512}
|
||||||
|
- {fileID: 2138147404}
|
||||||
|
@ -37,18 +37,23 @@ public class MoleculeFactory : MonoBehaviour{
|
|||||||
return MoleculeFactory.instance;
|
return MoleculeFactory.instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Boolean hasMolecule(String formula)
|
||||||
|
{
|
||||||
|
return moleculesDictionary.ContainsKey(formula);
|
||||||
|
}
|
||||||
|
|
||||||
public GameObject createMolecule (string formula){
|
public GameObject createMolecule (string formula){
|
||||||
if(!moleculesDictionary.ContainsKey(formula)){
|
if(!moleculesDictionary.ContainsKey(formula)){
|
||||||
Debug.LogError("molecules does not existe in json");
|
Debug.LogError("molecules does not existe in json");
|
||||||
}
|
}
|
||||||
Molecule molecule = moleculesDictionary[formula];
|
Molecule molecule = moleculesDictionary[formula];
|
||||||
GameObject sortie = new GameObject(molecule.name);
|
GameObject sortie = new GameObject(molecule.name);
|
||||||
|
|
||||||
foreach (Atom atom in molecule.atoms) {
|
foreach (Atom atom in molecule.atoms) {
|
||||||
GameObject sphere = GameObject.CreatePrimitive(PrimitiveType.Sphere);
|
var template = GameObject.Find("SPHERE");
|
||||||
sphere.transform.parent = sortie.transform;
|
var createdObj = Instantiate(template, new Vector3(atom.geometry[0], atom.geometry[1], atom.geometry[2]), Quaternion.identity);
|
||||||
sphere.name = atom.element;
|
createdObj.transform.parent = sortie.transform;
|
||||||
sphere.transform.localPosition = new Vector3(atom.geometry[0], atom.geometry[1], atom.geometry[2]);
|
createdObj.name = atom.element;
|
||||||
|
createdObj.transform.localPosition = new Vector3(atom.geometry[0], atom.geometry[1], atom.geometry[2]);
|
||||||
//TODO: géré les laision
|
//TODO: géré les laision
|
||||||
//TODO: géré la taille de l'atome
|
//TODO: géré la taille de l'atome
|
||||||
//TODO: géré la couleur de l'atome
|
//TODO: géré la couleur de l'atome
|
||||||
|
Loading…
x
Reference in New Issue
Block a user