So far i came through simple applications/games development, i just started seeing what is openGL ES 1/2. What i would like to know is to write games/apps with rich graphics(3d) and animations, what is the starting point of learning? and is there any other tool/IDE to develop such apps/games.
Thanks
Everything programming wise is done with existing eclipse and android SDK. For asset creation you need to pick your own 3D modelling package (e.g. blender, 3ds max, maya) and image editor (photoshop, gimp, or even ms paint) for making textures, sprites etc. You'll also need to write an (in-app) parser for whatever 3d model format you choose to save your models as. Android does however have various methods for loading in images
Alternatively, there are some game engines out there for android that you can pick up off the shelf if you don't want to write your own from scratch. Unity3d is the only one I can think of right now, but I know there are others as well
Here are simple application for developing graphics and gaming purpose.
3d Game Tutorial - part I
3d Game Tutorial - part II
There are lot of application examples available. Please, refer above links.
Related
I am currently trying to make a Drawing app for Android. I have already got the basic things up and running. Now I want to add 3d models to it so that users can select the models and paint on them and they can even make models in the app itself. I found Sceneform but it is primarily used for AR and I don't want to use AR. I would like to know if there is a way through which I may be able to achieve this or should I use some other framework for doing it. Any help would be welcome!
Sceneform supports 3D assets in the following formats:
OBJ
glTF (animations not supported)
FBX, with or without animations.
Please Reading.
https://developers.google.com/sceneform/develop/getting-started#import-sceneform-plugin
Sample Project
https://github.com/the3deers/android-3D-model-viewer
I've created a few android apps but using just regular layouts and views.
Now I am trying to learn a game developing and I understand that I need to use either custom drawings to canvas or open gl to get better graphics and performance.
I just can't quite figure out where to start.
For example, to get graphics like this (see attachments) is drawing to canvas is enough, or should I learn Open GL, or is it only achievable with things like unity or libgdx?
This looks like a pretty straightforward game. A few images, a few animations to move them around, and possibly some particle effects (celebration fireworks, etc). You would get the images and then use a game engine like unity or a framework like libgdx or monodevelop.
I have experience with both Unity and libgdx (which is similar to monodevelop and XDA). I would suggest you use unity just because of the editor. This is something that I think isn't mentioned as much in the unity vs libgdx comparisons. The unity editor will allow you to prototype the game visually MUCH quicker than using a code-focused environment like libgdx. There is an open source editor for libgdx called Overlap2D but it of course doesn't have nearly as many features. For loading the scene from the editor into your game it's using an entity component system (just like unity) called Ashley. In similar to unity and is basically mimicking it.
I would recommend using libgdx only if you're an experienced developer and require the level of low level control libgdx provides, or if you just want to learn. It's good to learn and get experience with working at a lower level, such as managing the game loop and assets yourself.
Also some recommend unity only for 3D games. This was the case couple years ago, but now they have official 2D support, so it's pretty good for 2D games now. The editor works the same as for 3D games. They even have a 2D physics editor built in (assigning colliders to images, creating joints between colliders, etc).
So, for a personal project, I'm trying to make an app that helps newcomers get used to the school quickly. And for one section of it, I'm trying to build a 3D Structure, in a shape of my school campus, with lables incidating where the rooms are, so when the using searches for specific rooms, they can easily find it. So, It would be like from one activity, when I click a button, it opens a new activity with a search bar on the top, and the rest of the screen a 3d image people can navigate through. What's a way I can accomplish this?
I know that the structure part can be accomplished with Unity, which I haven't learned but have an idea of what it is, but I don't know how to build the rest of the app with Unity.. So..
You probably want to start with designing the model (structure) in some-kind of modeling program, Maya, 3DS Max, Cinema 4D, Blender, etc... (Personally I recommend using Blender since it's free and open source). Then you would want to export it to some 3D model format, I recommend using .obj since it is very human-readable and easy to parse on your own, but you can use some other format and parse it using a library.
Now comes the more difficult part and it's to render the loaded model onto the screen. This can be accomplished with OpenGL ES or a more highlevel library which can abstract it for you. If you're not familiar with OpenGL ES or OpenGL in general, I wouldn't recommend using it since it may take some time to learn. There are few libraries out there which can render 3D models pretty easily. Now you should probably create some-kind of a controllable camera as well so you can use it to navigate through the model.
This maybe looks like a lot of work but if you already familiar with computer 3D graphics it can ease it up for you.
Well, you can make a 3d model of your school using Blender (which is a free tool, but will almost certainly be a lot of work). Export the model as a mesh which you can insert into your app as an asset or resource. Read the resource and present it using (probably) opengl. This is a SUPER high level view, in actual fact there's quite a lot of work in each stage. Some third party libraries can make it a little easier, but it will still be a big job. I personally like libgdx for abstracting the pain of opengl, but that's just my personal opinion.
It's a big job, but would be super cool .. good luck!
I recommend starting off with building the structure in a program like Blender, Maja or 3ds Max. You can export your projects from those programs to pretty much any game engine and it makes more sense to build things in one of those programs.
Once you're done with that you can choose which engine you want to use to add the search function, if unity or Unreal or whatever but either way you're going to need to make yourself familiar with java or c to add the search function.
I recommend to use blueprints of building if available, it will save you a loads of nerves. Use it as a material texture and place it on a plane polygon to get a good lining helper.
If you do use Unity for development then try Maya for polygonal modeling. At least they are looking similar to each other whereas 3DSMax is always a mind f*cking experience.
My thesis is to create an 3D android game. I have installed the 3D softwares like 3DS Max, ZBrush, Blender. I also downloaded Android SDK for Windows and I have Eclipse Juno. But I don't know how to start. Thank you in advance. :)
If you want to write a game, use a game engine.
I would advice against using OpenGL directly if you want to focus
on game mechanics or story. 3D game engines like
Unity or JMonkeyEngine
give you all the tools you need to turn your 3D assets into a game:
Importers for various file formats, a scene graph,
math libraries, and usually tons of example projects that get you
started quickly.
If you want to write a rendering engine, use OpenGL
With OpenGL you can build everything mentioned above yourself: Write
or find importers for your assets, figure out a lighting model, write
a scene graph. If you want to do all that, cool, use OpenGL. But
doing this technical stuff will keep you busy; you will have less time
to make a really great game.
I prefer OpenGL ES for Android. Good performance and easy enough to learn.
It's better to start from basic with opengl and then understand concept of using 3d and then prefer standard tool to use.
I have listed android game engine tool for 2d and 3d. Hope it might help u.
https://stackoverflow.com/questions/17163446/what-is-the-best-2d-game-engine-for-android/17166794#17166794
Start with unity3d which is a game engine, I am not sure but the names that you have posted are used for making 3d models for the game.
Your Thesis? That's pretty broad scope! :)
What I would be looking for, is something with lots of example code (since you say you don't know where to start) and good community involvement (ditto the start thing).
If you only need a single player setting, then I would suggest libGDX as a place that would be a good jumping off platform, as there are lots and lots of step thru tutorials along with lots of example code (and a very up to date wiki on the API), and a pretty good group at helping out with issues.
Since it is open source, you can dig as deep as you want into the inner workings to understand (or be mystified like me) as to how the code is accomplishing whatever task you are looking at. (which might be handy for your thesis)
While it might not be quite as polished as some other commercial 3d development kits, the BadLogic crew has made some very big progress the past few months on the 3d side of the house, along with breaking my JSON code... thanks! :) )
I'm looking for a 'basic' AR SDK that allows me to draw images and 3D shapes around the user (no matter where he is). It would be even better if the SDK includes a simple way to detect interaction with the shapes (something like onClick).
I made a project from scratch on Android but there's still a lot of work to do and I'll need to do the same on iOS after... So that's why I'm looking for an SDK or a similar project (no matter what platform).
I tested Metaio but it's quite expensive and maybe overkill for my purpose because it uses LLA coordinates.
I tested DroidAR on Android but it's only for Android and it looks heavy too (don't need the GPS).
How about Qualcomm's Vuforia? I was able to quickly get a sample project running on it.
EDIT Looks like I was wrong about what it could do. According to this (which is slightly dated, so who knows) Metaio might be your only choice.
i really don't sure what you really want to do ..but if you simply show images or 3d models on camera without any detection you can achieve this very easily i am explaining for Android and you can extend it to ios on same logic.
first approach:
you have to use custom camera of Android in your app,then use any game engine as per your need..i will suggest Jpct-ae or Rajawali
they are very simple to integrate and can be used for 2d images and 3d models.
this tutorial will explains a lot
keep the gl-surafce transparent and you can have model floating in space ...
second approach :
to add some more effect to your AR app you can use sensor values to move model in 3d space as per movement of device..it gives a cool effect.
use first approach and additionally collect sensor values and apply that matrix to gl camera of your game engine..for sensor values follow here
good tutorial here..
i hope this may help you..i done these a long time ago but try to help if you want..