Closed ChromeWisp closed 8 months ago
Not sure why the attached .c3p seems to just lead to a 404 when I click its link, so instead I'm just adding screenshots of everything in the project file to my original post here.
Duplicate of #5979 / #5923. Setting a family to a 3D shape's face does not work like you think it does - it has to use a specific object type to get images from, and if you give it a family, it just uses the first member of the family. It also ignores picking and just refers to the object type.
You can easily do this via scripts:
@WilsonPercival Thank you very much for the workaround! Second time I've run into an issue that seems to be a limitation of C3 only to find out it's strangely entirely possible, just only through scripting!
@AshleyScirra If this has happened at least 3 times now (and I did check beforehand for duplicates under "open" at least since it's happening now), it sounds like a sign that if this won't or can't be fixed, we could stand to make it clearer in the manual that this limit exists, and ideally why as it seems very unusual for C3 which is normally fantastic at not allowing you to try solutions that simply won't work. Right now the 3D Shape manual page's listing for the Set Face Object action doesn't mention families cannot be used here to pick your desired object type unlike with other actions like for example the Audio manual page's listing for the Play at Object.
Like the users in the duplicate issues you've mentioned, I am trying to create ways to dynamically set faces of many 3DShapes in a way that wouldn't work well by just hooking 3DShapes together with individual objects manually when there needs to be dozens of variations of this in my work. If there were a Set Object as Face by Name action just like Audio: Play at Object by Name, the problem could be solved that way, as suggested by this user in an older suggestions board. https://construct3-21h2.ideas.aha.io/ideas/C321H2-I-460 I have now also added this to the current feature suggestions here, for what it's worth to anyone looking here later: https://github.com/Scirra/Construct-feature-requests/issues/179
@ChromeWisp There are many things that cannot or are irrational to be done through events, but can be done through scripts. If I were you, I'd just switch to using scripts instead of waiting for a miracle.
@WilsonPercival Trust me when I say I've tried and put in work for almost 2 decades both in and out of Construct to learn, but some brains just do not take kindly to traditional coding and scripting as well as others, and tools like Construct are otherwise so great because they allow people like me to accomplish a lot without being stuck on my own mental limitations. Of course people with an affinity for learning pure code can do much more in general, but if everyone could, what would we be here using Construct and similar tools for, y'know?
@ChromeWisp No, I don't understand you. I myself started with Construct 13 years ago, it was my first acquaintance with programming. I wouldn't learn programming languages back then because I didn't know what it was and thought it was very difficult. Construct led me by the hand into the world of programming and I saw that programming languages are not as difficult as they seem. If you rest your head on the ceiling, you will begin to complain that you are cramped and this is normal. The best option would be to go ahead and get a professional tool for the job. Construct was created so that anyone who is not even familiar with programming can enter this area. If you've grown up, you need to move on instead of whining. You need to choose to use events and be limited in many things or continue to use Construct at a much higher level.
@WilsonPercival Hey friend, I don't think there's a need to get abrasive. I did see your comment on a similar thread elsewhere, mentioning that you didn't understand where they were coming from either. It's fine to not understand, but it doesn't help to go and project your own situation (what you yourself are capable of) onto someone else. Empathizing with someone with a different skillset can be super tough for sure, but I haven't walked in your shoes nor you in mine, so there's no point in saying "just try harder!" when you can't tell what I've done and what I'm capable of, and what mental disorders I've got, to be real for a minute. There's no whining here, and as a funny coincidence, you're talking to someone who is using a professional tool for his job and livelihood (I make webgames for an educational company), which is why Construct bills themselves as such. It sounds to me like you're frustrated at what you perceive as others limiting themselves, which I get, but in the end you're not working with perfect information of what everyone else can do just by using your own experience for comparison. It's tough to not let those frustrations sour your interactions with others, but it does help them go more smoothly if you manage not to. I should know, obviously I'm here because I was frustrated with something too, so it's sometimes easier said than done lol.
Problem description
When using a 3DShape's "Set Face Object" to set one of its faces to an object within a family containing at least two object types, only one of the family's object types can ever be used as the face, regardless of which type is picked through conditions, even if other actions affect the intentionally picked object type.
Attach a .c3p
3DSetFaceWrongObject.zip
Steps to reproduce
Observed result
No matter which object type within a family is picked, only one of them can and will be set as a 3DShape's face.
Expected result
The correctly-picked family member object type is the one set to a 3DShape's face.
More details
I've tested this with sprites and 9patches as the family member object types. Both are affected.
Affected browsers/platforms: Firefox, Chrome.
First affected release: An unknown version long before r383. (Sorry for only just now reporting it.)
System details
View details
Platform information Product: Construct 3 r383 (beta) Browser: Firefox 123.0 Browser engine: Gecko Context: browser Operating system: Windows 10 Device type: desktop Device pixel ratio: 1 Logical CPU cores: 8 Approx. device memory: (unavailable) User agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:123.0) Gecko/20100101 Firefox/123.0 Language setting: en-US Local storage Storage quota (approx): 10 gb Storage usage (approx): 174 mb (1.7%) Persistant storage: No Browser support notes This list contains missing features that are not required, but could improve performance or user experience if supported. Rendering multiple on-screen Layout Views is slow in Firefox due to [bug 1163426](https://bugzilla.mozilla.org/show_bug.cgi?id=1163426) The Clipboard API is not supported. Some clipboard features may be unavailable. Determining input device capabilities is not supported. WebGL information Version string: WebGL 2.0 Numeric version: 2 Supports NPOT textures: yes Supports GPU profiling: no Supports highp precision: yes Vendor: Google Inc. (NVIDIA) Renderer: ANGLE (NVIDIA, NVIDIA GeForce GTX 980 Direct3D11 vs_5_0 ps_5_0), or similar Major performance caveat: no Maximum texture size: 16384 Point size range: 1 to 1024 Extensions: EXT_color_buffer_float EXT_float_blend EXT_texture_compression_bptc EXT_texture_compression_rgtc EXT_texture_filter_anisotropic OES_draw_buffers_indexed OES_texture_float_linear OVR_multiview2 WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context WEBGL_provoking_vertex 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) 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 VP9 (video/mp4;codecs=vp9) MPEG-4 H.264 (video/mp4;codecs=avc1.420034) Supported encode formats: WebM VP8 (video/webm;codecs=vp8)