Dev Log #20

It’s been too long since the last dev log, so without further ado here we go!

Moon update

Last October we went to the moon… lab in Rostock Germany, so what’s happening with that?

We’re still working on the Namaqualand project first (more on that below), but our friends from Rostock asked us for something they could present at a conference recently, so we processed two of the scans and made a little demo scene to show their potential:

We’re not completely finished with the textures just yet, but it’s a good indication of what’s to come later this year 🙂

Namaqualand progress

Our trip to the desert back in September last year is finally starting to show some results! We’ve completed a number of scans and worked out a few kinks with the process. The plan is to finish everything around July, but don’t hold us to that just yet 🙂

Verdant Trail is out

We wrote a dedicated post about this when it was published in February if you want more details about the project as a whole, otherwise, here are some pretty pictures:

Dimensions, texel density & polycount

This is another one of those “nice to have” things that’s been on my list for years, but I decided to tackle it recently: Displaying the dimensions and polycount of models on the website, as well as the texel density for both models and textures:

This helps you get an idea of the resolution of the asset before downloading it, or perhaps meeting some requirements in your project.

The largest dimension is shown, with the words “tall” or “wide” depending on the axis. Hovering over the value will show all dimensions precisely.

Texel density is shown in pixels per centimeter, but if you hover over the value it will also show a precise “pixels per meter” value as well if that’s more your style.

Polycount is just triangles before any subdivisions.

Modular buildings

James started working on a set of modular urban buildings during the Hidden Alley community project, but decided they needed a bit more attention after the alley was completed rather than trying to rush them in for the release of that collection, or make our awesome community wait even longer for their assets to be published.

This is one of our first forays into modular environment assets, so we’d love some feedback on their usability and design if you have any 🙂

Plans to support geometry nodes

One of our long-standing issues, and complaints we get fairly regularly, is that our tree assets are not very compatible with non-Blender software.

One of the issues comes from the fact that our FBX exports are fully automated, and don’t work well for geometry nodes necessarily, and in this case results in the leaves going missing. We have an FAQ item about them and everything.

But it’s not just limited to FBX, some Blender users just want a static tree mesh that doesn’t have any complex controls and performance implications. This is particularly the case in Blender’s asset browser: often users don’t want any kind of “baggage” attached to the asset, they expect a single simple tree to appear when they drag it in.

To address these problems, we’ve come up with the following solution:

Models that use geometry nodes will have two variants inside their Blend file:

  1. The original generator that is used to create and customize the model.
  2. A static version that is baked down with all modifiers applied, ready to export to FBX, or simply used in Blender.

Both these versions will be marked as assets in our add-on so that they appear in the asset browser despite coming from the same Blend file.

Another example is grass: Sometimes you just want one small tuft of grass to place manually and accent your scene, but sometimes you expect to drag the asset onto a ground plane and automatically scatter the grass instances across the mesh. Both of these could be accomplished by simply organizing the file well and marking the appropriate datablock as an asset.

This needs to be handled on a case-by-case basis, so it’ll take some time for us to investigate each of them, come up with some consistent standards, and update our assets to comply.

API licensing

The Poly Haven API is now generally available and free to use for non-commercial and academic purposes.

The API is simply a way for developers to access our assets with code, downloading what they need in the formats and variants they require, and also includes all the metadata like tags, categories, and polycounts. This is used for example in our Blender add-on to download assets directly in Blender as needed.

Previously, we made the API public but did not formally specify how anyone was allowed to use it. This led to some great tools like a Houdini plugin and some AI model training, however, it also led to what we consider abuse of our CC0 assets for selfish gain – users essentially cloning our website and placing ads everywhere, hijacking our old names (and even Patreon accounts) to build SEO reputation.

We were also contacted by a number of studios and corporations that were interested in using the API but wanted some kind of guarantee of reliability and consistency.

For these reasons, we decided to add a formal Terms of Service for the API and define what we’re comfortable with and what developers can expect from us.

Anyone wanting to use the API for commercial purposes will need to contact us to request permission (and a quote) to ensure we can cater to them sustainably. We still want the open-source community, students, and researchers to have unrestricted access, so the API is completely free to use for those purposes.

If all of this sounds confusing to you and you’re not sure what the API even is, don’t worry about it 🙂 All our assets are still CC0 and free for everyone, nothing has changed there.

Our stance on AI generated assets

In case you missed it, I wrote a lengthly post about what we think of generative AI in the 3D asset industry, what that means for us, and what we’re doing about it.

That about sums up the last few months! There’s a little bit of work here and there that we aren’t ready (or allowed) to talk about just yet, but you’ll hear about some of it in the next Dev Log 🙂 Thanks for reading!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.