feat: hero facade blockout for 6840 Hollywood Blvd
Tools/hero_facade_build.py builds the north elevation parametrically and writes a JSON report naming the evidence behind every part: the 25.75 m frontage and 14.5 m height are measured, the 4.96 m column bay comes from the sibling notes and matches that frontage, the three portal flights follow the photographs (five risers, overturning the inherited eight-step, 12 m wide claim), and the rest is labelled assumption. Tools/ue_hero_facade_import.py imports it with the ue_metric_v1 preset (2604 x 1257 x 1450 cm, 1892 tris, 4 materials) and places it on the measured building line of /Game/Hollywood/DemoMap. Two new review shots at review-04 and review-05, both pending approval. Camera placement cost four renders: the first two sat inside the facade body, and the frontage faces Unreal -Y, so a camera has to stand at Y < -1450 cm, not north of the building line in project terms.
This commit is contained in:
1 parent
41fd249b8a
commit
c5e30d1c36
14 files changed
+600
-6
No files matched your search
@@ -94,6 +94,23 @@ try:
|
||||
c.static_mesh_component.set_static_mesh(m)
|
||||
log(f"staged: {name} at ({x}, 600, 50)")
|
||||
|
||||
# Hero facade, if the import has run: two views a reviewer needs — straight on
|
||||
# from the north sidewalk, and the oblique street view from further west.
|
||||
hero = unreal.EditorAssetLibrary.load_asset("/Game/Hollywood/ElCapitan/SM_HeroFacade")
|
||||
# The imported mesh spans Y -7..+1250 cm in local space (front plane at -7, the
|
||||
# body behind it) and is centred on X. To put the front plane on the block's
|
||||
# building line the actor goes at Y = building line + 7 cm.
|
||||
hero_x = -12024.5 + 1302.0
|
||||
hero_y = -1450.0 + 7.0
|
||||
if hero:
|
||||
actor = spawn(unreal.StaticMeshActor, unreal.Vector(hero_x, hero_y, 0.0), "Hero_Facade")
|
||||
if actor:
|
||||
actor.static_mesh_component.set_static_mesh(hero)
|
||||
actor.static_mesh_component.set_mobility(unreal.ComponentMobility.STATIC)
|
||||
log("staged: hero facade at the measured building line")
|
||||
else:
|
||||
log("MISSING: /Game/Hollywood/ElCapitan/SM_HeroFacade (run Tools/ue_hero_facade_import.py)")
|
||||
|
||||
shots = spawn(unreal.GigLineShotActor, unreal.Vector(0, 0, 300), "ShotSequencer")
|
||||
if shots:
|
||||
shots.set_editor_property("shot_locations", [
|
||||
@@ -103,6 +120,12 @@ try:
|
||||
# first-person eye height, just south-east of the character: this is the
|
||||
# view a player has at spawn, capsule and camera stack in frame
|
||||
unreal.Vector(120, -260, 165),
|
||||
# straight on from the north sidewalk at eye height. No camera may sit
|
||||
# inside the facade body (Y -1443..+250 cm), so both stand north of the
|
||||
# front plane and look south into the colonnade.
|
||||
unreal.Vector(hero_x + 200, -3200, 420),
|
||||
# oblique from the north-west, reading the colonnade in depth
|
||||
unreal.Vector(hero_x - 2200, -3400, 620),
|
||||
])
|
||||
shots.set_editor_property("shot_rotations", [
|
||||
unreal.MathLibrary.find_look_at_rotation(
|
||||
@@ -113,11 +136,16 @@ try:
|
||||
unreal.Vector(200, 100, 200), unreal.Vector(0, 600, 50)),
|
||||
unreal.MathLibrary.find_look_at_rotation(
|
||||
unreal.Vector(120, -260, 165), unreal.Vector(-200, 600, 90)),
|
||||
unreal.MathLibrary.find_look_at_rotation(
|
||||
unreal.Vector(hero_x + 200, -3200, 420), unreal.Vector(hero_x, hero_y + 400, 760)),
|
||||
unreal.MathLibrary.find_look_at_rotation(
|
||||
unreal.Vector(hero_x - 2200, -3400, 620), unreal.Vector(hero_x + 300, hero_y, 700)),
|
||||
])
|
||||
shots.set_editor_property("shot_names",
|
||||
["overview", "character", "scale-cubes", "first-person"])
|
||||
["overview", "character", "scale-cubes", "first-person",
|
||||
"hero-facade-front", "hero-facade-oblique"])
|
||||
shots.set_editor_property("quit_when_done", True)
|
||||
log("staged: ShotSequencer with 4 cameras")
|
||||
log("staged: ShotSequencer with 6 cameras")
|
||||
except Exception as exc: # noqa
|
||||
log(f"staging failed: {exc!r}")
|
||||
|
||||
|
||||
Reference in new issue
Block a user