Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

How to make effect plugin render result exceed layer size range? Like motion tile effect.

Community Beginner ,
May 28, 2025 May 28, 2025

Hi guys,

I want to write an effect plugin which can achieve that render result can exceed layer original size, in AfterEffects plugin, there is an effect called Motion Tile, the result from this effect can exceed layer size like image below, thanks!

20250529-134001.jpg

TOPICS
FAQ , SDK
350
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 2 Correct answers

Engaged , Jun 02, 2025 Jun 02, 2025

No worries 🙂 if you go the first route you'll need to set PF_OutFlag_I_EXPAND_BUFFER. If you go with smartFX you'll need to set 

extra->output->flags |= PF_RenderOutputFlag_RETURNS_EXTRA_PIXELS;
Translate
Engaged , Jun 06, 2025 Jun 06, 2025

Try setting both output result rects to the expanded_rect. Also if you want you can expand the request rect to recapture any offscreen pixels, not sure if that is relevant to the plugin you are making. 

Translate
Engaged ,
Jun 02, 2025 Jun 02, 2025

You can expand the boundaries in frame setup if you're not using smartFX, or by increasing the output rectangle in PreRender when using smartFX.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jun 02, 2025 Jun 02, 2025

Many thanks man, I have a try 😄

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Jun 02, 2025 Jun 02, 2025

No worries 🙂 if you go the first route you'll need to set PF_OutFlag_I_EXPAND_BUFFER. If you go with smartFX you'll need to set 

extra->output->flags |= PF_RenderOutputFlag_RETURNS_EXTRA_PIXELS;
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jun 02, 2025 Jun 02, 2025

Gocha, I use SmartRender() and OpenGL API, if I want to change size of result dynamically base on user modyfing parameter, how to achieve?

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Jun 02, 2025 Jun 02, 2025

In pre_render, checkout the user param (slider) and increase the output rectangle based on the slider.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jun 02, 2025 Jun 02, 2025

Thanks~

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jun 06, 2025 Jun 06, 2025

Still not make it work, I add following code in PreRender:

JavierYang_0-1749198199599.png

 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Jun 06, 2025 Jun 06, 2025

Try setting both output result rects to the expanded_rect. Also if you want you can expand the request rect to recapture any offscreen pixels, not sure if that is relevant to the plugin you are making. 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jun 08, 2025 Jun 08, 2025

I am a little bit comfused, what the different between req.rect and in_result.rect?

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Jun 09, 2025 Jun 09, 2025

The req.rect is where you ask ae for a region of pixels when you call checkout_layer. The result.rect is populated from your PF_RenderRequest and the PF_CheckoutResult result_rect is the rect of pixels you can actually get, since parts of your request rect may not actually contain pixels, depending on masks, upstream effect buffer behaviours, etc. 

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jun 09, 2025 Jun 09, 2025

Thanks a lot! Btw, if I want to get the merge result from all the layers below the layer which I apply my effect plugin, how to get the result of that merge image?

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Jun 10, 2025 Jun 10, 2025

If the layer is an adjustment layer you will get that result. If your layer is a solid or footage, it's not possible (to my knowledge)

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jun 11, 2025 Jun 11, 2025
LATEST

OK~

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines