Scirra / Construct-bugs

Public bug report submissions for Construct 3 and Construct Animate. Please read the guidelines then click the 'Issues' tab to get started.
https://www.construct.net
107 stars 83 forks source link

Timeline Hierarchy combined with Tweening results in small deformation in specific situations #5943

Open bubbblebub opened 2 years ago

bubbblebub commented 2 years ago

Problem description

I combined Timeline Hierarchy Animations with tweening of an angle. First it seemed to work perfectly, but over time I realized that the objects are moving around unintentionally. Gaps are appearing and disappearing very slowly. To reproduce it in short time I made it run very fast. Its very uncomfortable for the eyes, if you have epilepsy problems just set the Timeline playback rate in event 1 to 3 instead of 12, then wait about 5 minutes.

Attach a .c3p

Timeline_Relative_V12.c3p.zip

Steps to reproduce

1.Preview the project, take a look at the red line, it covers more or less the blue line 2.now press the go on button 3.wait about 10 seconds, press pause and take again a look at the red line and the way it connects to the blue line. 4.if no gap appeared, try again. the Gap can grow bigger, then gets smaller again over time, so its not always that visible. 5.now disable the last two "tween" actions for object H and O in event 1 6.repeat stepp 1 to 3 to see the behavior of the red line with the blue line the way it should be.

Observed result

sometimes a gap appears between the red and the blueline

Expected result

no gap should appear No yes

More details

Affected browsers/platforms: I tested on mac / Chrome/ r304

First affected release:

System details

View details Platform information Product: Construct 3 r304 (beta) Browser: Chrome 103.0.5060.134 Browser engine: Chromium Context: browser Operating system: macOS 11.6.8 Device type: desktop Device pixel ratio: 1.100000023841858 Logical CPU cores: 8 Approx. device memory: 8 GB User agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36 Language setting: en-US Local storage Storage quota (approx): 279 gb Storage usage (approx): 191 mb (0.1%) Persistant 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! WebGL information Version string: WebGL 2.0 (OpenGL ES 3.0 Chromium) Numeric version: 2 Supports NPOT textures: yes Supports GPU profiling: yes Supports highp precision: yes Vendor: Google Inc. (ATI Technologies Inc.) Renderer: ANGLE (ATI Technologies Inc., AMD Radeon Pro 560 OpenGL Engine, OpenGL 4.1) Major performance caveat: no Maximum texture size: 16384 Point size range: 1 to 2048 Extensions: EXT_color_buffer_float EXT_color_buffer_half_float EXT_disjoint_timer_query_webgl2 EXT_float_blend EXT_texture_compression_rgtc EXT_texture_filter_anisotropic EXT_texture_norm16 KHR_parallel_shader_compile OES_draw_buffers_indexed OES_texture_float_linear WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context WEBGL_multi_draw Audio information System sample rate: 44100 Hz Output channels: 2 Output interpretation: speakers Supported decode formats: WebM Opus (audio/webm; codecs=opus) Ogg Opus (audio/ogg; codecs=opus) WebM Vorbis (audio/webm; codecs=vorbis) Ogg Vorbis (audio/ogg; codecs=vorbis) MPEG-4 AAC (audio/mp4; codecs=mp4a.40.5) MP3 (audio/mpeg) FLAC (audio/flac) PCM WAV (audio/wav; codecs=1) Supported encode formats: WebM Opus (audio/webm; codecs=opus) Video information Supported decode formats: WebM AV1 (video/webm; codecs=av01.0.00M.08) MP4 AV1 (video/mp4; codecs=av01.0.00M.08) WebM VP9 (video/webm; codecs=vp9) WebM VP8 (video/webm; codecs=vp8) Ogg Theora (video/ogg; codecs=theora) H.264 (video/mp4; codecs=avc1.42E01E) Supported encode formats: WebM VP9 (video/webm; codecs=vp9) WebM VP8 (video/webm; codecs=vp8)
bubbblebub commented 2 years ago

~An additional information: I think this problem is not directly connected to tween. When I rotate the angle towards another angle with a lerp, the same deformation appears. Seems to be a general problem when combining other moving techniques with timelines.~ edit: I appologize, I became just aware that I can not 100% confirm that this is true

It can be very useful to use other techniques in combination with timelines when you want to add a bit less predefined movement to an animation, very situation specific rotations of objects and so on.

DiegoScirra commented 2 years ago

This isn't a problem with tweens or timelines, but rather with hierarchies.

When the positions are calculated there are minor errors, particularly when angles are included. Under normal conditions these are not noticeable. Using relatively high time scales can exacerbate the problem though as the errors become more frequent.