Submitted:
30 September 2026
Posted:
02 October 2026
You are already at the latest version
Abstract
Multi-state photogrammetry records different conditions of the same physical object, but interactive use requires compatible geometry, paired appearance data and coordinated controls. We present the development and evaluation of the ODD INN system, linking offline fitting and asset preparation in Blender to geometry and material transitions in Unreal Engine 5. A summer–winter campaign aimed to scan an entire open-air museum; ten large sessions produced more than 2 TB of campaign data. Selected assets were integrated into Odmieniec, a playable environment with sliders, group controls, a freezing projectile, an expanding cold sphere and scene-wide transformations. The implementation uses one blend mask to coordinate geometric displacement, colour, normals and material properties. Evaluation combines integration tests, gameplay demonstrations, quality-assurance and rendering observations with supplementary source inspection and analysis of 199 frames from three recordings. These sequences show intermediate appearance, editable groups and repeated bidirectional changes; project reports document restoration and changes to at least five local and twenty global objects. The contribution is an implemented path from prepared observations to coordinated rendering and scoped interaction. The supplementary 2026 checks did not repeat Unreal execution. Geometric accuracy, restoration reliability and isolated transition cost remain unquantified.
Keywords:
multi-state photogrammetry
; geometric morphing
; material blending
; interactive environments
; state control
; Unreal Engine
1. Introduction
A physical object can be recorded in several observable conditions: its surface geometry, coverage and material appearance may all differ between captures. Multi-state photogrammetry preserves these observations, but separate reconstructions do not by themselves provide a controllable object for an interactive application. The ODD INN project addressed this connection through a field campaign with the objective of scanning an entire open-air museum in summer and winter and turning the acquired states into an environment that changes through player interaction.
The acquisition report records ten large photogrammetry sessions and more than 2 TB of campaign data, comprising RAW photographs, developed images, RealityCapture projects and 3D exports. It states that substantially more than twenty objects were captured in two states, with twenty selected for quality and suitability for system development [P16]. Twenty is a selected development subset, not the total acquisition extent. The stage-4 report identifies the Museum of Folk Architecture in Sanok (Muzeum Budownictwa Ludowego w Sanoku), Poland, as a source location for objects represented in the environment’s model collection [P05]. The subsequent game scene combines acquired assets in a newly composed settlement; its report refers to scans from open-air museums and explicitly describes rearranging them [P03]. The record therefore establishes a substantial acquisition campaign and an authored environment, without verifying exhaustive coverage of one museum or its reproduction at a metrically faithful layout.
The implemented workflow connects three stages. Photogrammetry reconstructs the observed conditions of the same objects. Offline fitting and preparation in Blender provide compatible geometry, deformation data and paired appearance inputs. Unreal Engine then interpolates those prepared inputs and exposes the transformation to authoring controls and gameplay [P01, P07]. Correspondence is prepared before import; the running game does not align independent scans. This separation allows a captured difference to become an editable scene property.
The resulting demonstrator, Odmieniec, connects the prepared assets to sliders, selected-object controls and spatial effects. The player can use a freezing projectile, an expanding cold sphere or a scene-wide transformation. Development reports describe completing all three scenarios after object placement and effect settings were edited; retained recordings show asset transitions, a configurable local group and the sphere sequence [P05]. Related environment assets are commercially distributed on Fab [1]. The game is the application result of the workflow, while commercial distribution is a separate dissemination outcome.
This article evaluates the runtime integration within that single capture-to-interaction development. Its companion article examines correspondence and offline preparation in the same system. Here the information-system problem is to keep geometric and appearance changes coordinated while controls select their recipients, spatial extent and retained scene condition. Unreal Engine supplies interpolation, material parameters and serialization; the contribution is their implemented connection to the prepared capture data, the scene controls and gameplay.
Two research questions organize the study. RQ1: How does the implemented system connect prepared multi-state data to coordinated geometry and appearance under object, group and spatial controls? RQ2: Which transformations and interactions were achieved in the seasonal application, and what constraints emerge from its integration, tests and demonstrations? We present the asset-to-interaction architecture and evaluate compatibility, recipient selection and intermediate appearance. Supplementary source and media analyses make the implemented connections and observed behaviour explicit. Seasonal capture is the demonstrated case of the broader multi-state problem. Morphing produces a rendered transition between prepared observations; it does not measure the physical process or the accuracy of change between capture dates.
2. Related Work
Photogrammetry-to-engine pipelines are established. Apollonio et al. describe a museum workflow connecting capture, processed geometry and derived maps to physically based presentation and interactive navigation in Unity [2]. Wen et al.'s Quaddle 2.0 toolbox generates controlled variations of geometry and appearance in Blender and exports assets for applications including Unity [3]. These studies provide relevant preparation and integration precedents. Quaddle's generated feature variations should not be equated with transitions between two scanned conditions of a physical object, or with continuous morphing performed by its runtime engine.
Ludwig et al. jointly morph shape and view-dependent appearance from photogrammetric objects, precomputing intermediate reconstructions that support subsequent interactive viewing [4]. Here, prepared common-mesh deformation and endpoint materials are interpolated at runtime and connected to scoped controls and gameplay. No comparative quality or speed advantage is inferred.
Epic's Unreal Engine 5.2 documentation describes both FBX morph targets for skeletal meshes and a static-mesh workflow that stores deformation in UV channels and applies it through World Position Offset [5,6]. The latter includes scalar-controlled interpolation and provides an established capability directly relevant to the representation used here. The project's early skeletal prototype and later material-driven static-mesh implementation are therefore distinct adaptations of existing facilities [P02]. Neither UV-carried displacement nor Lerp is claimed as a new primitive.
Material Parameter Collections distribute shared values across materials, with documented examples involving snow and morph states; Custom Primitive Data provides per-primitive values, and Material Layers supports reusable material composition [7,8,9]. SaveGame stores application-defined data that application code must restore to scene objects [10]. These facilities explain the available mechanisms. The case contribution concerns the prepared asset contract, the scopes and interactions of its controls, and their working integration with gameplay and persistence.
The winter application also differs from snow simulation. Reynolds et al. model occlusion-based accumulation through height maps, projection, view-dependent tessellation and changes to geometry and colour [11]. Cordonnier et al. generate time-evolving snow-covered landscapes using a heightfield with multiple snow layers and interactive controls [12]. ODD INN instead interpolates prepared endpoints and controls where their transition appears. It does not predict accumulation, melting or conservation of mass, so those methods are contextual prior work rather than equivalent performance baselines.
For interactive information systems, the separation between represented state, synchronization and validated commands is also significant. Solanes et al. describe a layered industrial-metaverse architecture connecting a digital twin with a physical programmable logic controller; the principal evaluation uses a digital representation of the supervised process [13]. Its control and synchronization problem differs from prepared scene assets. It nevertheless clarifies why an application-level account should identify where state is held and how commands affect it, rather than merely list the underlying platform features. The present case supplies that account for coordinated asset transformations.
3. System Study and Evaluation Method
3.1. System Development and Evaluation Scope
The study concerns one system developed from multi-state capture through offline preparation to interactive rendering. Its evaluation follows that chain: prepared-data and material connections explain the transformation, integration checks test the addition of assets, and controls and gameplay scenarios exercise the system in use. Development-stage tests are recorded in reports, QA workbooks, profiling captures and demonstrations. Supplementary analyses in 2026 examine the source implementation and retained recordings, together with a bounded offline compatibility check. These analyses extend the assessment of the same system; they do not constitute a new implementation or a repeated Unreal experiment. The runtime-focused analysis here examines offline preparation to establish the data interface received by the application.
The released implementation supplies the original Python source of OddInn Tools 1.0.0 and selected editable Unreal assets, including two ClayPot examples, the morph material/functions, local and spatial controllers, and save-system structures [14]. Static source inspection followed coordinate assignments and UV writes; inspection of native packages followed named imports, parent references and serialized material-expression inputs. The selected package hashes were checked against the release manifest. A bounded reader preserved byte offsets, export indices and undecoded property payloads in a separate article supplement. It did not execute graphs or supply missing class-default values. The supplementary methodological note specifies this inspection scope and the exact source locations.
Seven development documents cover the application chain: stage-2 milestones 7–9, the stage-3 and stage-4 reports, the code documentation and the system manual [P01, P02, P03, P04, P05, P06, P07]. The acquisition report establishes campaign scale [P16]. Concrete integration, QA, validation and execution records supply additional checks. The supplementary worksheet retains 29 functional, contextual or adverse assertions and adds a separate register of static implementation findings. Goals are excluded from achieved-result coding, and duplicated records of the same activity are not independent trials.
OpenAI Codex (GPT-6; accessed 24–25 September 2026) assisted with collecting, consolidating and analysing project evidence, literature searches, supplementary analysis scripts, and manuscript drafting and revision. Original acquisitions, development-stage experiments and demonstrations were conducted within the ODD INN project.
3.2. Functional Assessment and Media Analysis
For each function, the implementation description and available static findings were compared with the test and demonstration record. Native-asset connections were assigned to their recorded snapshot, without assuming that every earlier recording used identical bytes. Agreement between a manual, a test report and a recording connects the implementation to observed behaviour but does not create independent experimental replications. The supplementary assessment is author-led, without blinded independent coding or an inter-rater agreement estimate. Adverse QA entries and unfilled test-plan fields are retained alongside successful demonstrations.
Three original recordings accompany this version as Supplementary Videos S1–S3: Snow_Morphing.mov (6.53 s), LocalSnow.mp4 (72.02 s), and the stage-4 cold-sphere scenario (51.54 s). Their full temporal extents were sampled, including the first and final decoded frames. The initial schedule requested S1 frames every 0.25 s and S2/S3 frames every 1 s. Inspection then guided denser sampling of visible changes: S1 at requested intervals of 1/30 s over 2.5–3 s; S2 every 0.25 s over 19–24 and 61–63 s; and S3 every 0.25 s over 26–30 s and every 0.5 s over 42–47 s. Each request selected the first decoded frame at or after that time; duplicate selections were removed. This yielded 35 of 196 S1 frames, 94 of 1799 S2 frames and 70 of 1858 S3 frames: 199 inspected frames in total.
All sampled frames were visually reviewed in time order using contact sheets; publication panels and frames used for numerical interface readings were also opened at native resolution. The supplementary media event log organizes the inspection into 18 events and records source hashes, exact frame indices/timestamps, visible inputs, scene responses, camera/group changes and uncertainty. This is sampled observation across each complete recording, not an assertion that every frame or the audio track was examined. It supports assessment of control sequences and visible intermediate conditions, without estimating frame rate, latency or temporal smoothness from video timing. Projectile and scene-wide scenario completion is established from reports; S3 directly documents the sphere sequence.
Historical technical records are available in the versioned repository [14]. The Supplementary Evidence Register identifies P01–P07 as reports/manuals, P08–P11 as material-validation records, P12 as a shader-integration check, P13–P14 as QA workbooks, P15 as runtime-log context and P16 as the acquisition report. De-identified extracts and original/deposited hashes make their coverage explicit. P identifiers identify sources, not trials. The media analysis, event log, functional worksheet and new static-inspection outputs are separate article supplements, distinct from the released historical implementation and repository version 1.1.0.
3.3. Implementation Versions and Supplementary Checks
The preserved project contains editable content and the original scenario maps. The public research release provides a selected component set and its source/configuration, enabling inspection without redistributing the entire game. The project's runtime execution is assessed from its recorded tests and demonstrations; the supplementary 2026 checks did not repeat Unreal compilation, loading or execution. Static links and the separately identified offline compatibility check explain implementation details, while development-stage demonstrations and measurements establish the observed application behaviour. A serialized material-expression connection does not by itself validate the execution of a newly assembled test level.
Figure 1 summarizes the stage-2 material from P01, Figure 18 and its node descriptions. The original screenshot is retained unchanged. The native snapshot described below supplies additional connections from a later implementation stage; those findings are identified separately from the earlier diagram. Notation introduced in this article summarizes these sources; it is not presented as original project code. Historical measurements were transcribed from identified records and were not replaced by new arithmetic checks or static observations.
4. Implemented Transformations and Controls
4.1. Offline Preparation: From Scanned Endpoints to a Compatible Asset
The workflow begins with photogrammetric reconstructions of two observed conditions of the same physical object. These independent reconstructions are fitted and prepared in Blender before runtime use. P01 explicitly identifies the source/target pair as photogrammetric and notes that their textures were generated separately [P01]. Geometry preparation fits a representation to the target condition. The system manual describes retaining the fitted result as a shape key, converting shape-key information into UV maps, and exporting through FBX [P07]. Runtime interpolation therefore consumes a prepared correspondence; it does not match independent scan meshes during play. The records establish this preparation route without providing a complete identity map from every visible game object back to its capture session.
The compatible asset combines reference geometry, encoded deformation and two sets of appearance data. We summarize these dependencies as
where a renderable component i references geometry Gi, deformation data Di and endpoint material inputs . Multiple components can reference the same prepared asset while receiving different controls. This notation summarizes the implemented dependencies for the article; it is not an original asset schema or a new algorithm.
The released 1.0.0 preparation operator retains vertex-index correspondence and packs non-basis shape keys in pairs, using three UV layers per pair after the two base layers. It writes local-coordinate differences multiplied by 100 into each polygon corner. An unpaired last key uses zero deformation for the absent second target. The exact assignments and context requirements are specified in the supplementary note [14]. This is a code-level description of the prepared-data interface; the multiplier alone does not establish physical units or verify FBX axis and UV conversion.
A separate 2026 offline check executed this unchanged UV operator in Blender 5.2.0 LTS on six archived KM3 source/result combinations, using one non-basis key and five UV layers. The base-mesh coordinate, vertex/face-order and UV arrays were preserved exactly through Blender–FBX–Blender under the recorded export settings (Supplementary Dataset A1). This checks that preparation interface in a defined environment; it does not rerun fitting, reproduce historical Blender 3.4, establish the provenance of the six-UV ClayPot assets or test Unreal import.
The stage-2 report labels deformation channels 2, 3 and 4 [P01]. In the released native snapshot, MF_StaticMeshMorph has serialized texture-coordinate inputs 3 and 4, followed by a component mask, append and instance-source transform leading to Morph Target 1 WPO. These are identified separately from the earlier diagram. The two released ClayPot meshes reference their material instances, whose parent is m_Morph_01_01; that material calls the morph and snow functions. Both instances reference six endpoint textures. Source inspection establishes this asset-to-material path. The complete texture-parameter binding, capture-session identity and imported-coordinate round trip remain outside the verified chain.
A concrete downstream check follows a newly imported stone-stair model. The tester creates a material instance, connects two texture sets containing colour, surface-relief information and a packed metallic/roughness/ambient-occlusion mask, places the object in the test scene and varies the existing slider between illustrated summer and winter appearances (P12; also reproduced in P04, Section I.3.2, Figures 70–75) [P12, P04]. This is a traceable import–material–control chain for an additional asset. The check does not identify its original capture session or independently document its deformation-channel construction; those upstream operations are described by P01/P07 rather than inferred from the stair images. The two records reproduce one check, not two trials.
4.2. Runtime Coordination of Geometry and Appearance
Development progressed from object replacement (Set Static Mesh) through a skeletal-mesh prototype (Set Morph Target and Timeline) to the material-driven static-mesh representation [P02]. In the refined stage-2 material, the shared State parameter controls texture blending and the displacement path (Figure 1). The documented elementary blend is
lerp(a,b,α) = (1 − α)a + αb,α ∈ [0,1].
Here a,b are compatible scalar or vector inputs. The endpoint asset is illustrated in Figure 2. The equation describes the standard interpolation operation. In the released m_Morph_01_01, four serialized LinearInterpolate expressions—for base colour, normal, packed material properties and World Position Offset—have their Alpha inputs connected to output 2 of the same MF_Snow call. That output is named BlendMask; the function and call have matching output identifiers. The displacement interpolator receives the morph-function output, and the material outputs receive the respective blended signals. This establishes a shared controlling signal in the saved graph, without assuming identical processing after each interpolation or a particular unsaved engine default [14]. The report states that the parameter can be changed in the editor and during gameplay [P01]. An early procedural-noise texture experiment was removed in the refined shader; the later directional boundary uses a separate noise texture. The removal is an implementation change, not an independently measured speedup [P04].
4.3. Transition Controls and Spatial Scope
Table 1 connects prepared asset data to per-component control, shared spatial effects and retained scene parameters. It identifies which controls update the values that drive the transformation.
SetupSnowLevel traverses configured actors and their static-mesh components, writing Local Snow with Set Scalar Parameter for Custom Primitive Data [P04]. The earlier selection slider skips incompatible objects [P02]. These are related control entry points, not evidence that every displayed slider has an identical internal implementation. The local-controller recording makes its editable value and actor list visible.
The controls connect different levels of the same workflow. A prepared material defines how an object can transform; a controller selects the actor components receiving local values; shared parameters describe environmental effects. The recovered MF_Snow contains Local Snow with an explicit Custom Primitive Data flag and Global Snow referencing MPC_SnowParams. These saved inputs supplement the documented actor traversal. The public component selection does not contain the original map instances, so membership of a particular ClayPot in a historical controller group is not inferred. The earlier State parameter and later Local Snow remain stage-specific names.
The manual explicitly states that an object's value cannot be set below the Global Snow level [P07]. Local and global control therefore have a documented hierarchy, rather than unrestricted independence. Source spelling differences are retained in the supplementary methodological note.
4.4. Spatial Effects and Gameplay
Sphere, ray and directional controllers determine the spatial extent of the transformation. The sphere uses its centre, radius and transition-region controls. The ray is oriented from its origin towards the sphere controller, with length calculated in the world X–Y plane. The directional controller sets an origin, orientation, extent and blend distance for an advancing scene transition. P04 states that their masks combine by addition capped at one [P04]:
m(x) = min{1,msphere(x) + mray(x) + mdirectional(x)}.
The individual contributions lie in 0–1 at a fixed controller configuration. Static inspection of the released MF_Snow additionally resolves a local/global segment. A preceding spatial branch feeds an Add node together with Global Snow; Saturate is followed by addition of the CPD-backed Local Snow and another Saturate. With u denoting that preceding branch output, this segment is
q = sat(sat(u + g) + 𝓁),
where g and 𝓁 are the serialized global and local inputs and sat clamps a scalar to 0–1. This notation summarizes the recovered connections; it is not a new algorithm or the complete BlendMask expression. Subsequent nodes apply noise, contrast, brightness and the function's mask input before the final saturation. The final interpolation factor therefore cannot generally be identified with the local slider alone. Remaining defaults and controller-update precedence were not resolved by this static inspection [14].
MF_Snow packages reusable snow functionality and P04 identifies M_Morph_01 as the main base material. The final import manual names m_Morph_01_01; these identifiers are reported in their respective contexts. Directional controls also update configured snow particles and hide configured insect effects [P04]. The environment combines prepared photogrammetric assets with authored vegetation, landscape, characters and effects; it is not asserted that every changing element is a paired scan.
The manual connects the transition system used in Odmieniec to three maps: SlavicYard_P produces a freezing projectile, SlavicYard_P1 an expanding cold sphere, and SlavicYard_P2 a scene-wide time spell [P07]. These are three interaction scenarios in one environment. Figure 3 shows the preserved sphere sequence. Their significance is the completed connection from compatible asset data to player-triggered changes in the game.
4.5. Persistence and Execution Context
P04 describes storing each model's geometric transition value and shared material state, then applying the values to objects and materials when loading [P04]. BP_SaveGame contains local-snow mesh records, shared snow parameters, post-process settings and the monster's frozen state. BP_SaveSystem exposes SaveData, LoadData, GetMeshesWithLocalSnowProperty, WriteSnowParams and ReadSnowParams, using the file name Default [P06]. The manual also describes player-operated save/load triggers. Native serialization supplies a mechanism; the application supplies this payload and its restoration logic [10]. Stable identities after scene edits, atomic restoration and deterministic particle replay are not established.
The stage-2 scene report identifies Unreal Engine 5.2.1 [P03]. A separate September 2023 Development-build log records Windows 10, an i7-10700F, RTX 3070, approximately 64 GB RAM and a 2560 × 1440 viewport, followed by normal Alt-F4 shutdown [P15]. It contains no frame-time series. The later stage-3 scalability section instead specifies an i7-12700K, RTX 3070 Ti and 32 GB RAM. Neither record identifies the configuration of every later capture. The recovered historical snapshot contains the original editable scenario maps, while the public release provides a smaller native component set with its C++ module. The project's runtime execution is assessed from its recorded tests and demonstrations; the supplementary 2026 checks did not repeat Unreal execution.
5. Results
5.1. Achieved Transformations and Playable Application
The completed result is Odmieniec, an interactive environment in which offline-prepared states of photogrammetric assets undergo coordinated geometric and material transformation under authoring and player control. The three spell scenarios connect this asset-level capability to a playable scene. Table 2 separates functions described in project reports from changes directly visible in the retained recordings; these complementary evidence types support functional conclusions rather than numerical pass scores.
The core results in Table 2 are supported by the shader, local-control, final demonstration and integration records [P01, P02, P05, P12]. P05 describes moving and adding scene objects, changing spell settings and then playing each modified scenario. It states that all three scenarios could be completed. These activities connect scene configuration to documented playthroughs. It also reports animation/effect synchronization discrepancies and subsequent corrections, which were not independently replayed during the supplementary 2026 checks.
S2 documents both configuring a local group and changing its state. The controller is placed, actor references are populated and Snow Level is adjusted. The frames at nominal 22 and 24 s display values 0.0 and 1.0 with the same visible camera view and three actor-array entries (Figure 4). A separate native-resolution frame at 20.023 s displays 0.408 and partial coverage. The subsequent sequence extends the array: five entries are visible at 35.023 s and seven populated entries at 56.023 s, when the newly included gate has a white roof. After the camera returns to the earlier group, 62.023 and 63.023 s show values 0.0 and 1.0 with seven populated entries and corresponding changes in visible snow coverage. These observations establish editable group membership and repeated changes in both directions within one recorded session. They are not independent trials or a maximum-capacity test.
S1 supplies the clearest fixed-view record of a group transition. The sampled early frames hold the initial appearance; frames in the 2.5–3 s interval show changing coverage and visible surface outlines, followed by the later condition through the recording's end. Figure 5 presents an earlier, intermediate and later frame at 1.500, 2.767 and 3.000 s. The intermediate view retains exposed regions that are more covered in the later frame, including around the central tree base and the small central stump. The visible group remains in place, and no control value is displayed. The sequence directly establishes an intermediate rendered condition; the connection to geometric deformation and material interpolation comes from the implementation record, not from an inferred three-dimensional measurement of the images.
S3 follows the character through the environment, then shows a Cast a spell prompt at 26.021 s, a casting gesture in the following sampled frames and the visible cold effect around the large creature by 29.017 s. The affected presentation persists in subsequent samples; around 42–47 s the creature's pale appearance changes again. Figure 3 illustrates the earlier gameplay transition. No keyboard-event log, exact mask radius or state parameter is displayed, so these observations record the prompt–animation–effect sequence without assigning measured input latency or a particular value to its material state. The record connects the transformation to an actual playable scene, while S1 and S2 expose the prepared assets and their authoring control more directly.
The stage-2 scene report also illustrates a stump in base, snow-covered and burned-looking conditions in Unreal Engine 5 (P03, Figure 2, Figure 3 and Figure 4), and reports transitions between its states [P03]. These retained illustrations establish an additional demonstrated appearance beyond the winter case. They do not establish a separate photogrammetric scan of a physically burned object, an independently prepared third geometric state or a burning gameplay scenario.
5.2. Quality Observations and Manual Qa
P01 records undesirable intermediate appearance for one of five tested models at parameter values 0.1–0.3 [P01]. P03 describes misaligned seasonal scan bases, normalized pivots and an additional snow effect placed approximately 1 cm above the morphed scanned snow to conceal the mismatch [P03]. These are stage-2 development observations, not an established defect rate for the final game; their resolution for every final asset is not documented. They show why endpoint acceptance and intermediate appearance require separate checks. The presentation correction did not measure improved geometric registration.
The retained scene worksheet contains 36 categorical entries from nine criteria and four testers: 23 “correct”, seven “no load”, four “load”, one “slight load” and one “minor errors”. Comments record hardware-dependent loss of fluidity and absent collisions for three initial models [P13]. The categories are not a standardized pass/fail metric. The final-stage workbook contains 18 criteria and 72 blank result fields [P14]. It provides a test plan, while the completed-gameplay statements come from P05; those two evidence types are not conflated. Neither yields a transition failure probability or repeated save/load accuracy.
5.3. Rendering Observations
Table 3 describes the reported operating context of the demonstrator. The rows are not a controlled comparison of transition methods [P04, P05].
The selected 12.49–16.06 ms values are not the entire observed range: P05, Figure 29 shows a StatUnit minimum of 11.83 ms as well as the average and maximum in Table 3. The same capture separately displays a FrameTime cycle-counter inclusive maximum of 63.11 ms. That counter cannot be merged with the StatUnit average/maximum because the windows and counter semantics differ. Figure 33 records 538 draw calls, including 53 skeletal-mesh draw calls; the different capture in Figure 29 shows 822. These are scene counters, not morphing-only counts. Figure 29 also displays game-AI logging and garbage-collection verification warnings.
Raw CPU/GPU frame-time series were not located in the recovered loose-project inventory, its inspected Saved directories or the four indexed project/build archives. The retained profiling screenshots do not supply repeat counts, durations, aligned camera trajectories or complete resolution metadata. Quality-preset changes alter the rendering task. The observations support interactive operation under recorded configurations, but neither an isolated morphing speedup nor an uninterrupted 60-FPS guarantee; recorded values exceed 16.67 ms. The frequency and causes of slower frames cannot be inferred from screenshots.
5.4. Scope of Quantitative Interpretation
Three historical material-validation exports were examined but were not adopted as accuracy measures [P08, P09, P10]. Their implementation and inconsistent score denominators prevent a reliable interpretation. Six original MS07 view images have since been recovered and released, but a complete matched working-resolution set for the three final reports and its pixel-to-length calibration have not been established. The Supplementary methodological note preserves the printed arithmetic, code limitations and source critique. The present functional results instead rest on the documented implementation, integration checks and observed sequences; no percentage of geometric or perceptual accuracy is inferred from those historical scores.
6. Discussion
The implemented result connects repeated observations of physical objects to a controllable information flow: captured conditions are prepared as compatible asset data, the runtime applies coordinated geometric and appearance transitions, and authoring or player controls select the affected objects and regions. Odmieniec exercises this chain within a composed environment derived from a substantial seasonal campaign. The acquisition scale describes the production context; the local and global demonstration counts describe the subset exercised by the application. These are complementary scales, not interchangeable sample sizes.
The architecture answers RQ1 through a continuous data-and-control path. Offline preparation carries compatible deformation in UV data, the material coordinates geometric displacement and three appearance interpolators through one BlendMask, and local values, group membership and spatial controllers determine where the transition appears. The supplementary source inspection makes those saved connections explicit. RQ2 is answered by the integration and application results: an imported stair asset uses the material/control path, S1 records intermediate rendered appearance, S2 shows group construction and repeated changes, and S3 connects an effect to navigation and casting. The project reports document the other two completed gameplay scenarios and the save/restore workflow. These results evaluate the same implemented system across authoring and play.
Three design findings follow. First, asset compatibility and recipient selection are separate tasks. The stair integration check exercises an additional imported asset after its required material inputs have been assigned. S2 subsequently extends a controller's list from three to seven entries and changes the visible group without showing a new controller implementation. Compatible asset preparation can therefore precede selection of the objects affected by an interaction; support for arbitrary imports is not implied.
Second, a local control value is an input to a composed scene condition. The recovered graph adds and saturates global and local contributions before further mask processing; all four transition interpolators then receive the resulting shared signal. Group membership, per-component values and shared environment parameters consequently need separate representation. The documented save payload includes local mesh records and shared parameters, consistent with that requirement. This explains why retaining only slider values would not describe the full scene condition; it does not establish stable identities after edits or precedence between simultaneous writers.
Third, endpoint acceptance and transition inspection are different checks. S1 supplies an actual intermediate condition, while the stage-2 appearance defect and scan-base correction document cases where an implemented transformation needed further visual work. A representation that preserves the endpoints can still give unsatisfactory intermediate presentation. This finding concerns the graphics workflow; concealing a mismatch with an effect does not improve measured registration accuracy.
The seasonal case demonstrates coordinated transitions between observed conditions. It does not establish metrological change detection: methods such as M3C2 estimate change from repeated three-dimensional surveys, a different objective from producing controllable intermediate renderings [15]. Neither a visually plausible morph nor a functional slider quantifies the displacement, uncertainty or physical trajectory of a surface between acquisitions.
The broader workflow could be investigated for observed changes after fire, flooding or destruction, including the documentation and presentation of damaged heritage in Ukraine. These are prospective applications, not completed experiments. They would require suitable repeated observations and an explicitly justified correspondence; missing surfaces and topology changes may exceed the prepared representation. The earlier burned-looking stump is an illustrated UE appearance, not evidence that a physically burned object was scanned or that such an application has been validated.
The system evaluation combines development-stage tests and demonstrations with supplementary analyses of their records and source implementation. The record-based assessment is author-led; reports overlap and recordings represent selected sessions, even though their full temporal extents were sampled. The supplementary 2026 checks did not repeat Unreal execution, the Blender–FBX–UE round trip or runtime controller and restoration tests. Saved source connections and captured runtime behaviour therefore remain distinct evidence, without a new trace connecting every native asset version to each recording. Rendering observations describe whole-scene operation under recorded settings. Isolated cost or scaling claims would require matched workloads and CPU/GPU traces, for which Unreal Insights provides appropriate facilities [16]; restoration reliability would require repeated comparisons of saved and restored scene values. The demonstrated controls and playable use support the functional conclusions without establishing these stronger quantitative claims.
7. Conclusions
The ODD INN system connects repeated photogrammetric observations to controllable scene transformations. Offline preparation in Blender supplies compatible geometry, deformation data and paired material inputs; the Unreal implementation coordinates displacement, colour, normals and packed material properties through a shared blend mask under local, group and spatial controls. A substantial summer/winter museum campaign supplied selected assets for Odmieniec, where sliders and three spell scenarios connect the prepared states to player interaction. Integration tests, recorded demonstrations and supplementary analyses document intermediate rendered appearance, extension of controlled groups and repeated changes in both directions, together with reported restoration. The design separates asset compatibility from recipient selection and local values from environmental constraints, while the development observations show why intermediate-state inspection complements endpoint checks. The resulting contribution is the implemented capture-to-interaction workflow and its use in a playable seasonal environment. Geometric accuracy, restoration reliability and the execution cost attributable to the transition architecture remain incompletely characterized.
Supplementary Materials
The following supporting information can be downloaded at the website of this paper posted on Preprints.org.
Author Contributions
Rafał Pelc: Conceptualization; Investigation; Validation; Visualization. These roles refer to his stated contribution to the project concept and his documented technical work; they do not imply sole authorship of the underlying software or project outputs.
Funding
The underlying research and development project was co-financed by the European Union from the European Regional Development Fund under the Smart Growth Operational Programme 2014–2020, Sub-measure 1.1.1, through the National Centre for Research and Development (Narodowe Centrum Badań i Rozwoju, NCBR), competition 1/1.1.1/2022, under grant agreement POIR.01.01.01-00-0280/22-00. The beneficiary was ODD INN Sp. z o.o. Preparation of this article received no separate funding. No funder influenced the present analysis or the decision to publish this article.
Institutional Review Board Statement
The supplementary technical analyses recruited no participants. Internal project quality-assurance entries were assessed as software observations, without reporting tester identities or person-level outcomes. No retrospective ethics approval is claimed.
Data Availability Statement
The research evidence and recovered software are available in Zenodo, version 1.1.0, at https://zenodo.org/records/22961318 (DOI: 10.5281/zenodo.22961318). This additive release retains the earlier technical records and analyses and supplies original OddInn Tools source releases 0.4.1, 0.5.0 and 1.0.0, historical validators and their data, native Blender scenes, six original MS07 PNG views, and 34 editable Unreal assets with the SlavicYard source/build files, configuration and descriptor. The Unreal selection contains morph/material functions, controllers, save-system structures and two ClayPot examples; it excludes the full game maps, characters and separately sourced effects. The release does not claim a newly executed photo-to-runtime replication. A complete matched set of final working-resolution material-validation images and raw frame-time series has not been established. File-scoped terms are GPL-3.0-or-later for the released historical Python software, MIT for identified Unreal source/logic and retrospective analysis code, and CC BY 4.0 for identified data/documentation; engine and third-party dependencies retain their own terms. Manifests identify original and privacy-redacted bytes. Supplementary Videos S1–S3, the functional worksheet, media event log, methodological note, static-inspection outputs, the separately identified offline compatibility check and current article figures accompany this article separately; the new analysis is not represented as already included in the published release. The related Fab package has separate commercial terms, and its exact version linkage remains unverified. A companion archive for the single building 43_Cottage provides 889 JPEG photographs (114 + 775), the combined RealityCapture project (.rcproj) and associated files, and eight exported files (DOI: 10.5281/zenodo.22961577) [17]. It preserves material from the same research and development project and does not report a new RealityCapture or Unreal Engine run.
Acknowledgments
OpenAI Codex was used for the assistance described in the Methods. The author is responsible for the final content.
Conflicts of Interest
Rafał Pelc is a founder of ODD INN, the company that carried out the underlying research and development project, and one of the originators of that project. He is also a founder and creative director of Chronospace. ODD INN commercially distributes the related Slavic Yard asset package on Fab. The author declares no additional financial interests related to this work.
References
- ODD INN Sp. z o.o. Medieval Village/Slavic YARD - Niagara Autumn/Winter Environment. Fab commercial product listing. n.d. Available online: https://www.fab.com/listings/5ffee6ca-bfb9-43c7-ac16-6825f82eca08 (accessed on 24 September 2026).
- Apollonio, Fabrizio Ivan; Fantini, Filippo; Garagnani, Simone; Gaiani, Marco. A Photogrammetry-Based Workflow for the Accurate 3D Construction and Visualization of Museums Assets. Remote Sens. 2021, 13(3), 486. [Google Scholar] [CrossRef]
- Wen, Xuan; Malchin, Leo; Womelsdorf, Thilo. A toolbox for generating multidimensional 3D objects with fine-controlled feature space: Quaddle 2.0. Behav. Res. Methods 2025, 57(8), 219. [Google Scholar] [CrossRef]
- Ludwig, Michael; Berrier, Seth; Tetzlaff, Michael; Meyer, Gary. 3D shape and texture morphing using 2D projection and reconstruction. Comput. Graph. 2015, 51, 146–156. [Google Scholar] [CrossRef]
- Epic Games. FBX Morph Target Pipeline. Unreal Engine 5.2 Documentation. n.d. Available online: https://dev.epicgames.com/documentation/en-us/unreal-engine/fbx-morph-target-pipeline-in-unreal-engine?application_version=5.2 (accessed on 24 September 2026).
- Games, Epic. Static Mesh Morph Targets. Unreal Engine 5.2 Documentation. n.d. Available online: https://dev.epicgames.com/documentation/en-us/unreal-engine/static-mesh-morph-targets-in-unreal-engine?application_version=5.2 (accessed on 24 September 2026).
- Games, Epic. Material Parameter Collections. Unreal Engine 5.2 Documentation. n.d. Available online: https://dev.epicgames.com/documentation/en-us/unreal-engine/using-material-parameter-collections-in-unreal-engine?application_version=5.2 (accessed on 24 September 2026).
- Games, Epic. Storing Custom Data in Materials Per-Primitive. Unreal Engine 5.2 Documentation. n.d. Available online: https://dev.epicgames.com/documentation/en-us/unreal-engine/storing-custom-data-in-unreal-engine-materials-per-primitive?application_version=5.2 (accessed on 24 September 2026).
- Games, Epic. Using Material Layers. Unreal Engine 5.2 Documentation. n.d. Available online: https://dev.epicgames.com/documentation/en-us/unreal-engine/using-material-layers-in-unreal-engine?application_version=5.2 (accessed on 24 September 2026).
- Epic Games. Saving and Loading Your Game. Unreal Engine 5.2 Documentation. n.d. Available online: https://dev.epicgames.com/documentation/en-us/unreal-engine/saving-and-loading-your-game-in-unreal-engine?application_version=5.2 (accessed on 24 September 2026).
- Reynolds, D. T.; Laycock, S. D.; Day, A. M. Real-time accumulation of occlusion-based snow. Vis. Comput. 2015, 31(5), 689–700. [Google Scholar] [CrossRef]
- Cordonnier, G.; Ecormier, P.; Galin, E.; Gain, J.; Benes, B.; Cani, M.-P. Interactive Generation of Time-evolving, Snow-Covered Landscapes with Avalanches. Comput. Graph. Forum 2018, 37(2), 497–509. [Google Scholar] [CrossRef]
- Solanes, J. Ernesto; Francés-Falip, Aitana; Gracia, Luis; Muñoz, Adolfo. Bridging Virtual and Physical Realms in Industrial Metaverses for Enhanced Process Control. Information 2026, 17(1), 71. [Google Scholar] [CrossRef]
- ODD INN Sp. z o.o. ODD INN multistate photogrammetry and Unreal Engine evidence and retrospective analyses (Version 1.1.0) [Data set]. Zenodo 2026. [Google Scholar] [CrossRef]
- Lague, Dimitri; Brodu, Nicolas; Leroux, Jérôme. Accurate 3D comparison of complex topography with terrestrial laser scanner: Application to the Rangitikei canyon (N-Z). ISPRS J. Photogramm. Remote Sens. 2013, 82, 10–26. [Google Scholar] [CrossRef]
- Games, Epic. Unreal Insights. Unreal Engine 5.2 Documentation. n.d. Available online: https://dev.epicgames.com/documentation/en-us/unreal-engine/unreal-insights-in-unreal-engine?application_version=5.2 (accessed on 24 September 2026).
- ODD INN Sp. z o.o. ODD INN seasonal museum photogrammetry: 43_Cottage winter and summer photographs and RealityCapture reconstruction (Version 1.0.0) [Data set]. Zenodo 2026. [Google Scholar] [CrossRef]
Figure 1.
Schematic of the documented stage-2 material data paths, prepared for this article from the milestone-7 report (P01, Figure 18 and its accompanying node descriptions). A shared State parameter controls texture interpolation and the blend from zero to decoded vertex displacement. The property-texture path separates blended channels into metallic, roughness and ambient-occlusion inputs without assigning individual RGB channels to those properties. UV channel numbers follow the source. This is a documentary abstraction, not the complete final material/mask graph. The original screenshot remains available as supplementary evidence.
Figure 1.
Schematic of the documented stage-2 material data paths, prepared for this article from the milestone-7 report (P01, Figure 18 and its accompanying node descriptions). A shared State parameter controls texture interpolation and the blend from zero to decoded vertex displacement. The property-texture path separates blended channels into metallic, roughness and ambient-occlusion inputs without assigning individual RGB channels to those properties. UV channel numbers follow the source. This is a documentary abstraction, not the complete final material/mask graph. The original screenshot remains available as supplementary evidence.

