This commit is contained in:
Vysyr committed 2026-09-05 03:19:55 +02:00
1 parent 2a4da34fe9
commit bf525034e0
10 files changed
+142 -494

No files matched your search

Binary file not shown.
+47 -24
View File
@@ -17,7 +17,7 @@ import os, json, math, random, unreal
CONFIG_PATH = os.environ.get( CONFIG_PATH = os.environ.get(
"TERRAIN_CONFIG", "TERRAIN_CONFIG",
os.path.join(os.path.dirname(os.path.abspath(__file__)), "terrain_config.json"), os.path.join(os.path.dirname(os.path.abspath(__file__)), "terrain_config_variants_demo.json"),
) )
asset_tools = unreal.AssetToolsHelpers.get_asset_tools() asset_tools = unreal.AssetToolsHelpers.get_asset_tools()
@@ -85,7 +85,7 @@ class FractalHeightField:
frequency *= self.lacunarity frequency *= self.lacunarity
return (total / max_amp) * self.height_scale return (total / max_amp) * self.height_scale
def normal(self, x, y, step=25.0): def normal(self, x, y, step=200.0):
h_l = self.height(x - step, y) h_l = self.height(x - step, y)
h_r = self.height(x + step, y) h_r = self.height(x + step, y)
h_d = self.height(x, y - step) h_d = self.height(x, y - step)
@@ -145,17 +145,42 @@ def build_terrain_mesh(cfg, field):
return static_mesh, bounds return static_mesh, bounds
_mesh_base_z_cache = {} _mesh_bounds_cache = {}
def mesh_base_z(mesh): def mesh_local_bounds(mesh):
"""Local-space Z of the mesh's lowest point, so we can plant its base on the
ground instead of its (often bounding-box-centered) pivot."""
path = mesh.get_path_name() path = mesh.get_path_name()
if path not in _mesh_base_z_cache: if path not in _mesh_bounds_cache:
box = mesh.get_bounding_box() box = mesh.get_bounding_box()
_mesh_base_z_cache[path] = box.min.z _mesh_bounds_cache[path] = (box.min, box.max)
return _mesh_base_z_cache[path] return _mesh_bounds_cache[path]
def ground_offset_for(mesh, quat, scale_vec):
"""World-space Z distance from the actor's pivot down to the lowest point of
its (scaled, rotated) mesh, so the base can be planted exactly on the ground
no matter where the source asset's pivot was authored, or how it's tilted."""
box_min, box_max = mesh_local_bounds(mesh)
min_z = None
for x in (box_min.x, box_max.x):
for y in (box_min.y, box_max.y):
for z in (box_min.z, box_max.z):
corner = unreal.Vector(x * scale_vec.x, y * scale_vec.y, z * scale_vec.z)
world_z = quat.rotate_vector(corner).z
if min_z is None or world_z < min_z:
min_z = world_z
return -min_z
def align_and_yaw_quat(normal, yaw_degrees, align_to_normal):
"""Random yaw about the object's own up axis, then (optionally) tilt that
up axis to match the terrain normal - in that order, since tilting first
would rotate the yaw axis out from under the random spin."""
yaw_quat = unreal.Rotator(roll=0.0, pitch=0.0, yaw=yaw_degrees).quaternion()
if not align_to_normal:
return yaw_quat
align_quat = unreal.Vector(0.0, 0.0, 1.0).find_quat_between_normals(normal)
return align_quat * yaw_quat
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
@@ -199,21 +224,17 @@ def scatter_layer(layer_cfg, field, bounds, origin, base_folder):
mesh = rng.choice(meshes) mesh = rng.choice(meshes)
scale = rng.uniform(layer_cfg["min_scale"], layer_cfg["max_scale"]) scale = rng.uniform(layer_cfg["min_scale"], layer_cfg["max_scale"])
# Shift up by -min_z*scale so the mesh's lowest vertex sits on the ground, scale_vec = unreal.Vector(scale, scale, scale)
# regardless of where the source asset's pivot was authored.
ground_offset = -mesh_base_z(mesh) * scale
location = unreal.Vector(origin.x + x, origin.y + y, origin.z + z + ground_offset)
yaw = rng.uniform(0.0, 360.0) yaw = rng.uniform(0.0, 360.0)
if layer_cfg.get("align_to_normal", False): quat = align_and_yaw_quat(normal, yaw, layer_cfg.get("align_to_normal", False))
# Approximate tilt from the surface normal; good enough for gentle slopes. rotation = quat.rotator()
pitch = -math.degrees(math.atan2(normal.x, normal.z))
roll = math.degrees(math.atan2(normal.y, normal.z)) ground_offset = ground_offset_for(mesh, quat, scale_vec)
rotation = unreal.Rotator(roll=roll, pitch=pitch, yaw=yaw) location = unreal.Vector(origin.x + x, origin.y + y, origin.z + z + ground_offset)
else:
rotation = unreal.Rotator(roll=0.0, pitch=0.0, yaw=yaw)
actor = actor_subsystem.spawn_actor_from_object(mesh, location, rotation) actor = actor_subsystem.spawn_actor_from_object(mesh, location, rotation)
actor.set_actor_scale3d(unreal.Vector(scale, scale, scale)) actor.set_actor_scale3d(scale_vec)
actor.set_folder_path(f"{base_folder}/{layer_cfg['name']}") actor.set_folder_path(f"{base_folder}/{layer_cfg['name']}")
actor.set_actor_label(f"{layer_cfg['name']}_{spawned:04d}") actor.set_actor_label(f"{layer_cfg['name']}_{spawned:04d}")
spawned += 1 spawned += 1
@@ -245,13 +266,15 @@ def place_explicit(entries, field, origin, base_folder):
else: else:
scale_vec = unreal.Vector(scale, scale, scale) scale_vec = unreal.Vector(scale, scale, scale)
roll, pitch, yaw = entry.get("rotation", [0.0, 0.0, 0.0])
rotation = unreal.Rotator(roll=roll, pitch=pitch, yaw=yaw)
quat = rotation.quaternion()
z = z_offset z = z_offset
if entry.get("snap_to_terrain", True): if entry.get("snap_to_terrain", True):
z += field.height(x, y) - mesh_base_z(mesh) * scale_vec.z z += field.height(x, y) + ground_offset_for(mesh, quat, scale_vec)
roll, pitch, yaw = entry.get("rotation", [0.0, 0.0, 0.0])
location = unreal.Vector(origin.x + x, origin.y + y, origin.z + z) location = unreal.Vector(origin.x + x, origin.y + y, origin.z + z)
rotation = unreal.Rotator(roll=roll, pitch=pitch, yaw=yaw)
actor = actor_subsystem.spawn_actor_from_object(mesh, location, rotation) actor = actor_subsystem.spawn_actor_from_object(mesh, location, rotation)
actor.set_actor_scale3d(scale_vec) actor.set_actor_scale3d(scale_vec)
+2 -4
View File
@@ -37,9 +37,7 @@
{ {
"name": "Rocks", "name": "Rocks",
"meshes": [ "meshes": [
"/Game/ImportedAssets/Rocks/SM_rock1", "/Game/ImportedAssets/Rocks/SM_rock1"
"/Game/ImportedAssets/Rocks/SM_rock2",
"/Game/ImportedAssets/Rocks/SM_rock3"
], ],
"count": 150, "count": 150,
"min_height": -100.0, "min_height": -100.0,
@@ -63,7 +61,7 @@
}, },
{ {
"name": "RockCairn_Waypoint", "name": "RockCairn_Waypoint",
"mesh": "/Game/ImportedAssets/Rocks/SM_rock2", "mesh": "/Game/ImportedAssets/Rocks/SM_rock1",
"location": [-1500.0, -600.0, 0.0], "location": [-1500.0, -600.0, 0.0],
"snap_to_terrain": true, "snap_to_terrain": true,
"rotation": [0.0, 0.0, 0.0], "rotation": [0.0, 0.0, 0.0],
+93 -140
View File
@@ -1,150 +1,103 @@
# This file uses meters as units for non-parametric coordinates. # Blender 5.1.2
# www.blender.org
mtllib rock1.mtl mtllib rock1.mtl
g default o rock1
v 60.961374 -5.900725 666.433465 v 6.096138 -0.590068 5.627448
v 81.495080 -3.199092 601.016218 v 8.149508 -0.319905 -0.914276
v 53.343536 55.042628 643.268772 v 5.334354 5.504268 3.310981
v 76.070805 24.349729 604.198663 v 7.607081 2.434978 -0.596033
v -25.754741 70.179057 590.440984 v -2.575474 7.017910 -1.971801
v 39.079050 28.524794 549.884793 v 3.907905 2.852484 -6.027423
v -28.211224 1.467945 586.832256 v -2.821122 0.146799 -2.332672
v 38.099069 1.113398 548.445139 v 3.809907 0.111345 -6.171387
v -64.576491 1.211629 620.887836 v -6.457649 0.121167 1.072882
v 18.134000 -5.338232 689.297482 v 1.813400 -0.533819 7.913849
v 29.577130 40.349512 668.812091 v 2.957713 4.034956 5.865308
v -46.153565 45.713000 618.240132 v -4.615356 4.571305 0.808112
v -55.299658 44.455610 552.817086 v -5.529966 4.445566 -5.734191
v -18.120178 30.984263 541.991664 v -1.812018 3.098431 -6.816736
v -19.100158 3.572868 540.552010 v -1.910016 0.357292 -6.960700
v -62.273991 4.971875 543.303204 v -6.227399 0.497192 -6.685577
v -83.546520 4.715556 567.085103 v -8.354651 0.471560 -4.307392
v -67.072964 38.318831 579.168205 v -6.707297 3.831888 -3.099078
vt 0.013594 0.871319 vn 0.9220 0.2094 0.3256
vt 0.237971 0.867459 vn 0.4248 0.8517 -0.3068
vt 0.240427 0.957665 vn -0.1324 0.1755 -0.9755
vt 0.024171 0.963553 vn -0.0357 -0.9980 -0.0524
vt 0.427778 0.862291 vn -0.0373 -0.9980 -0.0505
vt 0.430233 0.952498 vn 0.7983 0.1143 -0.5913
vt 0.648270 0.548992 vn -0.5393 0.3723 0.7554
vt 0.868346 0.282651 vn -0.0389 -0.9981 -0.0487
vt 0.558597 0.993333 vn -0.0407 -0.9979 -0.0495
vt 0.569932 0.858421 vn 0.5155 0.3087 0.7993
vt 0.281954 0.465477 vn -0.1985 0.8612 0.4679
vt 0.635226 0.461082 vn -0.7901 0.3926 -0.4707
vt 0.963085 0.743641 vn 0.1128 0.7811 -0.6141
vt 0.664728 0.715269 vn 0.1385 0.0470 -0.9892
vt 0.519035 0.739057 vn -0.0361 -0.9980 -0.0522
vt 0.097769 0.502064 vn -0.0409 -0.9979 -0.0496
vt 0.417322 0.191267 vn -0.8678 0.3444 0.3583
vt 0.330903 0.427701 vn -0.6213 0.7803 0.0719
vt 0.110328 0.386391
vt 0.024080 0.178104
vt 0.595238 0.229407
vt 0.492016 0.327223
vt 0.084013 0.030278
vt 0.437309 0.028804
vt 0.598800 0.124634
vt 0.967964 0.867923
vt 0.651856 0.853576
vt 0.094870 0.672827
vt 0.276238 0.648165 vt 0.276238 0.648165
vt 0.501202 0.662779 vt 0.501202 0.662779
vt 0.483519 0.753918 vt 0.483519 0.753918
vt 0.335534 0.855512 vt 0.335534 0.855512
vt 0.215825 0.821752 vt 0.648270 0.548992
vt 0.120472 0.682533
vt 0.013594 0.564551
vt 0.475594 0.825721
vt 0.168730 0.610037
vt 0.315998 0.620256
vt 0.615583 0.628678
vt 0.988730 0.150924
vt 0.698679 0.376714 vt 0.698679 0.376714
vt 0.876431 0.076536
vt 0.914827 0.367708 vt 0.914827 0.367708
vt 0.947489 0.651940 vt 0.947489 0.651940
vt 0.558597 0.993333
vt 0.430233 0.952498
vt 0.427778 0.862291
vt 0.569932 0.858421
vt 0.417322 0.191267
vt 0.330903 0.427701
vt 0.110328 0.386391
vt 0.024080 0.178104
vt 0.013594 0.871319
vt 0.237971 0.867459
vt 0.240427 0.957665
vt 0.024171 0.963553
vt 0.281954 0.465477
vt 0.635226 0.461082
vt 0.615583 0.628678
vt 0.315998 0.620256
vt 0.084013 0.030278
vt 0.437309 0.028804
vt 0.215825 0.821752
vt 0.120472 0.682533
vt 0.967964 0.867923
vt 0.651856 0.853576
vt 0.664728 0.715269
vt 0.963085 0.743641
vt 0.094870 0.672827
vt 0.013594 0.564551
vt 0.097769 0.502064
vt 0.168730 0.610037
vt 0.868346 0.282651
vt 0.687173 0.061222 vt 0.687173 0.061222
vn 0.922010 0.209419 0.325639 vt 0.876431 0.076536
vn 0.922010 0.209419 0.325639 vt 0.988730 0.150924
vn 0.922010 0.209419 0.325639 vt 0.595238 0.229407
vn 0.922010 0.209419 0.325639 vt 0.492016 0.327223
vn 0.424792 0.851737 -0.306751 vt 0.598800 0.124634
vn 0.424792 0.851737 -0.306751 vt 0.475594 0.825721
vn 0.424792 0.851737 -0.306751 vt 0.519035 0.739057
vn 0.424792 0.851737 -0.306751 s 1
vn -0.132356 0.175476 -0.975546
vn -0.132356 0.175476 -0.975546
vn -0.132356 0.175476 -0.975546
vn -0.132356 0.175476 -0.975546
vn -0.035679 -0.997988 -0.052415
vn -0.035679 -0.997988 -0.052415
vn -0.035679 -0.997988 -0.052415
vn -0.035679 -0.997988 -0.052415
vn 0.798297 0.114283 -0.591321
vn 0.798297 0.114283 -0.591321
vn 0.798297 0.114283 -0.591321
vn 0.798297 0.114283 -0.591321
vn -0.539251 0.372322 0.755370
vn -0.539251 0.372322 0.755371
vn -0.539251 0.372322 0.755370
vn -0.539251 0.372322 0.755371
vn -0.038871 -0.998056 -0.048714
vn -0.038871 -0.998056 -0.048713
vn -0.038871 -0.998056 -0.048713
vn -0.038871 -0.998056 -0.048713
vn 0.515529 0.308716 0.799328
vn 0.515529 0.308716 0.799328
vn 0.515529 0.308716 0.799328
vn 0.515529 0.308716 0.799328
vn -0.198456 0.861207 0.467907
vn -0.198456 0.861207 0.467907
vn -0.198456 0.861207 0.467907
vn -0.198456 0.861207 0.467907
vn -0.790109 0.392588 -0.470747
vn -0.790109 0.392588 -0.470747
vn -0.790109 0.392588 -0.470747
vn -0.790109 0.392588 -0.470747
vn 0.112767 0.781105 -0.614133
vn 0.112767 0.781105 -0.614133
vn 0.112767 0.781105 -0.614133
vn 0.112767 0.781105 -0.614133
vn 0.138530 0.047003 -0.989242
vn 0.138530 0.047003 -0.989242
vn 0.138530 0.047003 -0.989242
vn 0.138530 0.047003 -0.989242
vn -0.035679 -0.997988 -0.052415
vn -0.035679 -0.997988 -0.052415
vn -0.035679 -0.997988 -0.052415
vn -0.035679 -0.997988 -0.052415
vn -0.040875 -0.997933 -0.049579
vn -0.040875 -0.997933 -0.049579
vn -0.040875 -0.997933 -0.049579
vn -0.040875 -0.997933 -0.049579
vn -0.867761 0.344427 0.358274
vn -0.867761 0.344427 0.358274
vn -0.867761 0.344427 0.358274
vn -0.867761 0.344427 0.358274
vn -0.621280 0.780287 0.071858
vn -0.621280 0.780287 0.071858
vn -0.621280 0.780287 0.071858
vn -0.621280 0.780287 0.071858
s off
g Rock_lp_1
usemtl initialShadingGroup usemtl initialShadingGroup
f 1/29/1 2/30/2 4/31/3 3/32/4 f 1/1/1 2/2/1 4/3/1 3/4/1
f 3/7/5 4/41/6 6/43/7 5/44/8 f 3/5/2 4/6/2 6/7/2 5/8/2
f 13/9/9 14/6/10 15/5/11 16/10/12 f 13/9/3 14/10/3 15/11/3 16/12/3
f 7/17/13 8/18/14 2/19/15 1/20/16 f 7/13/4 8/14/4 2/15/4 1/16/5
f 2/1/17 8/2/18 6/3/19 4/4/20 f 2/17/6 8/18/6 6/19/6 4/20/6
f 9/11/21 10/12/22 11/39/23 12/38/24 f 9/21/7 10/22/7 11/23/7 12/24/7
f 7/17/25 1/20/26 10/23/27 9/24/28 f 7/13/4 1/16/5 10/25/8 9/26/9
f 1/29/29 3/32/30 11/33/31 10/34/32 f 1/1/10 3/4/10 11/27/10 10/28/10
f 3/26/33 5/27/34 12/14/35 11/13/36 f 3/29/11 5/30/11 12/31/11 11/32/11
f 13/28/37 16/35/38 17/16/39 18/37/40 f 13/33/12 16/34/12 17/35/12 18/36/12
f 5/8/41 6/45/42 14/42/43 13/40/44 f 5/37/13 6/38/13 14/39/13 13/40/13
f 6/3/45 8/2/46 15/5/47 14/6/48 f 6/19/14 8/18/14 15/11/14 14/10/14
f 8/18/49 7/17/50 16/21/51 15/22/52 f 8/14/4 7/13/4 16/41/15 15/42/4
f 7/17/53 9/24/54 17/25/55 16/21/56 f 7/13/4 9/26/9 17/43/16 16/41/15
f 9/11/57 12/38/58 18/37/59 17/16/60 f 9/21/17 12/24/17 18/36/17 17/35/17
f 12/14/61 5/27/62 13/36/63 18/15/64 f 12/31/18 5/30/18 13/44/18 18/45/18
-145
View File
@@ -1,145 +0,0 @@
# This file uses meters as units for non-parametric coordinates.
mtllib rock4.mtl
g default
v 38.794239 -0.000003 40.511074
v 55.787256 0.636667 -4.093215
v 43.902161 125.036081 16.972691
v 53.751527 101.489783 -6.361710
v 9.082199 131.031642 1.244271
v 24.842513 95.184084 -39.805775
v 30.030623 -0.000003 -10.214713
v 35.364386 -0.000003 -36.239160
v -37.071816 0.636667 31.278475
v 5.246203 0.636667 60.851682
v 23.146697 118.556340 40.584149
v -4.392659 124.078623 18.054167
v -25.147788 62.874113 -34.415105
v -3.229192 75.462083 -52.986576
v -6.418482 -0.000003 -44.947513
v -36.447579 -0.000003 -37.182879
v -56.020129 0.636667 -12.088406
v -50.083272 67.039526 -7.514205
vt 0.317952 0.840764
vt 0.502279 0.839048
vt 0.550594 0.988133
vt 0.333404 0.996235
vt 0.711244 0.847972
vt 0.706618 0.969937
vt 0.823567 0.924330
vt 0.850461 0.815033
vt 0.716026 0.275741
vt 0.950806 0.195415
vt 0.846127 0.449700
vt 0.748417 0.497907
vt 0.735828 0.019705
vt 0.951102 0.018604
vt 0.493022 0.674398
vt 0.473431 0.787807
vt 0.259498 0.841579
vt 0.306000 0.653003
vt 0.101506 0.830603
vt 0.049871 0.715428
vt 0.288941 0.562889
vt 0.466113 0.541208
vt 0.013637 0.562688
vt 0.381595 0.388221
vt 0.487594 0.343790
vt 0.415976 0.513644
vt 0.217056 0.556374
vt 0.333329 0.035702
vt 0.427398 0.143485
vt 0.069695 0.466053
vt 0.083918 0.209647
vt 0.199429 0.017127
vt 0.717907 0.586179
vt 0.920575 0.604084
vt 0.914283 0.760194
vt 0.803969 0.787669
vt 0.669998 0.777843
vt 0.545794 0.602010
vt 0.985528 0.820589
vt 0.980204 0.929413
vn 0.932896 0.028330 0.359031
vn 0.932896 0.028330 0.359031
vn 0.932896 0.028330 0.359031
vn 0.932896 0.028330 0.359031
vn 0.403964 0.746830 -0.528260
vn 0.403964 0.746830 -0.528260
vn 0.403964 0.746830 -0.528260
vn 0.403964 0.746830 -0.528260
vn -0.454779 0.013700 -0.890499
vn -0.454779 0.013700 -0.890499
vn -0.454779 0.013700 -0.890499
vn -0.454779 0.013700 -0.890499
vn 0.024976 -0.999687 -0.001116
vn 0.024976 -0.999687 -0.001116
vn 0.024976 -0.999687 -0.001116
vn 0.024976 -0.999687 -0.001116
vn 0.797059 0.033109 -0.602993
vn 0.797059 0.033109 -0.602993
vn 0.797059 0.033109 -0.602993
vn 0.797059 0.033109 -0.602993
vn -0.570290 0.228977 0.788885
vn -0.570290 0.228977 0.788885
vn -0.570290 0.228977 0.788885
vn -0.570290 0.228977 0.788885
vn -0.009096 -0.999942 0.005786
vn -0.009096 -0.999942 0.005786
vn -0.009096 -0.999942 0.005786
vn -0.009096 -0.999942 0.005786
vn 0.621715 0.081576 0.778984
vn 0.621715 0.081576 0.778984
vn 0.621715 0.081576 0.778984
vn 0.621715 0.081576 0.778984
vn -0.012016 0.951904 0.306160
vn -0.012016 0.951904 0.306160
vn -0.012016 0.951904 0.306160
vn -0.012016 0.951904 0.306160
vn -0.746311 0.136504 -0.651449
vn -0.746311 0.136504 -0.651449
vn -0.746311 0.136504 -0.651449
vn -0.746311 0.136504 -0.651449
vn -0.489225 0.662245 -0.567530
vn -0.489225 0.662245 -0.567530
vn -0.489225 0.662245 -0.567530
vn -0.489225 0.662245 -0.567530
vn 0.311742 -0.051132 -0.948790
vn 0.311742 -0.051132 -0.948790
vn 0.311742 -0.051132 -0.948790
vn 0.311742 -0.051132 -0.948790
vn 0.000000 -1.000000 0.000000
vn 0.000000 -1.000000 0.000000
vn 0.000000 -1.000000 0.000000
vn 0.000000 -1.000000 0.000000
vn -0.007599 -0.999929 0.009230
vn -0.007599 -0.999929 0.009230
vn -0.007599 -0.999929 0.009230
vn -0.007599 -0.999929 0.009230
vn -0.789101 0.187167 0.585054
vn -0.789101 0.187167 0.585054
vn -0.789101 0.187167 0.585054
vn -0.789101 0.187167 0.585054
vn -0.604858 0.626514 -0.491556
vn -0.604858 0.626514 -0.491556
vn -0.604858 0.626514 -0.491556
vn -0.604858 0.626514 -0.491556
s off
g Rock_lp_4
usemtl initialShadingGroup
f 1/33/1 2/34/2 4/35/3 3/36/4
f 3/15/5 4/16/6 6/17/7 5/18/8
f 13/7/9 14/6/10 15/5/11 16/8/12
f 7/24/13 8/25/14 2/26/15 1/27/16
f 2/1/17 8/2/18 6/3/19 4/4/20
f 9/9/21 10/13/22 11/14/23 12/10/24
f 7/24/25 1/27/26 10/30/27 9/31/28
f 1/33/29 3/36/30 11/37/31 10/38/32
f 3/15/33 5/18/34 12/21/35 11/22/36
f 13/7/37 16/8/38 17/39/39 18/40/40
f 5/18/41 6/17/42 14/19/43 13/20/44
f 6/3/45 8/2/46 15/5/47 14/6/48
f 8/25/49 7/24/50 16/28/51 15/29/52
f 7/24/53 9/31/54 17/32/55 16/28/56
f 9/9/57 12/10/58 18/11/59 17/12/60
f 12/21/61 5/18/62 13/20/63 18/23/64
-181
View File
@@ -1,181 +0,0 @@
# This file uses meters as units for non-parametric coordinates.
mtllib rock3.mtl
g default
v 60.133407 0.000004 367.305796
v 91.064860 0.000004 266.122598
v 50.472230 59.334767 340.856741
v 88.804659 27.466667 265.296105
v -53.274603 68.849652 286.528257
v 28.942177 27.466667 202.002468
v -44.463900 0.000004 291.142106
v 26.931423 0.000004 207.139466
v -85.838949 0.231739 364.912423
v -13.850827 0.231739 405.900329
v -3.247214 45.162099 390.218536
v -70.372656 45.162099 355.355635
v -65.470929 40.151796 261.749006
v -37.362145 27.466667 238.084505
v -45.639745 0.000004 233.749824
v -71.579786 0.000004 254.552454
v -87.258289 0.231739 297.370367
v -76.126751 34.988487 293.446185
v 51.182110 76.647590 319.321325
v 72.042295 44.779492 277.126060
v 29.283761 44.779492 222.789145
v 0.399489 86.162475 271.769669
vt 0.577364 0.537112
vt 0.573117 0.277027
vt 0.656499 0.270336
vt 0.659842 0.529230
vt 0.561526 0.863531
vt 0.544217 0.948922
vt 0.719920 0.313461
vt 0.735012 0.515141
vt 0.981084 0.191616
vt 0.910527 0.341191
vt 0.886809 0.549747
vt 0.186571 0.512872
vt 0.435295 0.510629
vt 0.441575 0.654141
vt 0.214425 0.653785
vt 0.656530 0.567258
vt 0.610564 0.756926
vt 0.043923 0.677298
vt 0.014159 0.571962
vt 0.242644 0.130804
vt 0.508687 0.200230
vt 0.453022 0.440938
vt 0.195765 0.496807
vt 0.291715 0.013576
vt 0.367077 0.051692
vt 0.026268 0.360587
vt 0.033479 0.123853
vt 0.179877 0.030658
vt 0.001627 0.792049
vt 0.354478 0.793410
vt 0.988633 0.819088
vt 0.071370 0.977140
vt 0.033074 0.721007
vt 0.237306 0.676581
vt 0.747212 0.746434
vt 0.835611 0.740298
vt 0.458341 0.844041
vt 0.642427 0.751423
vt 0.502489 0.015520
vt 0.778956 0.016676
vt 0.780597 0.099459
vt 0.563099 0.201029
vt 0.740036 0.163476
vt 0.616443 0.257512
vt 0.640014 0.991670
vt 0.650089 0.868329
vt 0.766738 0.890912
vt 0.728607 0.993517
vt 0.338219 0.954483
vt 0.346133 0.871132
vt 0.792650 0.854321
vt 0.298401 0.984476
vn 0.919996 0.226794 0.319643
vn 0.919996 0.226794 0.319643
vn 0.919996 0.226794 0.319643
vn 0.919996 0.226794 0.319643
vn 0.485070 0.791688 -0.371398
vn 0.485070 0.791688 -0.371398
vn 0.485070 0.791688 -0.371398
vn 0.485070 0.791689 -0.371398
vn -0.577892 0.255150 -0.775202
vn -0.577893 0.255150 -0.775202
vn -0.577892 0.255150 -0.775202
vn -0.577893 0.255150 -0.775202
vn 0.000000 -1.000000 0.000000
vn 0.000000 -1.000000 0.000000
vn 0.000000 -1.000000 0.000000
vn 0.000000 -1.000000 0.000000
vn 0.700233 -0.073905 -0.710078
vn 0.700233 -0.073905 -0.710078
vn 0.700233 -0.073905 -0.710078
vn 0.700233 -0.073905 -0.710078
vn -0.446673 0.359674 0.819218
vn -0.446673 0.359674 0.819218
vn -0.446673 0.359674 0.819218
vn -0.446673 0.359674 0.819218
vn -0.001628 -0.999996 0.002454
vn -0.001628 -0.999996 0.002454
vn -0.001628 -0.999996 0.002454
vn -0.001628 -0.999996 0.002454
vn 0.514174 0.317328 0.796824
vn 0.514174 0.317328 0.796824
vn 0.514174 0.317328 0.796824
vn 0.514174 0.317328 0.796824
vn -0.081754 0.962335 0.259284
vn -0.081754 0.962335 0.259284
vn -0.081754 0.962335 0.259284
vn -0.081754 0.962335 0.259284
vn -0.923052 0.226040 -0.311256
vn -0.923052 0.226040 -0.311256
vn -0.923052 0.226040 -0.311256
vn -0.923052 0.226040 -0.311256
vn -0.337495 0.658108 -0.673046
vn -0.337495 0.658108 -0.673046
vn -0.337495 0.658108 -0.673046
vn -0.337495 0.658108 -0.673046
vn -0.410614 0.063618 -0.909587
vn -0.410614 0.063618 -0.909587
vn -0.410614 0.063618 -0.909587
vn -0.410614 0.063618 -0.909587
vn 0.000000 -1.000000 0.000000
vn 0.000000 -1.000000 0.000000
vn 0.000000 -1.000000 0.000000
vn 0.000000 -1.000000 0.000000
vn -0.005207 -0.999985 0.001427
vn -0.005207 -0.999985 0.001427
vn -0.005207 -0.999985 0.001427
vn -0.005207 -0.999985 0.001427
vn -0.946809 0.320637 0.027268
vn -0.946809 0.320637 0.027268
vn -0.946809 0.320637 0.027268
vn -0.946809 0.320637 0.027268
vn -0.833535 0.547628 -0.072960
vn -0.833535 0.547628 -0.072960
vn -0.833535 0.547628 -0.072960
vn -0.833535 0.547628 -0.072960
vn 0.869313 0.456276 0.190017
vn 0.869313 0.456276 0.190017
vn 0.869313 0.456276 0.190017
vn 0.869313 0.456276 0.190017
vn 0.539105 0.698691 -0.470316
vn 0.539105 0.698691 -0.470316
vn 0.539105 0.698691 -0.470316
vn 0.539105 0.698691 -0.470316
vn -0.338632 0.647169 -0.683008
vn -0.338632 0.647169 -0.683008
vn -0.338632 0.647169 -0.683008
vn -0.338632 0.647169 -0.683008
vn -0.215613 0.847341 0.485309
vn -0.215613 0.847341 0.485309
vn -0.215613 0.847341 0.485309
vn -0.215613 0.847341 0.485309
s off
g Rock_lp_3
usemtl initialShadingGroup
f 1/39/1 2/40/2 4/41/3 3/42/4
f 19/11/5 20/8/6 21/7/7 22/10/8
f 13/45/9 14/6/10 15/5/11 16/46/12
f 7/20/13 8/21/14 2/22/15 1/23/16
f 2/1/17 8/2/18 6/3/19 4/4/20
f 9/12/21 10/13/22 11/14/23 12/15/24
f 7/20/25 1/23/26 10/26/27 9/27/28
f 1/16/29 3/17/30 11/14/31 10/13/32
f 3/29/33 5/30/34 12/52/35 11/32/36
f 13/45/37 16/46/38 17/47/39 18/48/40
f 5/51/41 6/37/42 14/38/43 13/35/44
f 6/49/45 8/50/46 15/5/47 14/6/48
f 8/21/49 7/20/50 16/24/51 15/25/52
f 7/20/53 9/27/54 17/28/55 16/24/56
f 9/12/57 12/15/58 18/18/59 17/19/60
f 12/31/61 5/51/62 13/35/63 18/36/64
f 3/42/65 4/41/66 20/43/67 19/44/68
f 4/4/69 6/3/70 21/7/71 20/8/72
f 6/3/73 5/9/74 22/10/75 21/7/76
f 5/30/77 3/29/78 19/33/79 22/34/80
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.