On road to Curved Poly 1.2

By | January 21, 2020

(Update 21/01/2020) Curved Poly Shape Editor v.1.2 BETA and Open Source Code for Shadow Framework Unity are ready to go. You can access both from the links here.

Curved Poly Shape Editor v1.2 Beta

The package is shared through this Open Google Drive directory:
https://drive.google.com/drive/folders/1wD501leDmvAmkvlFKvCmqnErJw1b_e62 . Beta will be opened up to the date the Shape Editor is upgraded also on Unity Asset Store, then it will be closed. Please, keep in mind that Beta has a few issue which still need to be solved, so it’s intended for evaluation purpose only

Open Source Code for Shadow Framework Unity

Shadow Framework Unity, the library covering runtime features of Curved Poly, is now available through github as an Open Source project with Mit License. Find it here:https://github.com/MushroomsLabs/ShadowFrameworkUnity. Docs are not available now, but you can find code examples in the tests folder. Find such tests here:
https://github.com/MushroomsLabs/ShadowFrameworkUnity/tree/master/src/ShadowFrameworkUnityTests/sftests/tests

About Curved Poly 1.2

Curved Poly is a continuos working in progress with much more to come. Version 1.2 will feature great improvements to runtime features, filling much more of the gaps needed to make Curved Poly useful at runtime and covering the needs of the widest possible set of games development scenarios. In this post I will summarily present you the new features, which are on development right now. Then I will give you some important informations about the evolution of the project. In the end i will present a set of (tentative) dates, stressing on the fact that this release will happen in a few steps rather than just getting out at once.

What’s new in Curved Poly 1.2

Edges and Polygons with Frozen Tessellation

(Update 24/12/2019) Progress: edges with frozen tessellation have been developed and are now on alpha for more robust testing. They will be available first with Beta version of Shape Editor. Polygons with frozen tessellation will be either be part of 1.2.1 or other future releases.

You will be able to freeze the tessellation of chosen Edges and Polygons, so that Curved Poly will not retassellate them with different LoDs at runtime. Basically, the model will be a mix of fixed pretassellated parts and parts which can be retassellated on need. In this way you will be able to optimize the way in which LoDs are generated at runtime, making your work more efficient and more performant.

Tessellation Level 0

(Update 24/12/2019) Progress: tessellation Level 0 is on Alpha stage, it will be available first with Shape Editor Beta release.

You will be able to use a 0 tessels amount in LoDs asset. When an edge has a tessellation of 0, it will be skipped during tessellation processes. Also its adjacent polygons will be skipped. You can exploit this to define LoDs where parts of the model are ignored.

Runtime API

(Update 24/12/2019) Progress: runtime API will be available with the exit of the ShadowFramework v.4.0 (see the paragraphs belows). The code will be out soon (planned day is 31/12 right now), but a full documentation for this may take some more to be out.

You will be able to access your model at runtime, through a (definitive and) documented API. This will allow you for example to take control of tessellation degrees or to alter the shape of the objects through scripts.

UV2

(Update 24/12/2019) Progress: this feature will be part of 1.2, but it will be out on store version, and it will be missing in Shape Editor Beta. It will appear first with Curved Poly Maker 1.2.

Curved Poly will now support runtime generation for UV2. Since data for this feature must be generated on each model, it will be available only for people having Curved Poly Maker through UV Operator; people having Curved Poly Shape Editor will have a few sample model with generated UV2.

Custom Settings for Generated Meshes

(Update 24/12/2019) Progress: this feature is on Alpha stage, it will be available first with Shape Editor Beta release.

Now, if you have a Curved Poly, it will automatically generate a Mesh Object and a Mesh Filter at runtime, and Mesh instances between Editing and Runtime will be discontinuos. With this update you will be able to choose between different alternative workflows. This is something I want to do in favour of situations in which you want to use Curved Poly in junction with other Unity Plugins: having more options shall increase the chance you can integrate Curved Poly with whatever you want.

Colliders

(Update 24/12/2019) Progress: this feature is on development, it will be available first with Shape Editor Beta release.

Curved Poly 1.2 will have automatically generated colliders. As for meshes (see previous point), you will able to choose between different workflows.

