Unity3D and Artists (without programming knowledge)

First of all hello! this is my first post :smile:

I read about Unity and i saw that is a powerful tool.
I am a 3D, 2D artist without programming knowledge. I wonder if with Unity i will have a ease way to import models, set textures, shaders and create at least turntables without difficulty.
I ask this because i know that some engines are not “artist friendly” many simple things require dozens of lines of code, without a friendly interface for the 3D Artist

I use 3DVIA Studio. with it i can import my models, textures, apply shaders, particles, lighting and even create some interactivity without difficulties
3DVIA Studio has schematic programming what is a good help to the artists, without programming knowledge
Marmoset toolbag is another tool that gives to the artist greater freedom and easy-to-use.

Is Unity “artist friendly” or it is only for people with good programming skills?

My intention is not to create a game, but have to bring my artistic side to unity during a project with others, without being limited to a 3D modeling software.

From my Fun experiences with Unity its VERY Artist friendly, id say Importing Assets are as easy as Dragging and Dropping in the Unity Interface and Unless your looking for some Very high class special effects then Little code is needed.

Hi there, welcome.
I agree with Imani Gray. Unity is very artist friendly, as i am 2D/3D artist as well. See importing assets is pretty easy in most engines, if you follow documentation, some of them have really outdated tutorials and thus requires some research to get assets inside the engine. But after that they are static and pointless.

I came here for the very same reason you did, but ease of JavaScript (mono script) totally changed me, its so simple i easily picked it up in less than week. Now working on my own small project i only work with art pretty rarely atm, and doing some scripting and researching code, it’s real easy and fun, in fact it’s so easy i already made some sort of game-play and even doing same basic AI, that actually works (unlike UDK…)

Also not so worried about assets at the moment, because they can be imported directly from popular programs like Photoshop and 3DSmax, yes that means you can import PSD file with all it’s layers, no need to make alpha channels for png and replace photoshop’s PNG exporter and what not (TGE…)

So what i mean, for you as fully pledged artist it will be alot of fun working with Unity, but if you ever need to add some action trough scripting, community is very responsive and helpful here, you’ll get what you want in no time

Have fun staying here!

I don’t see how anyone could say at this point that unity is a great app for non-programmers. Unity is very well designed, it’s a great engine to work with, but for literally everything you do you have to write a script. Unity currently does not have a system like Unreals Kismet or CryEngines flowgraph, where you can build logic by connecting nodes - even if you simply want to make a plane rotate, you’ll have to write a script for that.

So no, I don’t think Unity is a great engine for artists. It’s a great engine for small teams and a great engine for programmers. But if you don’t have any experience in scripting or programming, you’ll have a hard time getting anything done.

If you’re an artist who just wants to see your own stuff in great realtime 3d, Unity isn’t for you either, since UDK and CryEngine are still wiping the floor with Unity. If you want to make a game with a small team though - Unity will be a much more pleasant experience than those two.

sure no logic flow by node (even that for some heavy task it doesn’t make your life better XD ) …but for someone who has enough motivation and able to sacrifice a bit time on basic I don’t think why a non coder at first won’t be able to pick up things and start to be able to script.

there also enough resources here and here that you don’t even the need to script really for simple or less simple task.
and lot of tutorial, this is what make unity kind of attractive comparing to other engine is that you have a lot of resources to get you started even if you don’t have background as coder.

of course this have it limit and depend on what you want to do at the end.

so maybe not a great app for non programmer, but great enough to give chance to be able to get in if you learn and spend enough time for it :wink:

This is exactly where the flaw in thinking is. I started doing independent development using Construct - that’s an ‘artist friendly’ engine, because in order to create a game, you don’t have to program at all.

You’re describing the process of someone being patient enough to BECOME a scripter or a programmer - that’s very different than the application being ‘artist friendly’.

well I am not and never been big fan of node in fact …coding wise…^^

