Skip to content

CurAnimation expression fails to update when playing 3D Model animations #9138

@frostomatic

Description

@frostomatic

Checks

  • I have read and understand the bug report guidelines
  • I checked for existing similar reports to avoid submitting a duplicate
  • I verified the issue occurs in the latest beta release to avoid submitting an issue that has already been resolved

Problem description

When using the official 3D Model plugin with a glTF model, changing the animation successfully updates the visual WebGL renderer, but the CurAnimation expression does not update to reflect the new state. It remains stuck on the model's base state/Index 0 animation.

Upload a project

3D Car Model_Bug Report Version.zip

Steps to reproduce

  1. Import a 3D model (glTF) that contains multiple animations (e.g., a default "_RESET" animation and a "Drive" animation).
  2. Place the official 3D Model object in the layout.
  3. In the event sheet, trigger an action to change the animation: 3D Model: Set animation to "Drive".
  4. Run the layout and output the 3DModel.CurAnimation expression to a Text object to monitor its value.

Observed result

The 3D model visibly plays the "Drive" animation perfectly on screen, but the CurAnimation expression remains stuck returning "_RESET".

Because the engine logic does not register the animation change, any events checking the current animation state fail. For example, using a system condition 3DModel.CurAnimation ≠ "Drive" to act as a trigger-once gatekeeper will constantly evaluate as true, causing the animation action to fire every single tick and locking the model on frame 0.

Expected result

The CurAnimation expression should return "Drive".

Affected platforms

Windows

Affected browsers

Edge

Last unaffected release (including beta releases)

No response

First affected release (including beta releases)

No response

Additional remarks

I'm not a programmer by trade, I used Google Gemini's help to get to the bottom of the problem I was having. I was originally using the 3D Model's "CurAnimation" expression to control the animation. I've since fixed it, but I think this is a bug, and so I'm sharing it with you.

Platform information

Platform information
Product: Construct 3 r487.3 (stable)
Browser: Edge 149.0.4022.69
Browser engine: Chromium
Context: webapp
Operating system: Windows 11
Device type: desktop
Device pixel ratio: 1.25
Logical CPU cores: 16
Approx. device memory: 16 GB
User agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36 Edg/149.0.0.0
Language setting: en-US

Local storage
Storage quota (approx): 10 GB
Storage usage (approx): 311 MB (3%)
Persistent storage: No

Browser support notes
This list contains missing features that are not required, but could improve performance or user experience if supported.

Nothing is missing. Everything is OK!
WebGPU information
Renderer: WebGPU
Compatibility mode: no
Supports GPU profiling: yes
Major performance caveat: no
Maximum texture size: 16384
Adapter vendor: amd
Adapter architecture: gcn-5
Adapter device: (unavailable)
Adapter description: (unavailable)
Adapter type: (unavailable)
Adapter backend: (unavailable)
Adapter features:

bgra8unorm-storage
clip-distances
core-features-and-limits
depth-clip-control
depth32float-stencil8
dual-source-blending
float32-blendable
float32-filterable
indirect-first-instance
primitive-index
rg11b10ufloat-renderable
shader-f16
subgroups
texture-component-swizzle
texture-compression-bc
texture-compression-bc-sliced-3d
texture-formats-tier1
texture-formats-tier2
timestamp-query
Audio information
System sample rate: 48000 Hz
Output channels: 2
Output interpretation: speakers
Supported decode formats:

WebM Opus (audio/webm;codecs=opus)
WebM Vorbis (audio/webm;codecs=vorbis)
MPEG-4 Opus (audio/mp4;codecs=opus)
MPEG-4 AAC (audio/mp4;codecs=mp4a.40.2)
MP3 (audio/mpeg)
FLAC (audio/flac)
PCM WAV (audio/wav;codecs=1)
Supported encode formats:

WebM Opus (audio/webm;codecs=opus)
MPEG-4 Opus (audio/mp4;codecs=opus)
MPEG-4 AAC (audio/mp4;codecs=mp4a.40.2)
Video information
Supported decode formats:

WebM AV1 (video/webm;codecs=av01.0.00M.08)
WebM VP9 (video/webm;codecs=vp9)
WebM VP8 (video/webm;codecs=vp8)
MPEG-4 AV1 (video/mp4;codecs=av01.0.00M.08)
MPEG-4 H.265 (video/mp4;codecs=hev1.1.2.L93.B0)
MPEG-4 H.264 (video/mp4;codecs=avc1.420034)
Supported encode formats:

WebM AV1 (video/webm;codecs=av01.0.00M.08)
WebM VP9 (video/webm;codecs=vp9)
WebM VP8 (video/webm;codecs=vp8)
WebM H.264 (video/webm;codecs=avc1.420034)
MPEG-4 AV1 (video/mp4;codecs=av01.0.00M.08)
MPEG-4 VP9 (video/mp4;codecs=vp9)
MPEG-4 H.264 (video/mp4;codecs=avc1.420034)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions