public static bool GenerateSphereSubMesh(CSGBrushSubMesh subMesh, CSGSphereDefinition definition) { definition.Validate(); var transform = Matrix4x4.TRS(Vector3.zero, Quaternion.AngleAxis(definition.rotation, Vector3.up), Vector3.one); return(GenerateSphereSubMesh(subMesh, definition.diameterXYZ, definition.offsetY, definition.generateFromCenter, transform, definition.horizontalSegments, definition.verticalSegments, definition.surfaceAssets, definition.surfaceDescriptions)); }
public static bool GenerateSphereVertices(CSGSphereDefinition definition, ref Vector3[] vertices) { definition.Validate(); var transform = Matrix4x4.TRS(Vector3.zero, Quaternion.AngleAxis(definition.rotation, Vector3.up), Vector3.one); BrushMeshFactory.CreateSphereVertices(definition.diameterXYZ, definition.offsetY, definition.generateFromCenter, definition.horizontalSegments, definition.verticalSegments, ref vertices); return(true); }
public static bool GenerateSphereAsset(CSGBrushMeshAsset brushMeshAsset, CSGSphereDefinition definition) { var subMesh = new CSGBrushSubMesh(); if (!GenerateSphereSubMesh(subMesh, definition)) { brushMeshAsset.Clear(); return(false); } brushMeshAsset.SubMeshes = new[] { subMesh }; brushMeshAsset.CalculatePlanes(); brushMeshAsset.SetDirty(); return(true); }