The Skung Cave commit

This commit is contained in:
2024-05-09 20:52:01 +10:00
parent 446c444728
commit 06046cd163
36 changed files with 11988 additions and 9252 deletions

View File

@ -2,7 +2,7 @@ import Foundation
import JolkEngine
class Collision
struct Collision
{
struct Edge { let p: Vec2f, n: Vec2f, w: Float }
@ -66,16 +66,16 @@ class Collision
enum Winding { case none, cw, ccw }
func build(obj: ObjModel, collision: ObjModel.Object)
mutating func build(obj: ObjModel, collision: ObjModel.Object)
{
for face in collision.faces
for face in collision.meshes.flatMap({ $0.faces })
{
switch face
{
case .triangle(let v1, let v2, let v3):
let t = Triangle(obj.positions[v1.p], obj.positions[v2.p], obj.positions[v3.p])
let n = t.normal
if abs(n.y) < 0.25 { continue }
if abs(n.y) == 0 { continue }
edge3d.append(.triangle(normal: n, origin: (t.a + t.b + t.c) / 3.0, tri: t))
case .quad(let v1, let v2, let v3, let v4):
let q = Quad(obj.positions[v1.p], obj.positions[v2.p], obj.positions[v3.p], obj.positions[v4.p])