# Errata for 3D iOS Games by Tutorials v1.1

**URL:** <https://forums.kodeco.com/t/errata-for-3d-ios-games-by-tutorials-v1-1/9581>\
**Category:** 3D iOS Games by Tutorials\
**Created:** [March 14, 2016, 11:34am UTC](https://forums.kodeco.com/t/errata-for-3d-ios-games-by-tutorials-v1-1/9581 "2016-03-14T11:34:13Z")\
**Posts on this page:** 14\
**Page:** 2

<div class="post-metadata">

**Author:** ![sanjib](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/sanjib/32/10453_2.png) [@sanjib](https://forums.kodeco.com/u/sanjib)\
**Post date:** [March 30, 2016, 5:38am UTC](https://forums.kodeco.com/t/errata-for-3d-ios-games-by-tutorials-v1-1/9581/21 "2016-03-30T05:38:16Z")

</div>

Page 203, 1st Note box, line 3  
Chapter 12: Reference Nodes

Current text:  
there’s need to scream and pull your hair out just yet …  
…^

Suggested text:  
there’s no need to scream and pull your hair out just yet …

---

<div class="post-metadata">

**Author:** ![thegamingart](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/thegamingart/32/104125_2.png) [@thegamingart](https://forums.kodeco.com/u/thegamingart)\
**Post date:** [April 12, 2016, 11:24am UTC](https://forums.kodeco.com/t/errata-for-3d-ios-games-by-tutorials-v1-1/9581/22 "2016-04-12T11:24:31Z")

</div>

Hey Chris, just wanted to note a few code recommendations for Chapter 2:

On page 46, when setting up the `spawnShape()` method, there’s a `var geometry: SCNGeometry`. If the `default` clause in the switch statement always allocates this object, shouldn’t this be a `let` rather `var`? As such:

```
   func spawnShape() {
        let geometry: SCNGeometry
        
        switch ShapeType.random() {

        default:
            geometry = SCNBox(width: 1.0, height: 1.0, length: 1.0, chamferRadius: 0.0)
        }
        
        let geometryNode = SCNNode(geometry: geometry)
        scnScene.rootNode.addChildNode(geometryNode)
    }

```

Also, I recommend instead of having a `setupCamera()` method, that most likely makes more sense as a `lazy var`. Any further configurations to camera positioning, or whatnot, would make more sense for a dedicated setup method rather basic initialization. Following off of this, the scnScene could also be type casted via a calculated variable to prevent having it’s own dedicated method as well:

```
var scnView: SCNView! {
    return view as! SCNView
}
var scnScene: SCNScene!
lazy var cameraNode: SCNNode! = {
    let cameraNode = SCNNode()
    cameraNode.camera = SCNCamera()
    cameraNode.position = SCNVector3(x: 0, y: 0, z: 10)
    return cameraNode
}()

```

This way, the proper things are asserted when expected and are a bit more organized and simplified.

---

<div class="post-metadata">

**Author:** ![thegamingart](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/thegamingart/32/104125_2.png) [@thegamingart](https://forums.kodeco.com/u/thegamingart)\
**Post date:** [April 12, 2016, 11:45am UTC](https://forums.kodeco.com/t/errata-for-3d-ios-games-by-tutorials-v1-1/9581/23 "2016-04-12T11:45:56Z")

</div>

In Chapter 3: Physics, page 53, when walking through the project and adding the GameUtils folder, there seems to be no reference where this folder should be located within the project files. When navigating the current project version (v1.1) within the zip files, there seems to be no reference to this folder:

 ![](https://raywenderlich-com-v3-forums.s3.amazonaws.com/original/3X/5/e/5e9b7b6e1f2b6b5e6814f2dcc326007eb55a8729.png)

You can extract the files from the Final project, or another project later, but this is probably something that should be added.

---

<div class="post-metadata">

**Author:** ![jaspervaz](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/jaspervaz/32/31003_2.png) [@jaspervaz](https://forums.kodeco.com/u/jaspervaz)\
**Post date:** [April 22, 2016, 5:32pm UTC](https://forums.kodeco.com/t/errata-for-3d-ios-games-by-tutorials-v1-1/9581/24 "2016-04-22T17:32:26Z")

</div>

PDF Top of Page 169: “Settings: Once again, zero out all the settings, but this time also set  
Restitution to 1.”

This makes it seem like Restitution is being set differently for the paddle. However, all of the other objects with physics also have Restitution set to 1.

---

<div class="post-metadata">

**Author:** ![mjeragh](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/mjeragh/32/111838_2.png) [@mjeragh](https://forums.kodeco.com/u/mjeragh)\
**Post date:** [April 23, 2016, 8:59am UTC](https://forums.kodeco.com/t/errata-for-3d-ios-games-by-tutorials-v1-1/9581/25 "2016-04-23T08:59:30Z")

</div>

Did you solve the problem of the paddle disappearing?

Cheers

---

<div class="post-metadata">

**Author:** ![dkliman](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/dkliman/32/69829_2.png) [@dkliman](https://forums.kodeco.com/u/dkliman)\
**Post date:** [April 23, 2016, 2:36pm UTC](https://forums.kodeco.com/t/errata-for-3d-ios-games-by-tutorials-v1-1/9581/26 "2016-04-23T14:36:29Z")

</div>

is there a way to download an iBooks version of the book that automatically updates?

---

<div class="post-metadata">

**Author:** ![jaspervaz](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/jaspervaz/32/31003_2.png) [@jaspervaz](https://forums.kodeco.com/u/jaspervaz)\
**Post date:** [April 23, 2016, 6:12pm UTC](https://forums.kodeco.com/t/errata-for-3d-ios-games-by-tutorials-v1-1/9581/27 "2016-04-23T18:12:46Z")

</div>

PDF Top of Page 230: “Make sure to position it at (x: 0, y: 2, z: 0)”

For the position of set\_restpoint reference, y should be -2, not 2. The diagram correctly shows -2, which puts the pillar directly beneath the ball.

---

<div class="post-metadata">

**Author:** ![tonethar](https://s3.amazonaws.com/cdn.raywenderlich.com/community/forum-assets/noun-game-ghost-878668.png) [@tonethar](https://forums.kodeco.com/u/tonethar)\
**Post date:** [April 23, 2016, 7:52pm UTC](https://forums.kodeco.com/t/errata-for-3d-ios-games-by-tutorials-v1-1/9581/28 "2016-04-23T19:52:08Z")

</div>

Chapter 5 - page 84 refers to Chapter 21, “Sprite Kit Integration” - which isn’t in v1.1 of the PDF. Is this chapter coming soon?

---

<div class="post-metadata">

**Author:** ![jaspervaz](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/jaspervaz/32/31003_2.png) [@jaspervaz](https://forums.kodeco.com/u/jaspervaz)\
**Post date:** [April 24, 2016, 11:37pm UTC](https://forums.kodeco.com/t/errata-for-3d-ios-games-by-tutorials-v1-1/9581/29 "2016-04-24T23:37:09Z")

</div>

PDF Page 278/279: The text on page 279 says to pin the Mr Pig View horizontally and vertically in the container and has a diagram which shows it centered horizontally and vertically. The diagram on page 278 shows different constraints, spacing it 24 from top, 24 from left, 24 from right, 44 from bottom. The included project contains still different constraints, spacing it 24 from top, 44 from left, 44 from right, 44 from bottom. Also, the included project has “Clips Subviews” unchecked, which is checked by default (for the image view).

---

<div class="post-metadata">

**Author:** ![derekhuby](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/derekhuby/32/36711_2.png) [@derekhuby](https://forums.kodeco.com/u/derekhuby)\
**Post date:** [April 25, 2016, 8:05pm UTC](https://forums.kodeco.com/t/errata-for-3d-ios-games-by-tutorials-v1-1/9581/30 "2016-04-25T20:05:12Z")

</div>

I ran into the same problem. One of the top rails in the Breaker game kept disappearing - very strange.

I seem to have sorted it out here, as follows: select the rail in the scene editor, and go to the attributes inspector. Then hit ‘Unshare’ under ‘Geometry Sharing’.

I did this for each of the rails, and they all seem to be working properly now. I suspect it’s some sort of bug in the scene editor; the ‘original’ version of a copied node gets rendered properly, but the copy is somehow left out. Unsharing the geometry breaks the link to the original node, and makes the ‘copy’ an independent object with its own position in the render queue.

Whether that explanation’s right or wrong, it seems to work…

---

<div class="post-metadata">

**Author:** ![mjeragh](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/mjeragh/32/111838_2.png) [@mjeragh](https://forums.kodeco.com/u/mjeragh)\
**Post date:** [April 26, 2016, 4:25am UTC](https://forums.kodeco.com/t/errata-for-3d-ios-games-by-tutorials-v1-1/9581/31 "2016-04-26T04:25:15Z")

</div>

Thanks for your help.

---

<div class="post-metadata">

**Author:** ![hollingsworth](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/hollingsworth/32/81494_2.png) [@hollingsworth](https://forums.kodeco.com/u/hollingsworth)\
**Post date:** [May 2, 2016, 5:36am UTC](https://forums.kodeco.com/t/errata-for-3d-ios-games-by-tutorials-v1-1/9581/32 "2016-05-02T05:36:32Z")

</div>

Page 43:

> Working with geometry  
> In order to create visible content, you need to add a geometry object to a node. A geometry object represents a three-dimensional shape and is created of many points known as vertices.

This implies that objects are made of points, which is only partly true. Perhaps it would be better to say something such as:

> 'A geometric object represents a three dimensional shape made up of polygons, multi sided shapes. Polygons are often triangles. An object can have many polygons, such as a sphere, or very few, such as a simple cube, which has 6, one for each side. Polygons themselves are made up of vertex points called vertices, and edges, that connect the vertices.

Aside from this very minor matter, I’m off to a good start and enjoying the book. Thanks!

---

<div class="post-metadata">

**Author:** ![tomhartnett](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/tomhartnett/32/97949_2.png) [@tomhartnett](https://forums.kodeco.com/u/tomhartnett)\
**Post date:** [July 4, 2016, 2:00pm UTC](https://forums.kodeco.com/t/errata-for-3d-ios-games-by-tutorials-v1-1/9581/34 "2016-07-04T14:00:32Z")

</div>

This fix worked for me as well! Thanks.

---

<div class="post-metadata">

**Author:** ![dbourne](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/dbourne/32/81494_2.png) [@dbourne](https://forums.kodeco.com/u/dbourne)\
**Post date:** [May 23, 2017, 6:54pm UTC](https://forums.kodeco.com/t/errata-for-3d-ios-games-by-tutorials-v1-1/9581/35 "2017-05-23T18:54:49Z")

</div>

I had this problem before where the code doesn’t recognized the functions in a Utilities folder. Not sure what causes this. I’ve tried rebuilding and closing the project and re-opening.

## – I noticed that when I copied the complete folder from the Resources folder it was blue. Instead I created a new Group, orange folder, and copied the individual .swift files in to this folder. This works.

OK, I noticed in the Figure on Page 59 that Create Groups is checked. That fixed the problem.

[Previous page](https://forums.kodeco.com/t/errata-for-3d-ios-games-by-tutorials-v1-1/9581.md?page=1)