Well, I must say that the easiest part in Unity is import your meshes, put everything in place, shading ( more or less with the builtin shaders you can do everything ), setup the environment and post process effects.
With Beast you don’t have to import lightmaps, so is less work for you.
But is true, if you need something specific you have to code it, so if you have something in mind and you want just that, or you’ll pay for that or you ask for support on the forum, but I don’t think there are lots of people here willing to do a script for you for free, especially if you ask something specific.
On the other side there are tons of free package developed by users that allows you to do lots of things ( shader editor, blend shader, HDR like shader, tons of useful scripts )
It depends what you need Unity for, if the script/package is available ( within Unity or in the forum ) and if you’re sure that you can complete easily your projects.
I didn’t choose, for example, Leadwerks because it requires a bit of programming skills, Shiva3D looks nice but I’m very comfortable using Beast for quick prototyping and for final renderings, and with UDK you spend too much time import your geometry inside the editor and ( even if you can use visual scripting ) is not that easy to manage all that stuff.

IMHO Unity is by far the most artist friendly complete 3D Game development middleware. Sure, there are quite a few half-baked, click-together engines that are even friendlier, but Unity’s in a different class.

While some might argue that UDK is even friendlier, I courteously ask them to try and build a game prototype (something that’s not a fps) without any of Epic’s assets (Which you can’t use in a game anyway) and then rethink their argument.

As it stands, Unity’s real strength is in it’s community and knowledge base. You can basically find a snippet of code or a tutorial for any imaginable task. And if by pure chance there isn’t one, you can try Unity answers. Now, try doing that with UDK.

**It also has a perfectly working shader editor (community driven, but quite usable).

side note: Our first prototype was done in UDK. We then switched to Unity and never looked back

Unity’s scripting is its greatest strength, but once you’re doing networking/AI/complex math, etc, you’re out of the realm of Art.

The typical Artist will struggle, even with practise to create more than simple scripts. I wouldn’t expect a Coder to produce anything amazingly artistic by the same principle. Coder Art FTW! :slight_smile:

However the Unity community/forums/websites have a lot of scripts/plugins available so that you don’t need to understand how they work.

If you could just use a Wacom and not touch the keyboard, then Unity would be the ultimate Artist tool!

Node editors are just an easy way to look at code visually. I’ve messed a lot in cryengine2’s sandbox editor, and node based editing is exactly like regular script, but drag and drop, and for complex systems (movement, ai, etc) it’s harder to use then actual scripting IMO. I’m more of a programmer myself, but I use both photoshop and 3d studio max all the time, and it’s just exporting to fbx in 3dsmax, and just saving the files in photoshop. I use TGA’s, and if you save the textures into you unity project, and browse to them in 3d studio max, when you import the mesh, it will generate the materials in unity with the correct textures applied (Assuming you only have one texture named that).

The bottom line is if you want to develop games you need to learn to program. Whether you write code with an editor, or drag icons and link them, it’s all programming in one form or the other.

Four years ago I started as a semi-noob programmer (one semester of Fortran umpteen years ago was the extent of my previous programming experience) when I gave a bunch of game engines a try. At the time DX Studio, Quest 3D and Unity were pretty much the only real options unless you wanted to learn C++. I found DX Studio to be the easiest to learn, but some nagging bugs kept me from ever finishing anything with it. Quest 3D looked cool and the visual node editor was interesting, but the concept was hard for me to grasp and the tutorials at the time pretty much sucked. Unity, on the other hand, seemed nearly as easy to grasp as DX Studio but without any of its bugs. Yes I needed to learn to code in Javascript, but after a couple of months I actually had completed a couple of projects.

That was 4 years ago.

Recently I’ve gone back to trying some of the other engines out again. Right now I’m looking at DX Studio, UDK, LeadWerks, Shiva 3D, Quest 3D as well as a few other, lesser known engines. To be honest, I don’t think it would be any harder to pick up DX Studio or Shiva 3D than it was for me to learn Unity. DX Studio uses Javascript and the code is very similar to UnityScript. The editor layout is different, but for about 30% of a Unity Pro license you get all the same features plus a few more. Shiva 3D seems a bit tighter in its organization and workflow and the price is dirt cheap. Shiva uses Lua and after looking at some Lua scripts I don’t think it would be any tougher to learn than UnityScript. I’m still a bit overwhelmed by the whole visual design thing that Quest has, but I’m also seeing some really impressive projects being built with it so perhaps it’s worth the extra effort (and extra cost).

