private void Start() { points = new Vector3[Path.Locations.Length]; for (var i = 0; i < points.Length; i++) { points[i] = Path.Locations[i].ToVector3(); } spline = Misc.BuildSpline(Path.SplineType, points, SplineSampleSize, Path.Alpha); var sample = spline.SamplePoints(ObjectCount); for (var i = 0; i < sample.Length; i++) { var location = new Location() { Latitude = sample[i].z, Longitude = sample[i].x, Altitude = sample[i].y, AltitudeMode = AltitudeMode }; var instance = PlaceAtLocation.CreatePlacedInstance(Prefab, location, PlacementSettings, DebugMode); instance.name = $"{gameObject.name} - {i}"; } }
public void AddLocation(Location location) { var instance = PlaceAtLocation.CreatePlacedInstance(Prefab, location, PlacementOptions, DebugMode); instance.name = $"{gameObject.name} - {locations.Count}"; locations.Add(location); instances.Add(instance); }
void PlaceEntryAtLocation(Entry entry) { var prefab = PrefabDatabase.GetEntryById(entry.MeshId); if (prefab == null) { Debug.LogWarning($"Invalid prefab '{entry.MeshId}'"); return; } var location = entry.Location; var options = new PlaceAtLocation.PlaceAtOptions { }; entry.Instance = PlaceAtLocation.CreatePlacedInstance(prefab, location, options, false); entry.Instance.transform.localEulerAngles = new Vector3(0, entry.Rotation, 0); }
void BuildGameObjects() { foreach (var entry in _dataEntries) { var Prefab = PrefabDatabase.GetEntryById(entry.meshId); if (!Prefab) { Debug.LogWarning($"[ARLocation#WebMapLoader]: Prefab {entry.meshId} not found."); continue; } var PlacementOptions = new PlaceAtLocation.PlaceAtOptions() { MovementSmoothing = entry.movementSmoothing, MaxNumberOfLocationUpdates = entry.maxNumberOfLocationUpdates, UseMovingAverage = entry.useMovingAverage, HideObjectUntilItIsPlaced = entry.hideObjectUtilItIsPlaced }; var location = new Location() { Latitude = entry.lat, Longitude = entry.lng, Altitude = entry.altitude, AltitudeMode = entry.getAltitudeMode(), Label = entry.name }; var instance = PlaceAtLocation.CreatePlacedInstance(Prefab, location, PlacementOptions, DebugMode); _stages.Add(instance); } }