Figure 2.
Summer and winter endpoints of a prepared asset, reproduced from P01, Figure 19. The documented parameter changes from 0 to 1 and coordinates geometry and appearance. These endpoint illustrations show the implemented representation without measuring correspondence accuracy or establishing artefact-free intermediate states.
Figure 2.
Summer and winter endpoints of a prepared asset, reproduced from P01, Figure 19. The documented parameter changes from 0 to 1 and coordinates geometry and appearance. These endpoint illustrations show the implemented representation without measuring correspondence accuracy or establishing artefact-free intermediate states.

Figure 3.
The playable cold-sphere scenario in two original frames from Supplementary Video S3 at 26.0 and 32.0 s. The sequence documents the game environment and visible effect at different moments and camera positions. Exact mask and transition values are unavailable; this is a gameplay illustration rather than a matched-camera quality or timing comparison.
Figure 3.
The playable cold-sphere scenario in two original frames from Supplementary Video S3 at 26.0 and 32.0 s. The sequence documents the game environment and visible effect at different moments and camera positions. Exact mask and transition values are unavailable; this is a gameplay illustration rather than a matched-camera quality or timing comparison.

Figure 4.
Local control of prepared scene assets in two original frames from Supplementary Video S2: (a) 22.0 s, Snow Level 0.0; (b) 24.0 s, Snow Level 1.0. The visible camera view and three-entry actor array are the same, while the selected asset group changes appearance. The frames document the controller and its visible output, without establishing control of every unshown setting or measuring transition quality. Full frames were decoded without retouching.
Figure 4.
Local control of prepared scene assets in two original frames from Supplementary Video S2: (a) 22.0 s, Snow Level 0.0; (b) 24.0 s, Snow Level 1.0. The visible camera view and three-entry actor array are the same, while the selected asset group changes appearance. The frames document the controller and its visible output, without establishing control of every unshown setting or measuring transition quality. Full frames were decoded without retouching.

