Search Unity

Unity evaluation questions

Discussion in 'Editor & General Support' started by qpham01, Dec 15, 2006.

  1. qpham01

    qpham01

    Joined:
    Dec 15, 2006
    Posts:
    2
    Hi all,

    I am considering Unity and have a few questions regarding its capabilities. Below are some features requirements that my game has. Please let me know if in Unity I can create the feature by one of the following methods:


    A) Create feature entirely in editor, no scripting required, or

    B) Light scripting (less than 50 lines), or

    C) Heavy scripting (more than 50 lines), or

    D) No support in Unity, but can be done with C++/C# extension or some other extension (please specify), or

    E) Not possible no matter what in Unity


    If this is not the appropriate forum for these questions please let me know where I should post them.


    Feature requirements:



    1) 2D dialog superimposed standard 3D view showing conversations between characters with mutiple choice answer selection, including a small image of the character's face and text of the conversation and choices.


    2) Mouse-picking of 3D objects in view fustrum and related event-handling


    3) Animation transition and blending in main 3D character, such as walking to chair and then sit down on it.



    4) Clicking on the floor mesh returning 2D coordinate of the click point in the ground plane to specify where the character should move to next.



    5) 3D character walking in straight line to a 2D point on the ground plane (used in conjunction with #4, above), stopping if encountering any obstacle in the way.


    6) #5 above, but with obstacle avoidance path finding.



    7) Outdoor and indoor environment in the same level, including multiple levels (i.e. floors in indoor environments).


    8) Switching to another 3D view (such as a map view) and then returning to the same 3D level.


    9) 3D Proximity detection and event handling (e.g. when one character get to within a certain distance of another character, an animation plays for the second character).


    10) Dynamic day/night transition during play, including dynamic changing of skybox and ambient light level over time.


    11) Changing of the mouse curse graphics in response to a mouse click on some in-game object.



    12) Dragging and dropping of objects in the 3D view.



    13) Reusing of same animation for different characters.


    14) Blending different animation sequences for different body parts in a character, such as blending a head turning animation with a separate walk-cycle animation in the lower body (once in a while the head would turn to look at certain things when the character is walking).



    15) Transitioning back and forth from different 3D levels at arbitrary times.


    I appreciate any answer to the above questions. They will be of great assistance to me in evaluating Unity.

    Thanks,
    Quoc
     
  2. hsparra

    hsparra

    Joined:
    Jul 12, 2005
    Posts:
    750
    I will take a crack at answering.
    B) although it depends on the exact look you are going for. You could get arbitrarily complex.
    B) There is alread a script in one of the sample projects (I think it is the procedural example) that allows you to click on an object and move it around that you can use as an examlpe. It is the lightning example. The lightning moves appropriately as you move the object. I don't know exactly what event handling you want.
    I believe B), but those with more animation experience should be able to give a more definitive answer. Look at the FPS sample project that comes with Unity. I believe this has that in there. Off the top of my head I believe it is only a few lines of code.
    B)
    B) If it ran into something with a collider it would stop. However, if you were animating you would have to stop the animation OnCollisionEnter();
    D) You have to do the obstacle avoidance algorithm. I do not think there is yet one on the Wiki. Maybe I will do one in the next few weeks.
    A)-D) Depending on how you do this it could be no code. Unity currently does not have a portal system though.
    B) This is like 2 lines of code. You just have a 2nd camera.
    The detection is built in with colliders and triggers. What you want to happen is not. Playing an animation is a few lines at most.
    Don't know. I would guess B), but I would have to play at it a little.
    B), this is just a few lines of code to switch a GUI texture. You could also use a 3D mesh near the camera.
    A) there is a sample script in the game that you can use.
    I think this is A)
    See the FPS sample.
    B) You would do Appliation.LoadLevel(theLevelYouAreGoingTo).


    I suggest you download Unity and take it for the 30-day test drive and post lots of questions :)
     
  3. bigkahuna

    bigkahuna

    Joined:
    Apr 30, 2006
    Posts:
    5,434
  4. qpham01

    qpham01

    Joined:
    Dec 15, 2006
    Posts:
    2
    bigkahuna, lfrog

    My thanks for answering my questions. Thanks are also due David Helgason from OTEE, whose answers to my questions via email are below:

    On 15 Dec 2006, at 19:07, Quoc Pham wrote:

    ...

    Let me try. You should also check the documentation and example projects that we ship:


    http://unity3d.com/documentation.html
    http://unity3d.com/examples/index.html


    This will answer a lot of your questions. You are also welcome to ask around on our forums, where there's a lot of very nice and helpful people.


    Feature requirements:

    1) 2D dialog superimposed standard 3D view showing conversations between characters with mutiple choice answer selection, including a small image of the character's face and text of the conversation and choices.


    Partly this would be done in the editor, partly by scripting. I can see this would be done with a few scripts. Total lines? Hard to tell, maybe a hundred lines or so?


    2) Mouse-picking of 3D objects in view fustrum and related event-handling


    Just implementing one function, and a few lines of scripting.


    3) Animation transition and blending in main 3D character, such as walking to chair and then sit down on it.


    Just a few lines of code. The animations would be done in a modelling app, and imported into Unity. Check out the scripts in the "Character animation example".


    4) Clicking on the floor mesh returning 2D coordinate of the click point in the ground plane to specify where the character should move to next.


    The picking is just a few lines of code.


    5) 3D character walking in straight line to a 2D point on the ground plane (used in conjunction with #4, above), stopping if encountering any obstacle in the way.


    That's easy enough. Just a few lines.


    6) #5 above, but with obstacle avoidance path finding.


    Pathfinding could be done with A* or similar. There's example implementations available online.


    7) Outdoor and indoor environment in the same level, including multiple levels (i.e. floors in indoor environments).


    No special needs. Just drag in your geometry.


    8) Switching to another 3D view (such as a map view) and then returning to the same 3D level.


    Just a couple of lines of code.


    9) 3D Proximity detection and event handling (e.g. when one character get to within a certain distance of another character, an animation plays for the second character).


    Just a couple of lines of code.


    10) Dynamic day/night transition during play, including dynamic changing of skybox and ambient light level over time.


    Just a few lines of code (changing some parameters in the skybox settings over time). To get a full day-night cycle, this may require a custom shader. Fortunately it's easy to get help on the forum for that.


    11) Changing of the mouse curse graphics in response to a mouse click on some in-game object.


    Just a couple of lines of code.


    12) Dragging and dropping of objects in the 3D view.


    Just a couple of lines of code.


    13) Reusing of same animation for different characters.


    Drag'n'drop in the editor.


    14) Blending different animation sequences for different body parts in a character, such as blending a head turning animation with a separate walk-cycle animation in the lower body (once in a while the head would turn to look at certain things when the character is walking).


    Just a couple of lines of code. There's an example of how to do that in the character demo project mentioned above.


    15) Transitioning back and forth from different 3D levels at arbitrary times.


    Just a couple of lines of code.