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();
        }
Esempio n. 2
0
 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));
 }