We value your input!
Please participate in Archicad 28 Home Screen and Tooltips/Quick Tutorials survey

Libraries & objects
About Archicad and BIMcloud libraries, their management and migration, objects and other library parts, etc.

"Picture 14" object does not allow transparency

Chazz
Enthusiast
The Picture 14 object that comes with AC 14 has different and to my mind, inferior functionality. In fact, I would say it is broken.

Images that have been knocked out and saved with transparency no longer display that transparency in 3d or LW rendered windows. The only workaround I have found it to use the Picture 13 object.

Picture 14 Object non transparent.jpg
Nattering nabob of negativism
2023 MBP M2 Max 32GM. MaxOS-Current
6 REPLIES 6
David Maudlin
Rockstar
Chazz:

Are you sure the 3D Script of the Picture 13 object has not been altered? I am getting the same result with both objects you see in the Picture 14 object. In the 3D Scripts of both objects, at line 140, is a Prism_ that creates the backing for the picture (when the frame is turned off), I needed to comment out this code to get the backing rectangle to disappear (you could do a quick check by changing the material of the object under the Model tab and see if the material of the rectangle changes). The only difference I could see in a quick scan of the 3D Scripts is the difference in Body status codes in the 1000 and 2000 subroutines.

The AC version in your profile could use an update.

David
David Maudlin / Architect
www.davidmaudlin.com
Digital Architecture
AC27 USA • iMac 27" 4.0GHz Quad-core i7 OSX11 | 24 gb ram • MacBook Pro M3 Pro | 36 gb ram OSX14
Dwight
Newcomer
Try using png with a transparent background and make the picture from an invisible material.

Bad shadow, however.
Dwight Atkinson
Chazz
Enthusiast
Thank you David and Dwight. My example rendering above was a little unfair in that it was done in Artlantis. But I'm certain the behavior is different in AC too (and I know the script of both parts is factory virginal).

The image file I used was per Dwight's suggestion; a knocked out PNG with transparency preserved. Both Picture objects, 13 and 14 in my example above referenced the same image file of the apparel on the hanger and every other setting was identical. I also tried Dwight's suggestion of using an invisible material for the part but that also gives in weird results. You can apply an invisible material in Artlatis but the shadow casting is still of a big ugly square, not the garment on the hanger as seen in the Picture 13 part. I remain fairly convinced it is a bug.

One side note that may be a "feature": Picture 14 is now one-sided only, meaning that if look behind the picture you don't see a mirror image as you do with prior versions.

Thanks again. Now I must update my sig.
Nattering nabob of negativism
2023 MBP M2 Max 32GM. MaxOS-Current
Barry Kelly
Moderator
Compare the codes of the 13 & 14 objects to spot the difference.
If I had to guess without looking at it I would say maybe the 14 object has a background prism (or something similar) seeing as you say you can't see the image from the reverse anymore.
This background will obviously not be transparent.
I will try to compare the objects later.
Barry.
One of the forum moderators.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11
Barry Kelly
Moderator
Curiosity got the better of me.
There is a new bit in the code that adds a backing plate.

! === plate ===
PRISM_ 4,b,
-a/2 + gs_frame_width, gs_frame_width, 15,
a/2 - gs_frame_width, gs_frame_width, 15,
a/2 - gs_frame_width, zzyzx-gs_frame_width, 15,
-a/2 + gs_frame_width, zzyzx-gs_frame_width, 15
gosub 1000


You could add an option to turn this off or just comment it out in the script and save it as a new object (so if they change it again in the future you won't be back to square one).
Or of course just keep using the 13 object.

Barry.
One of the forum moderators.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11
David Maudlin
Rockstar
The code Barry sites is under the section for when the frame is on at line 88:
if bIsFrame then	! frame is on
  
	MATERIAL gs_frame_mat

	! === plate ===
	PRISM_ 4,b,
		-a/2 + gs_frame_width, gs_frame_width,       15,
		a/2 - gs_frame_width,  gs_frame_width,       15,
		a/2 - gs_frame_width,  zzyzx-gs_frame_width, 15,
		-a/2 + gs_frame_width, zzyzx-gs_frame_width, 15
	gosub 1000

	! === frame ===
The code I sited from line 140:
else
	PRISM_ 4,b,
		-a/2, 0,       15,
		a/2,  0,       15,
		a/2,  zzyzx, 15,
		-a/2, zzyzx, 15
	gosub 1000
endif
is the other half of the If/Then statement (for when the frame is off). As I said in my earlier post, the 3D Scripts of both Picture 13 and Picture 14 contain this code (AC 13 Library is Library Build Number 3479.147, AC 14 Library is Library Build Number 2710.140, both taken from the License Information dialog boxes).

So I think if you want to eliminate the backing plate when the frame is off, you need to remove or comment out the code at line 140. What I cannot explain is how Chazz'z 13 object worked at all, except in my earlier post about the differences in subroutine Body status codes, which perhaps makes a difference to Artlantis. Or there is a difference between the versions of Picture 13 that I have and Barry & Chazz are using.

David
David Maudlin / Architect
www.davidmaudlin.com
Digital Architecture
AC27 USA • iMac 27" 4.0GHz Quad-core i7 OSX11 | 24 gb ram • MacBook Pro M3 Pro | 36 gb ram OSX14