public ParticlesMeshModifier(int num_indices_in, int num_pts_in, CreatureParticlesAsset p_asset_in) : base(num_indices_in, num_pts_in) { p_asset = p_asset_in; }
public static void UpdateWithParticlesForRenderingData( CreatureParticlesAsset particles_asset, CreatureManager creature_manager, bool counter_clockwise, ref Vector3[] vertices, ref Vector3[] normals, ref Vector4[] tangents, ref Color32[] colors, ref Vector2[] uvs, CreatureAsset creature_asset, float region_overlap_z_delta, bool skin_swap_active, string skin_swap_name, string active_animation_name, ref List <int> final_indices, ref List <int> final_skin_swap_indices, ref int[] triangles, ref int[] skin_swap_triangles) { particles_asset.mesh_modifier.update( creature_manager, counter_clockwise, ref vertices, ref normals, ref tangents, ref colors, ref uvs, creature_asset, region_overlap_z_delta, skin_swap_active, skin_swap_name, active_animation_name, ref final_indices, ref final_skin_swap_indices, ref triangles, ref skin_swap_triangles); float normal_z = 1.0f; if (counter_clockwise) { normal_z = -1.0f; } for (int i = 0; i < vertices.Length; i++) { normals[i].x = 0; normals[i].y = 0; normals[i].z = normal_z; tangents[i].x = 1.0f; tangents[i].y = 0; tangents[i].z = 0; } for (int i = 0; i < triangles.Length; i++) { triangles[i] = 0; } SetIndexBuffer(final_indices, triangles, counter_clockwise); }