Figure 5.
Earlier, intermediate and later rendered conditions of the same displayed asset group in Supplementary Video S1: (a) 1.500 s, frame 45; (b) 2.767 s, frame 83; (c) 3.000 s, frame 90 (zero-based decoded frame indices). The camera and object arrangement remain visually fixed while snow coverage and surface presentation change. The intermediate frame retains exposed regions that are more covered in the later frame. Exact transition values are not displayed. These are full original decoded frames without cropping, annotation or retouching, and illustrate a recorded transition rather than a geometric-error or smoothness measurement.
Figure 5.
Earlier, intermediate and later rendered conditions of the same displayed asset group in Supplementary Video S1: (a) 1.500 s, frame 45; (b) 2.767 s, frame 83; (c) 3.000 s, frame 90 (zero-based decoded frame indices). The camera and object arrangement remain visually fixed while snow coverage and surface presentation change. The intermediate frame retains exposed regions that are more covered in the later frame. Exact transition values are not displayed. These are full original decoded frames without cropping, annotation or retouching, and illustrate a recorded transition rather than a geometric-error or smoothness measurement.

Table 1.
Documented state responsibilities and constraints.
| Level | Data and documented writer | Scope and supported rule |
| Prepared asset/material instance | Mesh deformation channels and paired texture inputs; preparation/import workflow | Defines the supported endpoints; arbitrary meshes require compatible preparation and materials |
| Mesh component | Local Snow; BP_LocalSnowController. SetupSnowLevel through Custom Primitive Data |
Updates static-mesh components of configured actors with a value in 0–1 |
| Selection interface | Slider and selected-object iteration | Attempts changes on selected compatible objects; unsupported objects are skipped |
| Shared environment | MPC_SnowParams, spatial controllers and MF_Snow.BlendMask | Documented global constraint and spatial effects feed a shared blend signal; recovered links include successive add/saturate operations |
| Saved scene condition | BP_SaveGame and BP_SaveSystem | Retains local mesh records, shared snow parameters, post-process settings and monster state; complete restore semantics remain incompletely specified |
Table 2.
Functional results and the evidence supporting them.
| Function | Achieved result and source | Evidence boundary |
| Prepared geometry and appearance transition | P01 documents the two-state asset; native inspection identifies four interpolators sharing BlendMask; Figure 2 shows endpoints and S1 an intermediate view | Saved-graph links, reported operation and directly visible change; no measured surface error or temporal smoothness |
| Slider and selected-group control | P02, Figures 13 and 14, documents a slider and compatible-object selection; S2 shows controller placement, actor-array extension and repeated value changes | Reported selection behaviour and directly visible interface/scene sequence; the editor tools are not assumed to be one identical control path |
| Selective and scene-wide scope | P02 reports at least five selectively changed objects in a 25-object scene; P05 reports at least five local and at least twenty global changes | Demonstrated scene sizes reported by the project, not maximum supported capacity or an independently recounted frame result |
| Projectile spell | P05, Section II.3.3, describes edited scenes being played; P07 identifies the projectile map and effect along its path | Reported completed gameplay; projectile footage was not independently reviewed in this analysis |
| Expanding-sphere spell | P05, Section II.3.4, reports gameplay; S3 records navigation, a cast prompt, a gesture and the ensuing cold effect | Reported playthrough plus directly visible spatial effect; exact mask/transition values are not displayed |
| Scene-wide spell | P05 describes playing the summer-to-winter-and-back scenario; P07 identifies the time-spell map | Reported completed gameplay within the same environment, not a third independent application domain |
| Additional-asset integration | P12 documents importing stone stairs, assigning two texture sets and exercising the slider | One concrete integration check with endpoint illustrations; not a general success rate |
| Save and restore | P04 illustrates saved, changed and restored conditions; P06–P07 document payload and invocation | Demonstrated restoration workflow, without a repeat-cycle error distribution |
Table 3.
Development-stage rendering observations and their configuration context.
| Source and context | Recorded observation | Supported interpretation |
| Stage 3, Epic, screen percentage 71 | 60–70 FPS | Interactive scene operation at this internal-resolution setting |
| Stage 3, scalability comparison | High: 82–102 FPS; Epic: approximately 60 FPS | Different rendering presets produce different observed rates |
| Stage 4, initial Epic with TSR | Approximately 42–54 FPS; reported as about 18–23 ms/frame | Initial whole-scene profiling context |
| Stage 4, High | Approximately 90 FPS; about 11 ms/frame | Observation after a quality-preset change |
| Stage 4, selected final profiling captures | Selected current values 12.49–16.06 ms; Figure 29 StatUnit average 13.63 ms and maximum 19.59 ms | Selected values and labelled summary counters, not a complete distribution |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2026 by the author. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license.
Copyright: This open access article is published under a Creative Commons CC BY 4.0 license, which permit the free download, distribution, and reuse, provided that the author and preprint are cited in any reuse.