Android Blender

I wonder if any progress has been madehere

no updates since 2.6…

side note, maybe google would pay to have it coded?

built in tango support?

Those just seem like basic notes for a potential build method - It doesn’t look like it was ever an actual “project”.

maybe google would pay to have it coded?

Even if they would, could they find someone who can port a fully featured version of Blender to Android, and who would be interested in doing so? What if we reduce our requirements, to just porting the BGE - is there someone who could actually do that, and who would be interested?

You assume (wrongly, in my opinion) that it’s just a matter of having the money to pay someone.

The Viewport FX project (the first bit already being in master), is said to include the ability for Blender to run on an Open GL ES backend, which is an important part of getting Blender to work on Android.

Eventually, this means you might not only be able to make games for Android, but make them on Android as well.

Parallela runs openES right?

:smiley:

I just wanted to bump this but yeah, I have been wondering the same here recently. I’ve been wanting Blender to be on android too since now smartphones and tablets have been getting much better in hardware. It wasn’t till the other day I noticed you could hook up a bluetooth keyboard and mouse to it and use it like a computer > https://www.youtube.com/watch?v=0lTQ8c6lJwk&feature=youtu.be&t=3m48s

FL Studio, Photoshop, Sketchbook Pro, etc. have been available for a while now and not much of 3D software has been available up until this point like 3D sketcher, truesculpt, and 123D. tbh I don’t care much for the UI and limited features are packaged in the apps, so surely there’s got to be some interest right there to bring it to another OS! Just wish I knew how to port a build of it :confused:

If the possibility existed, I highly doubt the BGE would support Android before Blender even does since BGE requires Blender…

So, has anyone tried to pull down a copy of the viewport FX branch, and build a “android blender?”

I know that many of the linux libraries are the same in Android right? so it would be a strange mix of build parts?

who would know how to do this?

From what I understand, the BGE is an independent code-base, so, in theory, it could be ported earlier than Blender itself.

However, it’s not going to be (or, rather, it’s highly unlikely), because there’s no one who is both able and willing to do that work.

It’s not that simple… in many ways Android is more of a fork than a subset of Linux. Yes, it uses the Linux kernel and a small subset of the same libraries but that’s where the similarities end. Once you get a subset of Blender to compile and run at all on it, there will be a significant amount of work beyond that to make it usable for more than a several minute demo due to the application lifecycle on mobile vs. desktop.

My guess would be that work probably stopped once it became clear how much work is involved in porting a desktop OpenGL app to a mobile device running OpenGL ES… it’s not just tweaking a few source files and a recompile. Assuming the Blender drawing code is updated to a point where the OpenGL code can run under OpenGL ES (i.e. a subset of OpenGL 4.1 or higher), then it will merely be a lot more work to actually get it usable on Android. Then there’s the whole issue of trying to use a UI designed for a relatively high-precision multi-button mouse on a touch-based (i.e. low-precision) device… (i.e. without a reworked UI, it’s going to be pretty unusable without an attached keyboard and mouse. Maybe some could limp along with a stylus.)

what about using multi touch, and it adding a center point, and have a gesture manipulate the center? like rotating the two fingers moves the point left/right and sliding apart moves up/down? so you could manipulate a very small cursor?

tap adds center and “wheel” with touch points, so you move the area of focus? something like that? have the same ui adjust the sensitivity of the action? hmmm

also, soon with all the sensors available can you use a sensor object as a 3d mouse?

like this but super cheap? https://www.kickstarter.com/projects/1663270989/project-perception-neuron/posts

Using mobile device sensors as an input device for desktop Blender is more realistic and there are projects investigating this https://www.youtube.com/watch?v=XVLxfKz5RdU

If you want to do some Android Development, try looking somewhere else.

Why not use the Java Android SDK? It’s already been well on it’s way for a while now, it’s fully functional, and it’s easy to get started.

Its Java right?

how is the physics engine?

its probably much better gfx wise?

Anyone ever right a pyhon to java converter?

every command would need to be transposed?

I have been in development for so long in wrectified… its almost ready to make a game…

The Android frameworks are very low level and can’t do much out of the box. It gets better each release, but it still doesn’t do much for you by default. For fast-paced 3D games, your only hope of getting decent performance using Java is to target 5.0 (just released) as it finally provides true compiled performance. The JIT in 4.x is pretty good but probably still not enough for most games. You need to be very careful with memory allocations as garbage collection will kill your framerate. The majority of games on Android are either using a platform like Unity (whose engines are compiled) or are C/C++ using the NDK.

Your best bet if you really need to get BGE games running on Android seems to be GameKit. It’s incomplete and has bugs/limitations, but it kinda, sorta works (the main things I’ve run into are lighting and performance issues on lower end hardware) but seems to be about the only way to do this right now.

The BGE isn’t so independent as it could be. For example, it shares loading blend files, rasterizer code, animation code. Not to mention, they want tighter integration like sharing viewport code.

Porting these large complex 3D programs to non-PC platforms is a royal PITA. :spin:

It depends on what you’re trying to do. For games, it’s not really that convenient, because it’s not a game engine, and it requires the programmer to either learn an existing framework (which runs on Android), or to actually write one, using OpenGL, and other lower-level libraries.

There are already Python implementations that run on the JVM (like Jython), so the trouble is not so much at the language-level, but at the underlying native code that those higher level languages need to call into - that’s the stuff that would need to be ported, and as phil14 already pointed out, doing that is not simple.

True.

really I don’t use a lot of functions but

thing.vector=((thing.vectorX)+target.vector)(1/(x+1))

like

object.worldPosition= ((object.worldPosition7)+target.worldPosition))(.125)

and thing .worldPosition = x etc.

I have gotten pretty independant of many things

if they have AngV , LinV etc I’m good

My overall point was to find something that is already compatible with Android rather than trying to find a way to use Blender. The Java SDK was a horrible example - Unity or the Unreal Engine 4 would have both been a better choice.

I know Unity, among other licensed engines, are expensive, but Blender isn’t going to upgrade itself into suitable android developing engine for free.

I’m not so sure about that, the Unreal Engine 4 can make games for Android at a small fraction of the price and (judging by the release notes for version 4.5) is the fastest developing game engine that I have ever seen (makes Unity development look like peanuts in comparison).

The only downside for that engine right now is growing pains, the rapid development means that tons of bugs, regressions and stability issues come with it (do they have a development cycle period just for bug and crash fixes?), it’s rapidly becoming the only engine that the indie game scene will ever need (that is once they get the blueprints running super fast along with making it rock stable and bug free).

You’re right, but I’ll say this again:
My point was that you should find another engine that is suitable for android development instead of trying to make it work with the BGE.
My point was NOT that you should use Unity for android development. Unity was simply an example.