Copy link to clipboard
Copied
Hi,
I'd like to request a feature in scripting: it would be really useful if there would be a way to identify true 3D objects in the new Mercury engine. This could be useful for a number of reasons but a very pressing issue is that those layers don't accept effects and when trying to apply an effect, an error is generated. This can be problematic when, for example, applying an effect to every layer in the comp. Now, of course, one could use try/catch but this will still internally create the error and therefore slow down the script. Additionally, I often have to check back on the layers in my scripts and when it's not clear why there's no effect on a layer where there should be one, this can cause issues. Currently, I'm using a rather elaborate set of conditions to identify whether an object may be a true 3D object (by checking the source file extension, etc.) but I think there should be a proper way to identify those objects.
Thanks for your consideration!
Best wishes,
Constantin
Copy link to clipboard
Copied
Hi, I'd like to renew my request, as I think this would really valuable not only to me but also to a lot of other developers going forward. 🙂
Copy link to clipboard
Copied
Thanks, Constantin. This request is on our radar.
Copy link to clipboard
Copied
Thanks, Tom!
Copy link to clipboard
Copied
Hi, Constantin. Is there some reason why you can't use the layer suite to determine that a layer is 3D? Or is the problem that you want to know that a layer is (specifically) a 3D model?
AEGP_GetLayerFlags( AEGP_LayerH layerH, AEGP_LayerFlags *layer_flagsP);
AEGP_LayerFlag_LAYER_IS_3D
Copy link to clipboard
Copied
Hi Tom,
first of all, I'm talking about the scripting API, not the plugin SDK. However, of course, you check whether a layer is 3D using layer.threeDLayer in scripting. But I'm, looking for a way to specifically target 3D models that can be imported using the new 3D renderer in AE's beta. Those layers, for example, don't accept effects which can cause errors during the script execution when you apply an effect to all layers in a comp. You may be able to apply those using try/catch but this for once will slow down the script execution and this can still create problems since my scripts often check back on the layers and will malfunction when there's no specific effect on a layer when there should be. Also, 3D models contain some other properties as compared to regular 3D layers which can potentially be an important information when applying values to those properties in a script. It would be great if there would be, in addition to layer.threeDLayer, some property like layer.threeDModel or so to determine the specific layer type.
Best wishes,
Constantin
Copy link to clipboard
Copied
Hi, Constantin. Understand. We need to do a round of review of the scripting APIs and plugin SDKs (the scripting APIs often use the plugin SDK under the covers). Thanks for the recommendation.
Copy link to clipboard
Copied
Thanks, Tom! Looking forward to it!
Copy link to clipboard
Copied
I'd be interested in hearing about any other 3D scripting needs that you have.
Thanks,
Tom