private static void UpdateGeometry(GameObject gameObject, float sideLength, float topDiameter, float bottomDiameter, bool hasTopGeometry, bool hasBottomGeometry) { if (!gameObject.GetComponent <MeshRenderer>()) { gameObject.AddComponent <MeshRenderer>(); } MeshFilter meshFilter = gameObject.GetComponent <MeshFilter>(); if (!meshFilter) { meshFilter = gameObject.AddComponent <MeshFilter>(); } Mesh sharedMesh = CylinderMeshFactory.CreateCylinderMesh(meshFilter.sharedMesh, sideLength, topDiameter, bottomDiameter, 32, hasTopGeometry, hasBottomGeometry, true); meshFilter.sharedMesh = sharedMesh; if (!gameObject.GetComponent <MaskOutAbstractBehaviour>()) { Material maskMaterial = (Material)AssetDatabase.LoadAssetAtPath("Assets/Vuforia/Materials/DepthMask.mat", typeof(Material)); BehaviourComponentFactory.Instance.AddMaskOutBehaviour(gameObject).maskMaterial = maskMaterial; } SceneManager.Instance.UnloadUnusedAssets(); }
public static Mesh CreateCylinderMesh(float sideLength, float topDiameter, float bottomDiameter, int numPerimeterVertices, bool hasTopGeometry, bool hasBottomGeometry, bool insideMaterial = false) { return(CylinderMeshFactory.CreateCylinderMesh(null, sideLength, topDiameter, bottomDiameter, numPerimeterVertices, hasTopGeometry, hasBottomGeometry, insideMaterial)); }