2 registered members (AndrewAMD, ChrstphFr),
941
guests, and 4
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Re: Unity is a dic*
[Re: ratchet]
#383092
09/15/11 20:11
09/15/11 20:11
|
Joined: Apr 2008
Posts: 2,488
ratchet
Expert
|
Expert
Joined: Apr 2008
Posts: 2,488
|
I could say Unity is trash, but well it's really non sense even for joking, they are somewhat professinnal behind the scene so ... !
IF i would have to make Mobile games, i won't choose Unity , but Shiva 3D that is really less expensive than pro version of Unity Iphone,and can publish to all mobile patform with indie version ! And it has real possibilities , just by seeing some great games (like some last 3D RPG) !
So you see , not one other is trash, it depends on your goals , points of view and money sometimes also !
Last edited by ratchet; 09/15/11 20:17.
|
|
|
Re: Unity is a dic*
[Re: ratchet]
#383101
09/15/11 21:20
09/15/11 21:20
|
Joined: Jul 2009
Posts: 1,198 Berlin, Germany
Liamissimo
OP
Serious User
|
OP
Serious User
Joined: Jul 2009
Posts: 1,198
Berlin, Germany
|
Ratchet...This is a ranting forum...really.
Let me rant.
"Ich weiss nicht genau, was Sie vorhaben, aber Sie können keine Triggerzonen durch Ihr Level kullern lassen." -JCL, 2011
|
|
|
Re: Unity is a dic*
[Re: Liamissimo]
#383111
09/15/11 22:27
09/15/11 22:27
|
Joined: Apr 2007
Posts: 3,751 Canada
WretchedSid
Expert
|
Expert
Joined: Apr 2007
Posts: 3,751
Canada
|
Liam... This is a ranting forum...really.
Let him rant about your rant! If you don't want responses, don't post in a public forum.
Shitlord by trade and passion. Graphics programmer at Laminar Research. I write blog posts at feresignum.com
|
|
|
Re: Unity is a dic*
[Re: WretchedSid]
#383125
09/16/11 06:27
09/16/11 06:27
|
Joined: Jul 2009
Posts: 1,198 Berlin, Germany
Liamissimo
OP
Serious User
|
OP
Serious User
Joined: Jul 2009
Posts: 1,198
Berlin, Germany
|
But truisms aren't ranting Or are they? Really not quite sure.
"Ich weiss nicht genau, was Sie vorhaben, aber Sie können keine Triggerzonen durch Ihr Level kullern lassen." -JCL, 2011
|
|
|
Re: Unity is a dic*
[Re: JibbSmart]
#383185
09/16/11 21:53
09/16/11 21:53
|
Joined: Oct 2006
Posts: 1,245
AlbertoT
Serious User
|
Serious User
Joined: Oct 2006
Posts: 1,245
|
[ Actually that's encapsulation -- a design decision that any object should only be manipulable using its own methods. It's relatively "safe", but sometimes a fella just wants to use good old-fashioned addition on a component he understands.
you refer to : Camera.main.transform.Translate(move*Time.deltaTime); Maybe I misunderstood what you said Do you mean that the above code is a typical example of an object being manipulated by its own methods ? If so, nope It is the direct opposite In the above code the object is "transform" which is an object of the class "Transform" the class Transform contains the method Translate() Unity instance the object "transform" in the background for you "Camera" is a redundant term you could even omit it This an example of component based programming Many 3dgs users find Unity easy to use due to the fact that also 3dgs is an essential "components based " engine an "Action" is actually a sort of component The engines you are speaking of are for example Truevision or Leadwerks or Esenthel Personaly I dont like the ( Unity and 3dgs ) programming style but they have a great advantage over the other ones They are natural "multitasking" engines , in other words you dont have to code your own threads This is very important in game programming since the programm must continuosly switch among differnt routines This is not the case for example of a word processor In conclusion all modern engines are OO The main diffrence is between : Components and non components based engines The former are (maybe) more efficient the latter more intuitive
Last edited by AlbertoT; 09/16/11 22:00.
|
|
|
Re: Unity is a dic*
[Re: AlbertoT]
#383189
09/17/11 00:02
09/17/11 00:02
|
Joined: Mar 2006
Posts: 3,538 WA, Australia
JibbSmart
Expert
|
Expert
Joined: Mar 2006
Posts: 3,538
WA, Australia
|
Actually that's encapsulation -- a design decision that any object should only be manipulable using its own methods. It's relatively "safe", but sometimes a fella just wants to use good old-fashioned addition on a component he understands. you refer to : Camera.main.transform.Translate(move*Time.deltaTime); Maybe I misunderstood what you said Do you mean that the above code is a typical example of an object being manipulated by its own methods ? If so, nope It is the direct opposite In the above code the object is "transform" which is an object of the class "Transform" the class Transform contains the method Translate() Unity instance the object "transform" in the background for you "Camera" is a redundant term you could even omit it This an example of component based programming Every object in a scene has a Transform. It's used to store and manipulate the position, rotation and scale of the object. Every Transform can have a parent, which allows you to apply position, rotation and scale hierarchically. This is the hierarchy seen in the Hierarchy pane. I am not experienced with Unity, but manipulating an object through its methods and not direct manipulation of its elements is encapsulation. The complaint is that instead of changing the camera's properties directly, the programmer must call a function to do it. That's encapsulation. In this case the camera has a "transform", which is being manipulated through its own method "Translate" rather than directly changing/assigning values. Jibb
Formerly known as JulzMighty. I made KarBOOM!
|
|
|
Re: Unity is a dic*
[Re: JibbSmart]
#383216
09/17/11 12:51
09/17/11 12:51
|
Joined: Oct 2006
Posts: 1,245
AlbertoT
Serious User
|
Serious User
Joined: Oct 2006
Posts: 1,245
|
Its own methods, of whom ? of the Camera ,do you mean ? That's the key difference
In a component based engine ,objects do not have their own methods There are generic methods which are contained in generic "functional" classes such as Transform The programmer must create a component ( a script) using these classes/methods Then he must attach the components to the object ( entity) As you can see there is not that difference between the 3dgs actions and the Unity components
A traditional game engine , for example Truevision, comes with "concrete" classes for example the class Camera containing all the methods which you would expect from a Camera The programmer must instance an object , ex
Camera cam = new Camera();
Then he can use the methods of the class Camera
cam.Translate();
In my opinion the latter approach is much more intuitive even though the former is more trendy , having also many advantages
Last edited by AlbertoT; 09/17/11 12:53.
|
|
|
Re: Unity is a dic*
[Re: AlbertoT]
#383236
09/17/11 17:34
09/17/11 17:34
|
Joined: Mar 2006
Posts: 3,538 WA, Australia
JibbSmart
Expert
|
Expert
Joined: Mar 2006
Posts: 3,538
WA, Australia
|
Every object in Unity has an instance of the class Transform called "transform", which has methods by which it is manipulated -- this isn't just a convenience, but because we can't access the components within the transform because of encapsulation. This object is manipulated using its own methods and its own methods only -- that is encapsulation. Technically, encapsulation is broken to a degree since we don't call one of the camera's methods to do it, but it still is a level of encapsulation. Encapsulation and component based programming are not mutually exclusive. Let me quote the Unity documentation again: Every object in a scene has a Transform. It's used to store and manipulate the position, rotation and scale of the object. The camera has a transform, and we access that component directly rather than through one of the camera's methods (breaking encapsulation to a degree), but we don't manipulate the transform itself except through its own methods (for non-native Enlgish speakers, "it" here refers to the transform, as made clear by "the transform itself"), because presumably its own components (such as world co-ordinates) are private, thus maintaining encapsulation and forcing us to manipulate it through its own methods. Part of the original complaint was component based (Camera.main.transform...), and part of it was related to encapsulation (transform.Translate(...)). Jibb
Formerly known as JulzMighty. I made KarBOOM!
|
|
|
Re: Unity is a dic*
[Re: JibbSmart]
#383240
09/17/11 17:55
09/17/11 17:55
|
Joined: Oct 2006
Posts: 1,245
AlbertoT
Serious User
|
Serious User
Joined: Oct 2006
Posts: 1,245
|
Lets make an other example Suppose you have a human Character , let's call it John In Unity,If you want to move and to animate it, you must create a script ( component) where you write
transform.Move() animation.Play();
then you attach the script to john
transform and animation are instances of the classes Transform and Animation which contain the method Move and Play respectively
A traditional engine supplies, for eaxmple a class Entity you instance the object john
Entity john = new Entity(); and than you call
john.Move() john.Play()
Move() and Play() are methods of the class Entity
I suppose that the different approach is evident
Last edited by AlbertoT; 09/17/11 18:12.
|
|
|
|