Home Artists Posts Import Register

Content

Making progress on the custom character import feature! The game now supports the import of character models in the VRM format and I'm currently working on custom Unity tools to allow people to configure custom characters, so that they work well with the game's setup.


The VRM Format

The format is from Japan and it's widely used for Vtuber avatars, so the sample files are anime characters, of course. (Also pictured, VRM's built-in toon shading ends up being way too bright, in the game...)

The VRM format was developed to easily exchange character models between different applications; under the hood it uses glTF model files and adds a bunch of character-specific features (such as dynamic/spring bones) and meta data (i.e. the character's name, author, etc.)

You may know VRM files from "Vtuber" software like VSeeFace, for which they are a popular choice. Also, it's been developed for Unity projects—or at least comes with a Unity library, out-of-the-box.

So, in many ways, picking the VRM file format to import custom characters into Pawperty Damage was a natural choice, especially because many people will have experience with working with this format, already.

Unfortunately, implementing it into the game has proven rather... frustrating. The format's API and usage isn't well documented, and a lot of the documentation hasn't been translated from its original Japanese—and my Duolingo score isn't yet high enough to read API docs, I'm afraid!

Another problem is that the VRM library officially supports Unity up until version 2021.3, which is at least 2 years behind the version I am using for Pawperty Damage. Whoops! Luckily, this doesn't seem to cause tooo many issues, but it meant that I had to mess with the VRM source code at least once, to make sure it actually runs in the newest version of Unity.

Long story short, I finally got it to a point where it seems to work pretty well—even if it comes with a whole bunch of quirks... I'll go into more detail on those, once the feature is complete!


Custom Unity Editor Tool

Preview of the Pawperty Damage Custom Character Tool, in Unity. (Character model by Galileo)

While the game will try to import any character VRM file you throw at it, chances are the character will feel/look off when you see it in the game. That's because you'll want to fine-tune a number of things, to make sure the character looks/plays correctly:

  • Adjust the overall height of the character, so it matches the other characters
  • Adjust the size of hit boxes, to match the character's hands/feet
  • Define the point in the character's hand, where they hold cars when picked up
  • Set up the position of hand and mouth when eating cars, so they now how to chomp down

All of these things are loaded from an optional JSON file, that makes up the "custom character configuration".

To help you set up this configuration, I'm currently working on a custom Unity editor tool: This is an easy/visual way of configuring the custom characters.

Setting up a character's hit boxes, in Unity. Don't lecture me on how they are "hurt boxes", actually. They're not even boxes, for crying out loud! (Character model by Galileo)

If you couldn't tell, I'm very passionate about custom Unity editor tools, haha: I think there's something very satisfying about using a well-designed, thoughtful custom tool, to help you with exactly what you want to achieve. (Also, making tools like this used to be my literal job.)

It does come with one downside, though: If you want to configure a custom character, you will need to install Unity on your machine, to use this tool...

That's a bit inconvenient, but chances are you will need Unity, anyway, to export the VRM files: This means you can just do both, export the VRM and set up the Pawperty Damage config, at the same time.

The workflow is a bit technical, but I hope to put together a detailed manual and video tutorial, once the feature and tools are finished, to help folks with this process!


Thanks for your Support!

Progress has been slower than I hoped it would be, because the VRM stuff turned out to be more frustrating than anticipated (and also I got sick and was out-of-order, for a whole week, whoops) but I think the hardest part is done!

If everything goes as planned, the custom character import feature should be able to go into beta, late next week.

For testing purposes, I will probably look around for people who already have custom character models lying around, which they want to see in the game: I want to make sure the export/import feature works as smoothly as possible...

And before I release this feature to the public, I'll probably want to add a few more little things to the game, I think: I want it to be an impressive game update!

Also, special thanks to Galileo for letting me use his beautiful character models, for demonstration purposes! Once the custom character feature is complete, I suggest you browse his Gumroad page and get some of those models, for yourself!

Files

Patreon Update #43

Patreon: https://patreon.com/darelooks Twitter: https://twitter.com/DareLooks

Comments

sp

that tuning interface is legit one of the best I've seen in any sdk/model editor, looks extremely intuitive. the hand/mouth configuration looks particularly impressive. I'm totally not taking notes & wishlisting something like this for Sizebox 2 👀

Dare Looks

thank you, that means a lot! :D There's still some improvements I want to make to the tool; but yeah, the Bite setup was the main reason I needed a tool like this - for everything else I could have the game "guess" some decent default values, but without knowing where the character's mouth is and how the hand would need to be positioned, the eating animations were just completely off, 100% of the times, heh...

Anonymous

I hope you are doing well after dealing with frustrating APIs, Japanese and illness. Your editor looks very promising, much easier than converting models to Sizebox (did that alot in the past). I will definitely try it out! But that leads to a question: Will we be able to share new PD characters on Steam's workshop?

Dare Looks

Thank you! And that's a very good question—principally, it's possible and I do want to allow it. However, I'm a bit worried people will upload all kinds of stolen or unlicensed characters... which isn't too much of a concern to me, personally, if it's, like, Scout from Team Fortress 2, or whatever. But I would hate to see people upload random VRChat avatars and such, without the permission of their respective owners/creators; that I think would be very unfair.