Search Unity

Unity Game Development Essentials

Discussion in 'Community Learning & Teaching' started by Merries, Jul 28, 2009.

  1. willgoldstone

    willgoldstone

    Unity Technologies

    Joined:
    Oct 2, 2006
    Posts:
    794
    Is this related to a specific script? If not, reinstall unity.
     
  2. fulcanmal

    fulcanmal

    Joined:
    Aug 7, 2010
    Posts:
    25
    Nevermind :D It went away after I closed it out and restarted. I sometimes forget to do simple things like that.
     
  3. crichmon

    crichmon

    Joined:
    Jan 1, 2010
    Posts:
    2
    I am not to the stage in the book where opening the door considers whether or not I have first collected enough batteries becasue I am having a problem with what happens when I collide with the batteries. It is kind of wierd; before I try to test the scene, I see the empty battery in the HUD, but when I play the game and run into the batteries, I don't hear the sound and the batteries don't disappear. I get no errors when I save the code. Here is what I have for the PlayerCollisions.js:

    Apologies ahead of time if formatting left-justifies all my brackets (I always like to offset my paired braces).



    var batteryCollect : AudioClip;
    private var doorIsOpen : boolean = false;
    private var doorTimer : float = 0.0;
    private var currentDoor : GameObject;

    var doorOpenTime : float = 3.0;
    var doorOpenSound : AudioClip;
    var doorShutSound : AudioClip;


    function Update ()
    {

    var hit : RaycastHit;

    if(Physics.Raycast(transform.position, transform.forward, hit, 5))
    {
    if(hit.collider.gameObject.tag=="outpostDoor" doorIsOpen==false)
    {
    currentDoor = hit.collider.gameObject;
    Door(doorOpenSound, true, "dooropen", currentDoor);
    }
    }

    if(doorIsOpen)
    {
    doorTimer += Time.deltaTime;

    if(doorTimer > doorOpenTime)
    {

    Door(doorShutSound, false, "doorshut", currentDoor);
    doorTimer = 0.0;
    }
    }
    }


    /*

    function OnControllerColliderHit(hit : ControllerColliderHit)
    {
    if (hit.gameObject.tag == "outpostDoor" doorIsOpen == false)
    {
    currentDoor = hit.gameObject;
    Door(doorOpenSound, true, "dooropen", currentDoor);
    }
    }

    */


    function Door(aClip : AudioClip, openCheck : boolean, animName : String, thisDoor : GameObject)
    {
    audio.PlayOneShot(aClip);
    doorIsOpen = openCheck;

    thisDoor.transform.parent.animation.Play(animName);
    }



    function onTriggerEnter(collisionInfo : Collider)
    {
    if(collisionInfo.gameObject.tag == "battery")
    {
    BatteryCollect.charge++;
    audio.PlayOneShot(batteryCollect);
    Destroy(collisionInfo.gameObject);
    }
    }
    @script RequireComponent(AudioSource)





    Any help would be appreciated.
     
  4. arashikami

    arashikami

    Joined:
    Nov 8, 2010
    Posts:
    13
    I have been working through the book, and on Chapter 4 I created the Jscript as in the book, but I keep getting an error that reads:

    Assets/Scripts/PlayerCollisions.js(29,47): BCE0018: The name 'Boolean' does not denote a valid type ('not found'). Did you mean 'System.Boolean'?


    I am currently using the latest version of Unity (3.1 of3). Is there a change in the Boolean from 2.6 to 3.1?
     
  5. crichmon

    crichmon

    Joined:
    Jan 1, 2010
    Posts:
    2
    My post is right above yours. Without seeing the script, I am wondering if you put a capital "B" for boolean type when you wanted lowercase "b". Again, look at my code above your post and notice that I have a lowercase "b". I get no error on that.
     
  6. arashikami

    arashikami

    Joined:
    Nov 8, 2010
    Posts:
    13
    Thanks, it's always the little things that I trip over.
     
  7. Airmand

    Airmand

    Joined:
    Jan 27, 2011
    Posts:
    139
    Im having the same problem as crichmon. Any answers to this problem?
     
  8. philmainprize

    philmainprize

    Joined:
    Dec 1, 2010
    Posts:
    12
    I am at the end of Chapter 5 and I am having a few issues. FIrstly the GUI text wont show up when I approach the door, and secondly when
    I collect the batteries it only takes 2 of them to fill the bar and picking up the others will only empty the bar, however; I can only open the door after collecting all 4. So the collecting of all 4 is still required but the textures are not displaying properly. thanks for any and all help. now i will post my code.

    PlayerCollison.js

    private var doorIsOpen : boolean = false;
    private var doorTimer : float = 0.0;
    private var currentDoor : GameObject;

    var doorOpenTime : float = 3.0;
    var doorOpenSound : AudioClip;
    var doorShutSound : AudioClip;
    var batteryCollect : AudioClip;

    function Update ()
    {
    var hit : RaycastHit;
    if(Physics.Raycast (transform.position, transform.forward, hit, 5))
    {
    if (hit.collider.gameObject.tag=="outpostDoor" doorIsOpen == false BatteryCollect.charge >= 4)
    {
    currentDoor = hit.collider.gameObject;
    Door(doorOpenSound, true, "dooropen", currentDoor);
    GameObject.Find("BatteryGUI").GetComponent(GUITexture).enabled=false;

    }
    else if (hit.collider.gameObject.tag=="outpostDoor" doorIsOpen == false BatteryCollect.charge < 4)
    {
    GameObject.Find("BatteryGUI").GetComponent(GUITexture).enabled=true;
    TextHints.message = "The door seems to need more power..";
    TextHints.textOn = true;
    }

    }

    if(doorIsOpen)
    {
    doorTimer += Time.deltaTime;

    if(doorTimer > doorOpenTime)
    {
    Door(doorShutSound, false, "doorshut", currentDoor);
    doorTimer = 0.0;
    }

    }

    }
    function Door(aClip : AudioClip, openCheck : boolean, animName : String, thisDoor : GameObject)
    {
    audio.PlayOneShot (aClip);
    doorIsOpen = openCheck;

    thisDoor.transform.parent.animation.Play(animName);
    }
    /*function OnControllerColliderHit (hit : ControllerColliderHit)
    {
    if(hit.gameObject.tag =="outpostDoor" doorIsOpen == false)
    {
    //OpenDoor();
    currentDoor = hit.gameObject;
    Door(doorOpenSound, true, "dooropen", currentDoor);

    function OpenDoor()
    {
    audio.PlayOneShot (doorOpenSound);
    doorIsOpen = true;
    var myOutpost : GameObject = GameObject.Find("outpost");
    myOutpost.animation.Play("dooropen");
    }
    function ShutDoor()
    {
    audio.PlayOneShot (doorShutSound);
    doorIsOpen = false;
    var myOutpost : GameObject = GameObject.Find("outpost");
    myOutpost.animation.Play("doorshut");
    }
    }
    }*/
    function OnTriggerEnter(collisionInfo : Collider)
    {
    if (collisionInfo.gameObject.tag == "battery")
    BatteryCollect.charge++;
    audio.PlayOneShot (batteryCollect);
    Destroy (collisionInfo.gameObject);
    }
    @script RequireComponent(AudioSource)

    TextHints.js
    static var textOn : boolean = false;
    static var message : String;
    private var timer : float = 0.0;

    function Start()
    {
    timer = 0.0;
    textOn = false;
    guiText.text = "";
    }

    function Update ()
    {
    if(textOn)
    {
    guiText.enabled = true;
    guiText.text = message;
    timer += Time.deltaTime;
    }

    if(timer >=5)
    {
    textOn = false;
    guiText.enabled = false;
    timer = 0.0;
    }
    }

    BatteryCollect.js

    static var charge : int = 0;

    var charge1tex : Texture2D;
    var charge2tex : Texture2D;
    var charge3tex : Texture2D;
    var charge4tex : Texture2D;
    var charge0tex : Texture2D;

    function Start()
    {
    guiTexture.enabled = true;
    charge = 0;
    }

    function Update ()
    {
    if(charge == 1)
    {
    guiTexture.texture = charge1tex;
    guiTexture.enabled = true;
    }
    else if(charge == 2)
    {
    guiTexture.texture = charge2tex;
    }
    else if(charge == 3)
    {
    guiTexture.texture = charge3tex;
    }
    else if(charge == 4)
    {
    guiTexture.texture = charge4tex;
    }
    else
    {
    guiTexture.texture = charge0tex;
    }

    }



    again thanks for the help.
     
    Last edited: Apr 19, 2011
  9. DarkKnight

    DarkKnight

    Joined:
    Apr 2, 2011
    Posts:
    22
    As soon as I added this line now i get this error


    function Update () {

    var hit : RaycastHit;
    if ( Physics . Raycast ( transform . position, transform . forward, hit, 5)) {

    if (hit . collider . gameObject . tag=="outpostDoor" doorIsOpen == false BatteryCollect . charge >= 4) {
    GameObject . Find ("Battery GUI") . GetComponent (GUITexture) . enabled=false;
    currentDoor = hit . collider . gameObject;
    Door (doorOpenSound, true, "dooropen", currentDoor);
    }
    else if (hit .collider . gameObject .tag=="outpostDoor" doorIsOpen == false BatteryCollect . charge < 4 ) {
    GameObject . Find ("Battery GUI") . GetComponent ( GUITexture) . enabled=true;
    TextHints.message = " The door seems to need more power . . " ;
    TextHints.textOn = true ;
    }
    }


    Assets/Scripts/PlayerCollisions.js(21,25): BCE0005: Unknown identifier: 'TextHints'.
     
    Last edited: May 12, 2011
  10. DarkKnight

    DarkKnight

    Joined:
    Apr 2, 2011
    Posts:
    22
    My bad named my script TextHint instead of TextHints
     
  11. it9760

    it9760

    Joined:
    May 23, 2011
    Posts:
    27
    Hallo!

    I am totally new in the game design area and maybe what I ask is silly, so a big sorry in advance! I am currently reading this book and I am in chapter 2 where I should design the outline of the island! I have made all the adjustments so far concerning the terrain script! BUT when I try to draw nothing is happening! I see nothing in the scene view, just the grey background. Any ideas?

    Thank you

    Maria
     
  12. Poemind

    Poemind

    Joined:
    May 25, 2011
    Posts:
    30
    Hi, I'm almost through with the book, and it has been very helpful. I will be using as a textbook in the Fall '11. But on page 201 of the 2009 print release in the OnTriggerEnter function I am getting an error.

    MissingFieldException: Field 'UnityEngine.GameObject.name' not found


    function OnTriggerEnter( collisionInfo : Collider ) {
    if ( collisionInfo.gameObject.tag == "battery" ) {
    BatteryCollect. charge++ ;
    audio.PlayOneShot( batteryCollect ) ;
    Destroy( collisionInfo.gameObject ) ;

    }

    if( collisionInfo.gameObject.name == "matchbox" ) {
    Destroy(collisionInfo.gameObject ) ;
    haveMatches = true ;
    audio.PlayOneShot(batteryCollect) ;
    var matchGUIobj = Instantiate( matchGUI, Vector3(0.15, 0.1, 0 ) , transform.rotation) ;
    matchGUIobj.name = matchGUI;

    }

    }


    I'm not sure what I'm doing wrong here,and in fact the code runs, and I can pick up the matches, but I hate having those Red Stop Sign Exclamations there. What am I doing wrong?

    Thanks again for this great book!
     
  13. Poemind

    Poemind

    Joined:
    May 25, 2011
    Posts:
    30
    Did you actually create the Terrain first? It doesn't sound like it... On p. 26 it says to go to "Terrain | Create Terrain" This will give you a blank slate on which to paint your terrain
     
  14. it9760

    it9760

    Joined:
    May 23, 2011
    Posts:
    27
    In chapters 2 and 3 it is talking about the FPSWalker script! I DO NOT have this script as a component of the First Person Controller! Instead I have a Character Motor script! Does it have the same kind of function with the FPSWalker script? Thank you
     
  15. Poemind

    Poemind

    Joined:
    May 25, 2011
    Posts:
    30
    Yes, I wondered about this as well, but yes, it appears to have the same functionality and then some. Did you sort out the Terrain issue?
     
  16. it9760

    it9760

    Joined:
    May 23, 2011
    Posts:
    27
    Yes I did :) thank God !! The problem finally was that the default layer was disabled and therefore no objects were rendered in the scene view.
     
  17. GGamer09

    GGamer09

    Joined:
    Aug 2, 2011
    Posts:
    5
    i need help in Ch 4 with making the door open and close. This is my code but i hate coding and am not very good at it so anyhelp would be great.


    private var doorIsOpen : boolean = false;
    private var doorTimer : float = 0.0;
    private var currentDoor : GameObject;

    var doorOpenTime : float = 3.0;
    var doorOpenSound : AudioClip;
    var doorShutSound : AudioClip;

    function Update () {
    if(doorIsOpen){
    doorTimer += Time.deltaTime;

    if(doorTimer > 3){
    Door(doorShutSound, false, "doorshut", currentDoor);
    doorTimer = 0.0;
    }
    }
    }

    function OnControllerColliderHit (hit : ControllerColliderHit){
    if (hit.gameObject.tag == "outpostdoor" doorIsOpen == false){
    currentDoor = hit.gameObject;
    Door(doorOpenSound, true, "dooropen", currentDoor);
    }
    }

    function Door(aClip : AudioClip, openCheck : boolean, animeName : String, thisDoor : GameObject){
    audio.PlayOneShot(aClip);
    doorIsOpen = openCheck;

    thisDoor.transform.parent.animation.Play(animeName);
    }

    @script RequireComponent (AudioSource)
     
  18. it9760

    it9760

    Joined:
    May 23, 2011
    Posts:
    27
    Hi! I have a question on Chapter 7, "Collecting the matches" section! I keep getting the following message ...

    http://hotfile.com/dl/127069288/3350a64/_.bmp.html

    I have written the code as exactly as it is written in the book but I am stuck! Any ideas?

    Kind regards

    Maria
     
  19. it9760

    it9760

    Joined:
    May 23, 2011
    Posts:
    27
    private var haveMatches : boolean = false ;
    var matchGUI : GameObject ;

    var batteryCollect : AudioClip ;

    private var doorIsOpen : boolean = false ;
    private var doorTimer : float = 0.0 ;
    private var currentDoor : GameObject ;

    var doorOpenTime : float = 3.0 ;
    var doorOpenSound : AudioClip ;
    var doorShutSound : AudioClip ;

    function Update () {
    var hit : RaycastHit ;
    if (Physics.Raycast (transform.position, transform.forward, hit, 5)) {
    if (hit.collider.gameObject.tag == "outpostDoor" doorIsOpen == false BatteryCollect.charge >= 4) {
    currentDoor = hit.collider.gameObject ;
    Door (doorOpenSound, true, "dooropen", currentDoor) ;
    GameObject.Find ("Battery GUI").GetComponent (GUITexture).enabled = false ;
    }
    else if (hit.collider.gameObject.tag == "outpostDoor" doorIsOpen == false BatteryCollect.charge < 4) {
    GameObject.Find ("Battery GUI").GetComponent (GUITexture).enabled = true ;
    TextHints.message = "The door seems to need more power ..." ;
    TextHints.textOn = true ;
    }
    }
    if (doorIsOpen) {
    doorTimer += Time.deltaTime ;
    if (doorTimer > 3) {
    Door (doorShutSound, false, "doorshut", currentDoor) ;
    doorTimer = 0.0 ;
    }
    }
    }

    function OnControllerColliderHit (hit : ControllerColliderHit) {
    var crosshairObj : GameObject = GameObject.Find ("Crosshair") ;
    var crosshair : GUITexture = crosshairObj.GetComponent (GUITexture) ;
    if (hit.collider == GameObject.Find("mat").collider) {
    CoconutThrow.canThrow = true ;
    crosshair.enabled = true ;
    TextHints.textOn = true ;
    TextHints.message = "Knock down all 3 at once to win a battery!" ;
    GameObject.Find ("TextHint GUI").transform.position.y = 0.2 ;
    }
    else {
    CoconutThrow.canThrow = false ;
    crosshair.enabled = false ;
    GameObject.Find ("TextHint GUI").transform.position.y = 0.5 ;
    }
    }

    function Door (aClip : AudioClip, openCheck : boolean, animName : String, thisDoor : GameObject) {
    audio.PlayOneShot (aClip) ;
    doorIsOpen = openCheck ;
    thisDoor.transform.parent.animation.Play (animName) ;
    }

    function OnTriggerEnter (collisionInfo : Collider) {
    if (collisionInfo.gameObject.tag == "battery") {
    BatteryCollect.charge++ ;
    audio.PlayOneShot (batteryCollect) ;
    Destroy (collisionInfo.gameObject) ;
    }
    if (collisionInfo.gameObject.name == "matchbox") {
    Destroy (collisionInfo.gameObject) ;
    haveMatches = true ;
    audio.PlayOneShot (batteryCollect) ;
    var matchGUIobj = Instantiate (matchGUI, Vector3(0.15, 0.1, 0), transform.rotation) ;
    matchGUIobj.name = matchGUI;
    }
    }

    @script RequireComponent (AudioSource)
     
  20. wmd

    wmd

    Joined:
    Oct 3, 2011
    Posts:
    3
    Hi all,
    I'd like to add to the list of problems. This I assume is a real n00b problem so apologies if it is glaringly obvious. I imported the outpost for Chapter 4, created the script and loads fine. But when I reach the outpost and try to walk up the ramp my character walks right through it. Should there be another collider for the ramp? Am I using the right outpost? I'm using Unity 3.4.

    Thanks!
    Will
     
  21. Poemind

    Poemind

    Joined:
    May 25, 2011
    Posts:
    30
    Make sure that before you drag your model into your scene that you click on "Generate Colliders" within the FBX importer section. I'm betting that you missed that step, as I've done it a few times myself.
     
  22. wmd

    wmd

    Joined:
    Oct 3, 2011
    Posts:
    3
    Thanks Poemind! I'll give this a shot and see how I get on.
     
  23. wmd

    wmd

    Joined:
    Oct 3, 2011
    Posts:
    3
    That worked perfect! I had to re-add the outpost with the Generate Collidor checked. Thanks!
     
  24. Nonny

    Nonny

    Joined:
    Oct 24, 2011
    Posts:
    2
    Hello:

    I have made it to the end of Chapter 7 (yahoo!) but after slowly working out my other problems, I have one minor and one larger problem. The minor is that the crosshairs show up for a couple of seconds at the start of play and the fire won't light even if you have the matches (although the sound will go on.)
    I keep getting this error:
    NullReferenceException
    PlayerCollisions.OnControllerColliderHit (UnityEngine.ControllerColliderHit hit) (at Assets/Scripts/PlayerCollisions.js:62)
    UnityEngine.CharacterController:Move(Vector3)
    CharacterMotor:UpdateFunction() (at Assets/Standard Assets/Character Controllers/Sources/Scripts/CharacterMotor.js:229)
    CharacterMotor:FixedUpdate() (at Assets/Standard Assets/Character Controllers/Sources/Scripts/CharacterMotor.js:331)


    And here's my full code for PlayerCollisions.js

    private var haveMatches : boolean = false;
    private var doorIsOpen : boolean = false;
    private var doorTimer : float = 0.0;
    private var currentDoor : GameObject;
    private var fireOn : boolean = false;

    var matchGUI : GameObject;
    var doorOpenTime : float = 3.0;
    var doorOpenSound : AudioClip;
    var doorShutSound : AudioClip;
    var batteryCollect : AudioClip;

    function Update () {
    var hit : RaycastHit;
    if (Physics.Raycast (transform.position, transform.forward, hit, 5)){
    if(hit.collider.gameObject.tag=="outpostDoor" doorIsOpen == false BatteryCollect.charge >= 4){
    currentDoor = hit.collider.gameObject;
    Door(doorOpenSound, true, "dooropen", currentDoor);
    GameObject.Find("Battery GUI").GetComponent(GUITexture).enabled=false;
    }

    else if(hit.collider.gameObject.tag=="outpostDoor" doorIsOpen == false BatteryCollect.charge < 4){
    GameObject.Find("Battery GUI").GetComponent(GUITexture).enabled=true;
    TextHints.message = "The door seems to need more power...";
    TextHints.textOn = true;
    }
    }
    if(doorIsOpen){
    doorTimer += Time.deltaTime;

    if(doorTimer > 3){
    Door(doorShutSound, false, "doorshut", currentDoor);
    doorTimer = 0.0;
    }
    }
    }

    function OnControllerColliderHit(hit : ControllerColliderHit){
    if(hit.collider.gameObject == GameObject.Find("campfire")){
    if(haveMatches){
    haveMatches = false;
    lightFire();
    }else if(!fireOn){
    TextHints.textOn=true;
    TextHints.message = "GET THE POWER OF FIRE... from the hut.";
    }
    }

    var crosshairObj : GameObject = GameObject.Find("Crosshair");
    var crosshair : GUITexture = crosshairObj.GetComponent(GUITexture);

    if(hit.collider == GameObject.Find("mat").collider){
    CoconutThrow.canThrow = true;
    crosshair.enabled = true;
    TextHints.textOn = true;
    TextHints.message = "Hit 'em, pardner, and get yur battery on!";
    GameObject.Find("TextHint GUI").transform.position.y = 0.2;
    }
    else{
    CoconutThrow.canThrow = false;
    crosshair.enabled = false;
    GameObject.Find("TextHint GUI").transform.position.y = 0.5;
    }
    }
    function Door(aClip : AudioClip, openCheck : boolean, animName : String, thisDoor : GameObject){
    audio.PlayOneShot(aClip);
    doorIsOpen = openCheck;
    thisDoor.transform.parent.animation.Play(animName);
    }


    function OnTriggerEnter(collisionInfo : Collider) {
    if(collisionInfo.gameObject.tag == "battery") {
    BatteryCollect.charge++;
    audio.PlayOneShot(batteryCollect);
    Destroy(collisionInfo.gameObject);
    }
    if(collisionInfo.gameObject.name == "matchbox") {
    Destroy(collisionInfo.gameObject);
    haveMatches = true;
    audio.PlayOneShot(batteryCollect);
    var matchGUIobj = Instantiate(matchGUI, Vector3(0.15,0.1,0), transform.rotation);
    matchGUIobj.name = "matchGUI";
    }
    }
    function lightFire() {
    fireOn = true;

    var campfire : GameObject = GameObject.Find("campfire");
    var campSound : AudioSource = campfire.GetComponent(AudioSource);

    campSound.Play();

    var flames : GameObject = GameObject.Find("FireSystem");
    var flameEmitter : ParticleEmitter = flames.GetComponent(ParticleEmitter);

    flameEmitter.emit = true;

    var smoke : GameObject = GameObject.Find("SmokeSystem");
    var smokeEmitter : ParticleEmitter = smoke.GetComponent(ParticleEmitter);

    smokeEmitter.emit=true;

    Destroy(GameObject.Find("matchGUI"));
    }

    @script RequireComponent(AudioSource)


    HELP WOULD BE SO EVER APPRECIATED
     
  25. Robertsmania

    Robertsmania

    Joined:
    Nov 20, 2011
    Posts:
    2
    I just started with the book and am using Unity 3.4.2. Starting a new project the "Standard Assets.unityPackage" shown on page 25 no longer is listed in the list of packages. There is a "Standard Assets(Moblie).unityPackage" but scanning ahead in the book at the textures and assets expected the mobile version doesnt seem to be the same.

    Which packages should be selected when starting a new project to work through the book?
     
  26. homeros

    homeros

    Joined:
    Dec 23, 2009
    Posts:
    121
    I think pretty much every package besides Toon Shading (and probably mobile package) was in Standart Assets in the previous versions. If you're unsure which one to import, just import everything. Your project may take a bit longer to load but you won't get any errors that way.
     
  27. rockysam888

    rockysam888

    Joined:
    Jul 28, 2009
    Posts:
    650
    imo, you should at least import these:
    Character Controller
    Light Flares
    Particles
    Physic Materials
    Terrain Assets
     
  28. Robertsmania

    Robertsmania

    Joined:
    Nov 20, 2011
    Posts:
    2
    In chapter 6, the platform object I've loaded from the book's asset package has bad normals on a number of the surfaces. In particular planks of wood that make up the railing and one of the large pieces of the surface where you place the targets have the wrong normal up.

    Visually, that makes those pieces look like they are hollow with the top piece being transparent. If you move the camera to look underneath - you can see the texture on the underside which indicates that the poly/surface is indeed there but that the normal is inverted.

    Physically, that makes the coconuts (or player if you jump over there) behave badly. They pop through what should be the solid surface and can do some strange things after that.

    I've experimented with the settings in the FBXImporter for the platform but changing the Normals to "calculate" from "import" doesnt make any difference.

    Is this an issue others have seen? Is there a way within Unity to resolve it?

    Thanks!
     
  29. Poemind

    Poemind

    Joined:
    May 25, 2011
    Posts:
    30
    Yes, I have noticed this wonkiness. There isn't a way that I know of to fix this within Unity. I think it would have to be fixed in your 3D modeling software. I think.
     
  30. Stefano_1990

    Stefano_1990

    Joined:
    Oct 10, 2011
    Posts:
    278
    How is it that the book has been delayed until the 3 week of December (*cough* vaporware) yet you guys have it?
     
  31. Poemind

    Poemind

    Joined:
    May 25, 2011
    Posts:
    30
    I think you are waiting for the new edition. I'm speaking of the older one. Hopefully the new edition will have fixed some of theses issues.
     
  32. DrPygameNewb

    DrPygameNewb

    Joined:
    May 6, 2011
    Posts:
    136
    Think game development 3.0 essentials book has been out for one week. Anyone own the book?
     
  33. icetear

    icetear

    Joined:
    Dec 29, 2011
    Posts:
    24
    Hello,

    yes I received it today and am on page 87 already. But I have a big problem:
    When trying to download the Book Assets package, I get a zip file, which extracts as another zip file. No way to get that imported. Unpacking it reveals many folders which I can't use. The learning stops for me at this point. Maybe somebody can help me?

    Thanks and regards
    Mario Gaida
     
  34. icetear

    icetear

    Joined:
    Dec 29, 2011
    Posts:
    24
    ok, packtpub has confirmed that the files are wrong. They will fix this within the next days.
     
  35. icetear

    icetear

    Joined:
    Dec 29, 2011
    Posts:
    24
    Amazing, it's been one week now, and still no change on packtpub's site.
    No way of getting the book assets unitypackage.

    Can somebody provide me the files by chance?

    Regards
    Mario Gaida

    EDIT: Everything's working! Just don't extract the files by double-clicking (MacOS), instead use StuffIt or another working unzip program.
     
    Last edited: Jan 7, 2012
  36. it9760

    it9760

    Joined:
    May 23, 2011
    Posts:
    27
    Hallo!

    I would like to ask what kind of game genre is Survival Island.

    Kind Regards,
    Maria
     
  37. OMG!Yeti's

    OMG!Yeti's

    Joined:
    Jan 9, 2012
    Posts:
    27
    Does anyone hapen to have a copy of terrain just before you texture it in chapter 3?

    Been trying for ages now and just can't seem to make anything that seems useable.
     
  38. roto23

    roto23

    Joined:
    Oct 30, 2009
    Posts:
    240
    Its none. It is simply a practice tutorials to give you the basics. I read the book over a year ago and recently re-read chapter 2. I highly recommend this book. I have 3 Unity books and this is by far the best.
     
  39. jeffmorris

    jeffmorris

    Joined:
    Nov 26, 2009
    Posts:
    144
    I got the PDF version of the book and and while following the tutorials in the book, there is a misspelled animation clip name "doorcshut" in Chapter 5.
     
  40. jeffmorris

    jeffmorris

    Joined:
    Nov 26, 2009
    Posts:
    144
    I think that the book was written for Unity 3D 3.4 and not Unity 3D 3.5. I couldn't get the coconut shy to give me the power cell after knocking down three target and the particle systems are different in Unity 3D 3.4 and 3.5.
     
  41. roto23

    roto23

    Joined:
    Oct 30, 2009
    Posts:
    240
    I was using Unity 2.6 when I bought the book. Did you check the errata at their site...
    their support page seems to be down atm

    http://www.packtpub.com/
     
  42. OMG!Yeti's

    OMG!Yeti's

    Joined:
    Jan 9, 2012
    Posts:
    27
    Sorry to ask this again but does anyone have a copy of the terrain that they would be able to share.

    Been at it for days trying to make something that would be useable but nothing seems to work. I just don't think that making terrain is my kind of thing.
     
  43. roto23

    roto23

    Joined:
    Oct 30, 2009
    Posts:
    240
    Do mean a height map to import? I mean, they take only a few minutes to make. or do you want an entire terrain with base texture and completed splatting?
     
  44. OMG!Yeti's

    OMG!Yeti's

    Joined:
    Jan 9, 2012
    Posts:
    27
    Hey Roto.

    I was meaning the terrain as it is in chapter 3. I'd like to be able to texture it to atleast give that a go but if you are able to share it even after its been textured and everything that would be awesome. Not really sure what splatting is need to look at that :oops:

    I'm really looking to just get on with the scripting.
     
  45. Chris Aoki

    Chris Aoki

    Joined:
    Jan 15, 2012
    Posts:
    200

    I've completed the book, and you could literally use just a flat square for your terrain, it has no effect on the scripting or game play, it's purely aesthetics. If you really want it though I could prefab up my terrain for you.
     
  46. it9760

    it9760

    Joined:
    May 23, 2011
    Posts:
    27
    I am asking because I have made a game based on Survival Island. There are ten platforms-minigames scattered around a forest and the player has to complete all of them to win the game. It is ment to be for preschool children and it helps them to understand the numbers 1-5.

    Thanx
     
  47. willgoldstone

    willgoldstone

    Unity Technologies

    Joined:
    Oct 2, 2006
    Posts:
    794
    Jeff - are you referring to Unity 3.x Game Development Essentials (2011) or the original 2009 book?

    This was indeed written for 3.4.2 but i'll be providing updates with regard to changes in 3.5 once we've finished and released 3.5!

    Keep an eye on unitybook.net for updates and errata.

    Also I've scoured Chapter 5 and I can't see a mistake - if you are referring to the new book, that is.

    Anyway thanks for buying the book I hope its helping you out!
     
  48. roto23

    roto23

    Joined:
    Oct 30, 2009
    Posts:
    240
    Hey Will,
    I read your 2009 book. Nice job. Of the 3 Unity books I bought and read, I found yours by far the most helpful.
     
  49. jeffmorris

    jeffmorris

    Joined:
    Nov 26, 2009
    Posts:
    144
    I'm talking about the new book (2011).
     
  50. OMG!Yeti's

    OMG!Yeti's

    Joined:
    Jan 9, 2012
    Posts:
    27
    Oh ok. I never went any further in the book than the terrain part but now that you mention it it kind of makes sense :oops:

    If you don't mind packing up the prefab for it that would be awesome but if not thats cool. Thanks for letting me know either way though that I can continue on with out it.