RV-A-Sketch Package for RV

RV-A-Sketch Package - RV Developer Example Series

In this example, you can generate annotation strokes with your arrow keys.

About this series:

Over the years, I’ve made a number of packages for myself, developers looking get get around a roadblock, or to just reproduce/validate a bug.

While the packages in this series aren’t intended to be fully finished forms of art, they all have some sort of value that I’d like to pass along. You will likely find problems, bugs, and/or things that could be optimized, but the purpose here is to share formulas and recipes to help expose what you can do with RV. I hope this series proves valuable, and I encourage you to share your own packages (assuming you have permission to share them to the public).

If you are new to writing RV packages, also check this out: How do I write my first package in RV?

What does this package do?

This package might be fun and games, but it gives a real example of how you can author your own annotations with code. This can be useful if you want to modify or extend the annotation system to add features, incorporate vector-based annotations from another system, or even get vector-based annotations out of RV for ingestion into your own custom solution. There are lots of reasons to work with annotations from a programmatic level.

What can we learn from this package?

In this package, you should be able to have the following takeaways:

  • How the RVPaint properties are built and populated to provide annotation strokes. While this is not an all-encompassing breakdown of every feature of RVPaint, it provides a foundation that can be used to understand the system.
  • Delayed Load modes with event binding overrides: This mode does not start up when RV does, and it is turned on and off as you instruct it. When the mode is active, it overrides keys normally used to change frames (arrow keys). When the mode is inactive, those hotkeys perform their normal function.
  • Property creation: not all properties exist on a node when it is created. Nodes like the RVPaint node expect some properties to be created at runtime. While these properties are special and have specific naming, you can also make your own properties to track custom metadata on any node (such as if you want to track specific source metadata information).

This package was originally created for an RV developer event, I’m happy to share it here in hopes that it can prove as a simple example to demonstrate the paint system outside of RV’s built-in systems.

The Package

To install this package, go to RV>Preferences>Packages , then click the Add Package... button. Open the package file, choose your install location, and then make sure both check boxes are checked on the package in the list.
RVASketch-1.0.rvpkg (1.8 KB)

For help on installing packages, check out the package installation portion of the user manual, here .

Share your RV-A-Sketch artwork!

I encourage you to share your silly RV-A-Sketch artwork here, if I can write ‘hello world’, I imagine you can do a lot better than me :slight_smile: . Either start with a background image, or just make a solid procedural background (from the session manager you can click the + button, go to Color... and choose your background). Enable RV-A-Sketch through the Tools menu and make something cool.