im switching from action script

hi

i dont own unity i just got bored with 2d flash games and thought id give unity a shot,im still learning the code and messing with the second demo of it i have gotten and i have some questions is you dont mind

-i making an under water action game, but its not all under water, right now all i know about the physics in unity is you can tweak it for each object, and i need to make it so in water theres alot of resistance etc. and ground be normal
how do i make it so the physics for each area effect the player diffrently instead ofe having the player object have physics
i also have the same thing for parts of a lvl where i have ice, im sure its a common thing but ive never done it before

-whats going on with the online aspect of unity, i dont know anything about it. How good is it? i was planning on having this game be mostly multiplayer with
1- 8 people on at once, is this possible and as easy as the other parts of unity right now?

-is animation and bones importing from blender a work in progress or is it just not happening, shelling out a couple hundred or more and relearning a new 3d app would not be preferable

and i remember i was learning flash and blender there were unbelivably useful but small features i wish some one told me early
-align camera object to view(blender)
-masks(flash)

and just little stuff that make creating a game easier, can you fill me in on useful stuff i might not know about from just the basic tutorial PDFs that come with unity

anywho i just thought id start posting in the forums, my buddy who has unity raves about how nice the forums are (unlike flash and torque)

For the underwater level you could write a simple script that manages the attributes of the rigidbody depending on the surroundings.

// RigidbodyAdjuster.js
var drag = 0.00
var angularDrag = 0.00;
var useGravity = false;

var usedDrag = 0.00;
var usedAngularDrag = 0.00;
var usedUseGravity = 0.00;

drag = rigidbody.drag;
angularDrag = rigidbody.angularDrag;
useGravity = rigidbody.useGravity;

function Adjust (type : string)
{
	if(type == "water") ChangeToWater();
	if(type == "air") ChangeToAir();
	if(type == "space") ChangeToSpace();
}

function ChangeToWater ()
{
	rigidbody.drag = usedDrag = drag * 5;
	rigidbody.angularDrag = usedAngularDrag = angularDrag * 5;
	rigidbody.useGravity = usedUseGravity = true; 
}

function ChangeToAir()
{
	rigidbody.drag = usedDrag = drag;
	rigidbody.angularDrag = usedAngularDrag = angularDrag;
	rigidbody.useGravity = usedUseGravity = true; 
}

function ChangeToSpace()
{
	rigidbody.drag = usedDrag = 0;
	rigidbody.angularDrag = usedAngularDrag = 0;
	rigidbody.useGravity = usedUseGravity = false; 
}

You then call the Adjust function from a seperate object that represents each fluid area.

// FluidArea.js

// This script needs a trigger collider that fits with the area of the fluid it is representing

var insideFluidType = "default";
var outsideFluidType = "default";

function OnTriggerEnter (other : Collider)
{
	rigidbodyAdjuster = other.rigidbody.GetComponent(RigidbodyAdjuster);
	if(rigidbodyAdjuster) rigidbodyAdjuster.Adjust(insideFluidType);
}

functionOnTriggerExit (other : Collider)
{
	rigidbodyAdjuster = other.rigidbody.GetComponent(RigidbodyAdjuster);
	if(rigidbodyAdjuster) rigidbodyAdjuster.Adjust(outsideFluidType);
}

For the ice level simply make a physics material with low friction and attach it to your icy object colliders.

Right now online play is possible but very hard. OTEE is working on a easy networking solution for Unity 2.0.

I don’t really know what the progress is with bones from blender but I don’t think they have given up on it entirely.

As for stuff that makes game design less painful, the best painkiller in the world is Neil Carter. Go to the irc channel #otee-unity on irc.freenode.net and you will find salvation.

holy crap

in one day after my post and even after admiting i was a complete newb i got a helpful intelligent response

kick ass thank you so much you obviously put some effort into helping me and i appreciate it

now about the online

ill just start making my game now but how hard will it be to implement online when i complete my game. In genral i cant comprehend how an online works, like how to instanciate a missle from a prefab when one player hits a button and have it be diffrent from when another player hits a button, and if the missle is set not to collide with the person launching it how to make it so it can collide with the one who didnt, and how to make it so one camera shows one person there point of view and anothers shows some one elses point of view

online is just way above my head can any one explain to me how it basicly works (and not specificly unitys online just in genral how online works)

will i have to change alot of the code so it works online? or does w/e code works on single player works online

any who im about to go actually buy unity indie thanks for your help

As of right now, the online aspect is pretty scant. You can go through the WWW interface, though it’s not really meant for that. Or you can manipulate the sockets directly, which if you don’t have experience with online programming will be very difficult.

Rumor has it that Unity 2.0 has better online support. (we need it.)

There is a simple demonstration on the Unify Community Wiki on how to do raw socket programming. It sends the mouse cursor position to the remote game, but can be extended for some more complex behaviour: Unify Wiki: NetworkCursor

But since you are starting out, I would begin by implementing everything else, then possibly adding multiplayer using split-screen on a single machine and fine-tune your game play. Then you should have gathered enough experience to begin tackling the networking problem. (In fact, I’d reccomend that to experienced developers as well in most circumstances.)