The one thing that Unity has that is a big advantage for guys like you and me are the thousands of sample scripts and other assets that are posted in the forums, wiki and other places. Just about every kind of game you can imagine has been built at one time or the other with Unity, so chances are you’ll find some info to help you. The other big advantage to Unity is if you can live with the free version, it’s by far the best deal in the industry.

As for Pro, that’s another story. I don’t think Unity Pro has as big an edge over the competition that they might have just a few years ago. If it were me, I’d give some of the other engines a long, serious look before I plunked down the change for Unity Pro. The competition has really leveled the playing field IMO.

Just my 2 cents.

I think people are over analyzing, as frequently happens around here. :stuck_out_tongue: If you’re not planning on creating an entire game yourself, then I would easily say yes, Unity is plenty friendly for artists. It supports common file formats (OBJ, FBX, PSD, etc.) so you can create your assets in any authoring package that supports these common formats. It can automatically detect changes to files and update them, so you don’t have to worry about reimporting constantly.

If all you need as far as interactivity is a turntable, here you go. Just create a javascript file inside Unity, copy and paste this code, drag and drop the script onto your object, adjust the settings on the script as desired in the inspector window, and press play. :wink:

var speed = 30.0;
var axis = "x";
var reverse = true;

function Update () {

	switch (axis) {
		case "x": if(reverse) transform.Rotate(-(Time.deltaTime * speed), 0, 0); else transform.Rotate((Time.deltaTime * speed), 0, 0);
			break;
		case "y": if(reverse) transform.Rotate(0, -(Time.deltaTime * speed), 0); else transform.Rotate(0, (Time.deltaTime * speed), 0);
			break;
		case "z": if(reverse) transform.Rotate(0, 0, -(Time.deltaTime * speed)); else transform.Rotate(0, 0, (Time.deltaTime * speed));
			break;
		default: if(reverse) transform.Rotate(-(Time.deltaTime * speed), 0, 0); else transform.Rotate((Time.deltaTime * speed), 0, 0);
			break;
	}
}

hth

May I suggest you check out our http://www.FriendsHangout.com. It is designed with Artist in mind, you simply upload your assets or buy them from our virtual store and build your world /game. We handle all the coding, networking, avatars, hosting, etc, you supply the content.

With over 12,000 virtual worlds created with it so far, you can see that it lets Artist do what they do best without having to leaning how to code

Thanks,
Jeff

I did not reply before because one day after i posted here i got sick, only now i’m better…

For everything I’ve read here it seems that unity is really friendly
I could only use it now (free version)
But i do not know if it’s my mistake or unity limitation.

I have a 3ds max model with standard material using diffuse, specular and normal map, only the diffuse is applied in unity when i import the .max. already have all the textures imported
I tested all types of shaders that comes with unity, none of them has the option of three materials, diffuse, specular, normal.
What comes closest is the self-illumin/bumped specular but apparently the effect of specular does not play the best and the model is self-illuminated when it should be a model without own light
Another thing would like to know is about unit. I use 3ds max with meters unit but in unity the models appear much smaller than 3ds max. what is the correct unit setup in max?

Sounds like you are wanting the legacy lightmapped->bumped specular (if you are using unity 3+). Heres an attached screenshot of it if you need that to find it. I don’t know if it will be there if you didn’t import the shader packages from unity when making your project. It may be there for me because I did an upgrade from 2.6.1 to 3+ on my projects. Either way, I think this is what your looking for.

Units are kind of annoying. I’ve found that 1 3ds unit = .01 unit in unity, but sometimes it’s off depending on what you export it as. (for instance, 1 3ds unit in FBX using the default settings is .0075 unity units, but is the first mentioned ratio {most the time} for OBJ’s.) This is assuming 3ds max is set to 1 unit = 1 meter.