Skip to content

Commit

Permalink
Initial release
Browse files Browse the repository at this point in the history
  • Loading branch information
chsh2 committed Jan 14, 2024
1 parent fe2bab9 commit 4460280
Show file tree
Hide file tree
Showing 7 changed files with 22 additions and 7 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@ __pycache__/
/tests/
*.py[cod]
*.blend1
*.zip
*.zip
*.sketch
23 changes: 18 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ This Blender add-on provides with shader-based effects on image/sequence/movie t
The functionalities of this add-on include:

- Texture Playback Control
- Controlling the playback and speed of sequence/movie textures with keyframes
- Speedup/slowdown/offset/reverse of sequence/movie textures controlled by keyframes
- VFX Shaders
- Blur
- Chroma Key
Expand All @@ -29,17 +29,30 @@ It is recommended to use this add-on's operators on images/sequences/movies impo

![](docs/menu.png)

The add-on can also work with any material containing a [Image Texture](https://docs.blender.org/manual/en/latest/render/shader_nodes/textures/image.html) shader node. If the active material contains more than one image texture, please select one of them in the Shader Editor. A similar menu is available in the Shader Editor's `[Add] > [Texture VFX Control]`.
The add-on can also work with any material containing a [Image Texture](https://docs.blender.org/manual/en/latest/render/shader_nodes/textures/image.html) shader node. If the active material contains more than one image texture, please select one of them in the Shader Editor. The same menu can be found in the Shader Editor `[Add] > [Texture VFX Control]`.

### Playback Control Driver

![](docs/playback.png)

**[Limitations]**
By executing `[Add Texture Playback Driver]`, a [driver](https://docs.blender.org/manual/en/latest/animation/drivers/introduction.html) will be added to the `Offset` attribute of the video texture. At the same time, a custom property named `playhead_{{video's name}}` can be found in the `Object Properties` panel.

The playback of the video can be controlled by keyframes of the `playhead` property. A value of 0 shows the first frame of the video and a value of 1 shows the last frame. In this way, different effects can be achieved such as offset, speed changes and reverse play.

**[Limitations]** *The frame offset is an attribute of the material. Therefore, all objects with this material will always show the same frame of the video. If you want to show different frames of the same video in multiple objects, you may need to import the video through [Images as Planes](https://docs.blender.org/manual/en/latest/addons/import_export/images_as_planes.html) again, rather than duplicate the object.*

### VFX Shader Node Groups

**[Limitations]**
![](docs/fx.png)

Menu items `[Effect: *]` adds some common VFXs to the image/movie texture. Multiple effects can be used together. They can also work with the playback driver.

You can also manually set up the VFX shader nodes to achieve more variants of these effects. `[Append VFX Node Groups]` will append all preset node groups from this add-on to the current file.

**[Limitations]** *The outline shader has a complicated setup, including creating 4 new copies of the texture nodes. Please pay attention to the sequence of nodes if you would like to use it along with other shader node groups which are not from this add-on.*

## Credits

The method of Chroma Key comes from [OBS Studio](https://obsproject.com/). Its implementation also refers to a [Godot shader](https://godotshaders.com/shader/green-screen-chromakey/) made by [BlueMoon_Coder](https://godotshaders.com/author/bluemoon_coder/).
The method of Chroma Key comes from [OBS Studio](https://obsproject.com/). Its implementation also refers to a [Godot shader](https://godotshaders.com/shader/green-screen-chromakey/) made by [BlueMoon_Coder](https://godotshaders.com/author/bluemoon_coder/).

The example video used in this document is from [Pixabay](https://pixabay.com/videos/cat-pet-green-screen-green-nature-116648/) made by BoVibol.
3 changes: 2 additions & 1 deletion __init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@ def draw(self, context):

def menu_func(self, context):
layout = self.layout
layout.menu("NODE_MT_add_tfx_submenu", icon='SHADERFX')
if context.area.ui_type == "ShaderNodeTree" or context.area.type == "VIEW_3D":
layout.menu("NODE_MT_add_tfx_submenu", icon='SHADERFX')

def register():
auto_load.register()
Expand Down
Binary file added docs/fx.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/install.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/menu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/playback.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 4460280

Please sign in to comment.