diff --git a/racevisionGame/src/main/java/visualiser/Controllers/InGameLobbyController.java b/racevisionGame/src/main/java/visualiser/Controllers/InGameLobbyController.java index 3e79b51e..e4629790 100644 --- a/racevisionGame/src/main/java/visualiser/Controllers/InGameLobbyController.java +++ b/racevisionGame/src/main/java/visualiser/Controllers/InGameLobbyController.java @@ -188,12 +188,14 @@ public class InGameLobbyController extends Controller { if (boat.isClientBoat()) { - Shockwave boatHighlight = new Shockwave(10); - boatHighlight.getMesh().setMaterial(new PhongMaterial(new Color(1, 1, 0, 0.1))); - boatHighlight.setX(subject.getPosition().getX()); - boatHighlight.setY(subject.getPosition().getY()); - boatHighlight.setZ(subject.getPosition().getZ()); - subjects.add(boatHighlight); + /*Shockwave boatHighlight = new Shockwave(10); + boatHighlight.getMesh().setMaterial(new PhongMaterial(new Color(1, 1, 0, 0.1)));*/ + + Assets3D.boatHighlight.setX(subject.getPosition().getX()); + Assets3D.boatHighlight.setY(subject.getPosition().getY()); + Assets3D.boatHighlight.setZ(subject.getPosition().getZ()); + + subjects.add(Assets3D.boatHighlight); subject.getMesh().toFront(); } diff --git a/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java b/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java index 79b03e53..b92d4e80 100644 --- a/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java +++ b/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java @@ -450,9 +450,11 @@ public class RaceViewController extends Controller { // Configure visualiser for client's boat if (boat.isClientBoat()) { // Add player boat highlight - Shockwave boatHighlight = new Shockwave(10); - boatHighlight.getMesh().setMaterial(new PhongMaterial(new Color(1, 1, 0, 0.1))); - viewSubjects.add(boatHighlight); +// Shockwave boatHighlight = new Shockwave(10); +// boatHighlight.getMesh().setMaterial(new PhongMaterial(new Color(1, 1, 0, 0.1))); +// viewSubjects.add(boatHighlight); + + viewSubjects.add(Assets3D.boatHighlight); // Track player boat with camera viewSubjects.add(boatModel); @@ -465,8 +467,8 @@ public class RaceViewController extends Controller { AnimationTimer highlightTrack = new AnimationTimer() { @Override public void handle(long now) { - boatHighlight.setX(gpsConverter.convertGPS(boat.getPosition()).getX()); - boatHighlight.setZ(gpsConverter.convertGPS(boat.getPosition()).getY()); + Assets3D.boatHighlight.setX(gpsConverter.convertGPS(boat.getPosition()).getX()); + Assets3D.boatHighlight.setZ(gpsConverter.convertGPS(boat.getPosition()).getY()); } }; highlightTrack.start(); diff --git a/racevisionGame/src/main/java/visualiser/layout/Assets3D.java b/racevisionGame/src/main/java/visualiser/layout/Assets3D.java index ad613905..266d8e12 100644 --- a/racevisionGame/src/main/java/visualiser/layout/Assets3D.java +++ b/racevisionGame/src/main/java/visualiser/layout/Assets3D.java @@ -27,6 +27,7 @@ public class Assets3D { public static Subject3D cwNextArrow; public static Subject3D ccwNextArrow; public static SkyBox skyBox; + public static Subject3D boatHighlight; public static void loadAssets(){ loadSails(); @@ -35,6 +36,7 @@ public class Assets3D { loadSeaSurface(); loadSkybox(); loadSeagull(); + loadBoatHightlight(); } private static void loadNextArrow(){ @@ -64,6 +66,21 @@ public class Assets3D { } + private static void loadBoatHightlight(){ + Material markColor = new PhongMaterial(new Color(0,1,0,0.5)); + StlMeshImporter objModelImporter = new StlMeshImporter(); + String path = "assets/V1.0 Boat Highlight.stl"; + URL highlight = Assets3D.class.getClassLoader().getResource(path); + objModelImporter.read(highlight); + + MeshView hMesh = new MeshView(objModelImporter.getImport()); + hMesh.setMaterial(markColor); + hMesh.setMouseTransparent(true); + hMesh.toBack(); + boatHighlight = new Subject3D(hMesh, 0); + + } + private static void loadSails(){ sails = new MeshView[40]; ObjModelImporter objModelImporter = new ObjModelImporter(); diff --git a/racevisionGame/src/main/resources/assets/V1.0 Boat Highlight.stl b/racevisionGame/src/main/resources/assets/V1.0 Boat Highlight.stl new file mode 100644 index 00000000..8b0d5d59 Binary files /dev/null and b/racevisionGame/src/main/resources/assets/V1.0 Boat Highlight.stl differ