Hello, at the moment i have wanted to make a mobile 3d art software similar to blender and pre existing 3d art apps such as nomad sculpt.
However i have not found any tutorials on the mobile app development side of things, so i wanted to try game development communities since they are more popular. Is it possible to go through unity to make a 3d software rather than a game, and how might i tweak pre existing curriculums so that i can focus more on computer graphics and app development than game mechanics?
I want to work on a small app with armature/rigging and keyframing features, and an Android app for retopology. How would I do that?
Unity is in use for some data visualization (and primitive manipulation) purposes in various industries and the Unity company has some products for Architects for example. Usually the focus is on visualization and showcasing however, not on creation.
So yes, almost anything can be done. But it won’t provide all that much premade stuff for you to just modify.
Btw. what the heck does “tweak pre existing curriculums” mean?
You should be able to do it graphically, and be able to manipulate vertices, etc. It may be possible to get file import and export during runtime working, although I have never looked too closely at formats not supported for runtime by Unity as standard.
I doubt it will be as efficient as doing it natively, but may prove easier depending on your experience. But it will be a big undertaking.
The big question is: What advantage will your offering have over existing options? It will need something attention grabbing to make it worth the effort.
There is a common misconception that you need a tutorial specifically aimed at a subject in order to learn it but that’s not at all true. Creating a UI, for example, involves the same process and API regardless of whether you’re making a game or not.
My apologies, by that i meant what parts of a game dev course i might skip or leave out since i am trying to make an app, since i got a bit overwhelmed about how i would use the knowledge in the game dev course for an app
I don’t know enough about computer graphics programming from scratch or even with a library to feel confident using an API with a native app environment, and most tutorials seemed focused around games and i thought at least with unity it might be faster to learn and create the app and because most computer graphics articles focusing on games said to seek out a pre existing game engine.
I know this will not be an easy hobby project but i just want to try and make a clear curriculum so it isn’t so daunting.
It would matter if unity used lua for scripting. However, it uses C# which is a strong general-purpose language. The issues you list aren’t important.
Multiplatform support, game engine capabilties, built-in PBR support, built-in texture format support, already working scenegraph, physics engine capability and so on.
For example, if you were to start from naked libsdl, you wouldn’t have PBR rendering capability and would need to code it in. If you wanted a skeletal mesh, you would need to code that in. In unity you already have it.
When I said “The big question is: What advantage will your offering have over existing options? It will need something attention grabbing to make it worth the effort.” I was referring to what advantages will the software created by the OP have over existing options such as Blender and 3ds Max. Creating something with no advantages over existing competition means the OP will be creating the project for their satisfaction only, as it would struggle to get users.
I wanted to make this app to have a lightweight mobile alternative for the 3d pipeline as i remember times when i couldn’t make anything because i didn’t have a working computer, something decent enough that you can make a small demo reel and commissions with or even a larger project. I also just wanted to be able to make small animations on the go in a tablet or even a phone, even if it’s as small as rigging and animating a bouncing ball.
Nice, that is a good reason. All too often people lacking experience suggest difficult projects with no understanding of why they are doing it. You have thought about that, and I wish you luck. I will be interested in the final project, and in how you implement the controls.
Having written an app that allows users to design a trophy using simple primitives ( limited to classic platonic solids as a design choice by the client ) and very simplified interactions, as well as trying out a few existing 3D modelling apps, the biggest challenge you’re going to face is implementing interaction and UI to make it worthwhile to use in the first place.
The challenge gets even harder once you want to consider creating animations as generally at some point you need to offer timeline type functionality. All of this using inaccurate and simple touch based interaction is quite tricky, especially on such small screen devices such as phones, though a little easier for tablets. You could get around much of the difficulty by supporting mouse or maybe even controller inputs, but then you are relying on users carrying round peripherals to use the app.
In my opinion designing the user interface and interactions would be your best starting point along with the features you’d like to see, as that is going to become the deciding factor as to whether or not such an app is even feasible from a usability point of view. If you are still confident after doing that, and probably after implementing the interface but have it produce dummy content, then you can focus on how to doing the modelling and editing code - since that is pretty well established and you’ll likely have a better idea of resources to search for to code that. As a starting point you’d be wanting to look up code examples for how to do bone animation or 3d modeling such as lathe, box modelling, etc.
I will say I believe this to be a very challenging project, but by no means impossible. I’m sure there is a solution to the interaction/UI but that will take considerable time and effort to solve.
Finally I’ll provide some links that I’ve collected over the years that might be useful starting points for the modelling and editing aspects
Gamedev.net
This site has been around for two decades. I used to use the forum extensively to learn about coding and 3D prior to using Unity, reading through the forums is likely to bring up interesting subjects that would be useful to coding modelling app. But you’ll have to browse through.
Paul Burke
A site that has been around for decades too - lots of interesting subjects regarding geometry and much more - probably one of the best starting points to just browse and pick up interesting bits and pieces.
Half-Edge Data Structure
This might be of use depending upon what modelling features you want to implement. This is from a now defunct websites archives, but you may find its other archived articles interesting, though most of it is pretty dated nowadays.
GeometricTools
Useful reference for source code for computing in the fields of mathematics, geometry, graphics, image analysis and physics