Tangents

(Update 24/12/2019) Progress: this feature will be part of 1.2, but it will be out on store version, and it will be missing and it will be missing in Shape Editor Beta. It will appear first with Curved Poly Maker 1.2.

Curved Poly will also, eventually, generates tangents at runtime (now only normals and uvs are generated). Again: you will be able to assign this on Custom CP Asset settings.

Compression Modes

(Update 24/12/2019) Progress: this feature is on development, it will be available first with Shape Editor Beta release.

Curved Poly already uses its own solutions to compress data. With version 1.2 you will be able to access compression settings on Curved Poly Assets, making you able to choose between quality and performance.

New Polygons Interpolators

(Update 24/12/2019) Progress: this feature has been delayed to version 1.2.1.

With SF v.4.0 almost out there will be more options on interpolation mechanics applied to polygons.

LoDs Preview Window

(Update 24/12/2019) Progress: this feature is on Alpha stage, it will be available first with Shape Editor Beta release.

There will be a new window which shows at once a preview of all the alternative LoDs available on one model with assigned LoDs asset. In this window you will be able to see how each LoD changes while you edit your model.

(Curved Poly Maker only) General Improvements to Create and Edit Features

(Update 24/12/2019) Progress: this is on Development, it will be available only with Curved Poly Maker.

This release does not stress on CP Maker, but I plan to have small improvements to some critical tools like Subdivide Edge or Bridge Joints, which now work only in a subset of the situations they may be useful for. I also want to add some more Creation Tools. Please, know that CP Maker has much much much more to come, and that release 1.3 and 1.4 will cover a huge amount of new tools. This update (1.2) is preparing the ground for the development of that tools.

(Tentative) Animation Support

(Update 24/12/2019) Progress: this feature has been delayed to version 1.2.1.

I’m working an a few components filling the gaps between Curved Polys and Unity Animation Systems. I will try to start adding something on this release, but only if they look stable enough. A full integration is more likely to be out through 2020.

The final Goal

Curved Poly is a project created over Open Source Software. Such Open Software is called the Shadow Framework. I’ve been working on this for almost 9 years, and the project itself has been discontinued for a few years. With version 4.0, the Shadow Framework (SF) is now stressing on the integration with over platform, rather than being a platform on its own, making the whole thing much more interesting for real applications, and, of course, for platform like Unity.

Curved Poly is a set of Editing Tools which exploits the core functionalities of SF v 4.0 on Unity. Models made with Curved Poly can be used on different platforms using the Shadow Framework. That meaning: not only Unity. You will be able to generate Curved Poly Models in Unity and reuse them in other environments, provide you have the correct implementation of SF.

The overal architecture, involving Curved Poly and the Shadow Framework

SF Packages

SF v4.0 is going to be released soon. And when i say released, i mean that the code will be out on github, and that I will start writing a full documentations and examples showing how to use it. Each SF implementation will require 2 libraries to work:

  • The Core Library: a basic library which contains the core features and which changes only depending on the language (C#, Javascript, C …)
  • The Environment Library: a library which contains the code required to integrate the core library into a real time graphics platform or environment, like Unity, three.js or Unreal.

The first environment getting Open Sourced will be, of course, Unity. In this case, the libraries are:

  • ShadowFrameworkUnity.dll : optimized Unity (C#) implementation of the core library.
  • CPRuntime.dll : integration modules between SF and Unity. This contains things like the Curved Poly Asset and Behaviour.

These are the planned dates for each enviroment:

  • End of December 2019: ShadowFrameworkUnity.dll and CPRuntime.dll will become Open Source, so you will be able to directly access the code and make changes to them.
  • (Tentative)May/June 2020: WebGL/three.js versions. At this time you will also have scripts to export data from unity and integrate it with three.js. There will be some showcase of Curved Poly models on the website.
  • (Tentative) Summer 2020: optimized C implementation of SF v 4.0. Then possible integrations may cover a more performant alternative to Unity libs (or direct integration into CPRuntime.dll to use both C# and C version), an iOS version, an Android NDK version and a Unreal Engine version.

Leave a Reply

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