Skip to main content

July 2023 Progress Report

New release is available on GitHub: https://github.com/Silverlan/pragma/releases/tag/v1.1.0

Ingame Tutorials

The tutorial system that I've mentioned in my last progress report is now complete! Here's a preview:

As you can see, the tutorials are also voiced now, using the ElevenLabs AI. This should make it easier to follow the instructions of the tutorials. The tutorials are currently only available in English, but I've set up the system so that voices could be added for other languages relatively easily.

If you want to try the tutorials yourself, you can download the latest version and just start "pfm.exe". There should be a popup after a few seconds, which will lead you to the intro tutorial by clicking it, which will then tell you how to find the other tutorials.

Here's an overview of all of the tutorials I have currently planned, as well as their completion percentage:

  • Intro (100%): Introduction to PFM and the basic interface
Interface (Series)

image-1690805969475.png

  • Viewport (100%)
  • Asset Catalogs (100%)
  • Render (100%)
  • Web Browser (100%)
  • Actor Editor (100%)
Lighting (Series)
  • Dynamic Lighting (0%)
  • Static/Baked Lighting (0%)
Animating (Series)

image-1690806031931.png

  • Animating Basics (100%): How to animate basic properties and how to use the graph editor
  • Character Posing with IK (90%)
  • Constraints (0%)
  • Math expressions (0%)
  • Full Body IK (0%)
  • Animation Drivers (0%)
  • Retargeting (0%)
  • VR Animating (0%)
  • Motion Capture (0%)
Rendering
  • Cel Shading (0%)
  • Decals (0%)
  • Depth of Field (0%)
  • Motion Blur (0%)
  • Sky (0%)
  • Volumetric Spot Lights (0%)
Workflows
  • Pragma Renderer (0%)
  • SFM Import (0%)
  • Scenebuilds (0%)
  • Prelewd Projects (0%)
Misc
  • Material Overrides (0%)
  • Particle Editor (0%)
  • UDM Editor (0%)

 

As you can see, most tutorials are still a work-in-progress, only the interface series is fully complete, as well as the first animating tutorial. I was hoping to get more done with this release, but creating new tutorials is pretty time-consuming, so it'll have to wait a bit longer. Finishing the lighting and animation series is my main priority for the moment.

If anyone would like to see any tutorials that aren't listed, please let me know. I could also use some feedback on the completed tutorials, it's hard for me to tell if they do a good job of explaining things or not 😄.

 

Animating

Inverse Kinematics

The new IK system is now fully implemented (based on BEPUik), with the exception of one pesky bug I have not been able to fix yet, but here's a small showcase:

IK Rig Editor

The IK rig editor allows you to set up a custom IK rig using various constraint types and limits:

You can restrict the range of rotation for each axis, which helps to prevent unnatural poses. The same method can be used to create full-body IK rigs, but I have to fix the aforementioned bug before I can showcase that.

Here's an actual usage example:

Tutorials coming up soon-ish!

VR Animating

If you have a VR headset with controllers, you can now use them for basic motion capture:

 

The way it works is, you can assign an ik control (like a hand) to a VR controller and then animate that in first-person. The system should be compatible with any VR headset, but I've only tested it with a Vive. You should also be able to use custom trackers, like the VIVE tracker (e.g. if you want to animate feet as well), but that is also untested.

I also still have to implement a curve fitting algorithm, so that the resulting animation can be edited in the graph editor, as well as a tutorial, but otherwise the system is fully operational.

Video Motion Capture

In addition, I've also been working on adding support for motion capture from video or webcam using the mediapipe library. This is an experimental feature and still in an early development stage:

(Please ignore the hands.)

In theory it allows tracking of facial movements, body poses, as well as finger tracking, but it is somewhat unstable. I'm also not sure if I'll have the time to finish this feature, so no promises yet.

 

Misc

Localization

I have set up some scripts to fully automate the translation of PFM into other languages using the ChatGPT API. This will make it significantly easier for me to add (and maintain) support for other languages in PFM. Using this system, PFM is now fully localized for French, Spanish and Chinese (simplified), in addition to the previous languages. I can add more languages on request.

Auto-Updater

The standalone version of PFM now has an auto-updater, so you don't have to download the latest release from GitHub every time. It will notify you whenever there's a new update available. You can also enroll for experimental updates in the PFM settings, though I generally would not recommend it:

image-1690806654122.png

Window Layouts

I have added a new system to customize the layout of PFM. For instance, you can change it to a three-column layout like this:

image-1690812309506.png

If you detach any windows or resize them you can also save that layout state as the default, so it will be restored the next time you start PFM. The layout state can also be saved with a PFM project, so you can have individual layout setups for specific projects (similar to Blender). The intro tutorial explains how it works if you want to know more.

 

Conclusion

SomeI don't have any more plans at the moment for new features and will be focusing on the remaining tutorials, bug fixes and quality-of-life improvements for the foreseeable future. There's still a ton that could be implemented of course, but I feel like all of the core features are there now and just have to be cleaned up a little. I'm also way overdue for a new Prelewd release, but I needed to get some other minorstuff changes:

out
  • Assets can now be favorited inof the catalogs
  • way
  •  
  • first.

 I do plan on putting a lot of time into that next month though!