Closed jonmdev closed 5 months ago
You need the Editor to properly develop your 3D content. Maybe you can integrate Evergine into existing app, but without the Editor you can not edit anything in code.
@SupermindPT: I think I already know the answer to my question, but just to be sure I still wanted to ask. When using an EvergineView in .NET Maui according to https://devblogs.microsoft.com/dotnet/dotnet-maui-3d-app-with-evergine/, is it possible to add a primitive or a texture from behind-code and update the EvergineView programmatically based on a user action from the UI?
@SupermindPT: I think I already know the answer to my question, but just to be sure I still wanted to ask. When using an EvergineView in .NET Maui according to https://devblogs.microsoft.com/dotnet/dotnet-maui-3d-app-with-evergine/, is it possible to add a primitive or a texture from behind-code and update the EvergineView programmatically based on a user action from the UI?
Yes its possible. But without the Editor recognizing the project, you will most problably encounter issues when deploying the app, even though it may compile in Visual Studio.
Oh that's great. Do you by any chance have a reference of how to go about it? I have seen the Evergine sample tutorials, the documentation, and API but didn't quite find something that I was looking for in the context of the .NET Maui evergineView.
Oh that's great. Do you by any chance have a reference of how to go about it? I have seen the Evergine sample tutorials, the documentation, and API but didn't quite find something that I was looking for in the context of the .NET Maui evergineView.
I dont have a reference for it. I integrated Evergine into an existing MAUI app by trial and error. You are definitely dependent on the Editor for most things, they are clear about this in the documentation. The Editor generates code which then is used at runtime by the application. A simple thing like misstyping the profile name in the .csproj can break your application.
I am interested in a primarily code-only application of your software within a Maui UI project and .NET server based applications.
The primary tasks I need are basic 3D scene rendering which can start and stop programmatically, PBR materials, custom shader material support, animations, FBX or other Blender compatible object import, programmatic object/mesh creation, and collision detection. I think Evergine is well suited for all of this.
I might want the Editor just for pre-configuration of Evergine objects into proprietary objects that can be easily instantiated (like Unity's 'prefabs') but I would use this then separately from my working project. I do not need an "Editor" of any kind in my working project otherwise.
In my working Maui project I would want to:
I see from your tutorials your component system in many ways seems familiar to Unity and you have many examples online of doing things like selecting materials and instantiating entities by code.
I also see your tutorial on creating a Maui integration with your Editor here:
https://devblogs.microsoft.com/dotnet/dotnet-maui-3d-app-with-evergine/
But if Editor integration is not needed in the working project specifically, I am wondering primarily then if there is any way to take an existing Maui project and add sufficient Evergine libraries (which ones specifically?) via NuGet, then just run a function inside Maui on button click to start the Evergine engine and instantiate a program based on coded instructions to be shown through the given View object.
Is this possible? If so, how can one approach this? Is there a list of NuGets I can add, then just run a few lines of code to start the 3D engine, instantiate a camera, light, and send it to an Evergine Maui view on UI?
Also, is there any command for merging meshes? Like let's say you programmatically generate a "wall" or "floor" out of 100 one meter square tiles, then want to treat that as a single object (as this cuts draw calls dramatically and is absolutely necessary in real such cases). Unity has Combine Meshes for this: https://docs.unity3d.com/Manual/combining-meshes.html
Do you have any similar function for this or could one be written by hand? Specifically I mean, not redrawing every single vertex as one continuous object, but just merging the individual primitive shapes into "one object" so one collider can be used and fewer draw calls.
Thanks for any help. And thanks for making this available for .NET 7/8 & Maui.
I have tried integrating UrhoSharp but it was a nightmare. Stride only covers .NET 6 which is useless in current Maui. We saw what happened recently with Unity and their disastrous licensing problems. I only hope you won't get a big head and do the same. 😁
It looks like you are filling an important niche and working hard to keep it current and relevant with the Maui integration. I hope your business model remains viable so you can continue to offer the same for many years to come.
I will be happy to support you too financially with a code access request if this turns out to be a good fit and successful project going forward.