New course available! Mastering Core Image: XCode’s Image Recognition and Processing Framework

We at Mammoth Interactive have just released our latest course: Mastering Core Image: XCode’s Image Recognition and Processing Framework. Learn image manipulation and recognition techniques for iOS apps. Use this coupon to get it for 19 dollars!

Why CIImages?

In this course, you learn how to add unique features to the images in your apps. A CIImage is a representation of an image that can be altered with Core Image filters. These filters allow users to change and interact with images in cool and useful ways. CIImages provide a lot of power that other image types do not.

Why Xcode?

Xcode is Apple’s FREE software for app development. Xcode is user-friendly and has the tools you need to make apps for the iPhone, iPad, Mac, Apple Watch, and Apple TV. In this course, you learn to navigate Xcode’s interface. You learn how to add User Interface (UI) elements, including text fields, sliders, and buttons, to make an app. You learn to code in Swift 3.0, Apple’s programming language, to make the app function.

Course Curriculum

Part 1: Apply common filters like Sepia and Blur to the images in your app. Test distortion and transition effects! See what happens when you combine multiple filters.

Part 2: Use Facial Recognition software that is available in Swift to detect facial features such as eyes and smiles in photographs. Detect text found in images.

Part 3: Develop an interface that will allow you to load, modify, and save CIImages. Learn the different ways to load images from multiple sources into an iOS app. Knowing how to save images in a photo album opens a whole slew of possibilities!

Part 4: Superimpose images onto other images. Let a user place an image from a Camera Roll to the location where you tap on an app.

Part 5: Let a user zoom and pan on your app’s images. This functionality is especially useful for users to interact with images like maps.

Learn how to use Facial Recognition to recognize facial features!

Is this course for me?

By taking this course, you will gain the tools you need continue improving yourself in the field of app development. You will be able to apply what you learned to further experiment in Xcode and make your own apps able to perform more.

What programs do I need?

To follow along with these tutorials, you will need Xcode, Apple’s free software for making apps for iOS, macOS, tvOS, and watchOS. Note that Xcode is only available on Apple computers. This course was recorded on a Mac.

Get ahead today!

Learn Unreal with our new book series 📖

It’s that time of year… we at Mammoth Interactive have published new books! Available in both Paperback and eBook format, check out “Introduction to Unreal” and its sequel “Build 6 Games in Unreal.”

The Unreal Engine is a powerful program for building games. Learn how to navigate the Unreal editor by building a Coin Collector game!

First we set up the Coin Collector game’s design in Unreal. You learn how to position a camera in a game so that the user sees the game from your desired viewpoint. We make Blueprints to save objects. We give shape and color to the characters and objects in the game.

A sneak preview of the Paperback edition.

A sneak preview of the Paperback edition.

Then we use C++ scripts to give the game custom functionality. You learn how to process collisions and keep track of the number of times two objects collide. We make a coin disappear when the player touches it. We add a text box to the game to display the score. As well, we enable the player to restart the game with a hotkey.

By the end of this book, you know how to create a game from scratch that responds to user input through keyboard controls.

 

Learn how to navigate the Unreal editor while building 6 basic games. This book is an extension of “Introduction to Unreal.”

A sneak preview of the eBook edition.

A sneak preview of the eBook edition.

We make the following games:

  • Coin Collector Game
  • Shooter Game
  • Platform Switcher Game
  • First Person Shooter Game
  • Turret Game
  • Runner Switcher Game

Both of these books make creating your own game easy and efficient. You learn both the coding and artistic sides to game development. As such, you gain a unique perspective that is familiar with the different skills needed to make a game. Grab your copy today. 📖

 

Being a coder isn’t just about coding.

We’re excited to announce our new Kickstarter: Complete Guide to Self-Promotion for Techies and Startups. We need your help to make a course that teaches coders soft skills. ‘Soft skills’ include teamwork, communication and management skills.

If you want to start your own coding business, there’s much more to it than the technical aspects of the job.

We want to teach coders how to stand out in the tech industry and successfully start their own business. Even if you don’t want to make your own company, this course will teach you skills that will make you invaluable wherever you work.

We’ve identified 6 key topics that can strengthen the core of your coding business:

  • The psychology of entrepreneurship
  • Fusing soft skills and software development
  • The code of human interaction
  • The art of persuasion
  • Expanding creativity
  • Mastering team dynamics

We don’t believe in hypotheticals.

Our course will provide you with practical examples of issues you’ll face in the coding industry. We based our curriculum on proven psychological methods and on our experiences in the coding industry.

If you take this course, you will become part of a community of students supported by us. You’ll go from talented coder to business champion. Visit our Kickstarter’s page to get involved.

 

Implementing a Button | Unity Tutorial

In virtual reality (VR) games, one of the few interactions a player can make is press a button by looking at it. In this tutorial, we will implement the button we made in our previous Unity tutorial.

If you are a beginner and want to learn how to build virtual reality games, check out our Unity3D course!

There are two ways to interact with the button. Both ways involve looking (the looking logic). We need to understand how to identify the button. To do this, we will perform raycasting.

To draw an image, Main Camera throws rays in multiple directions to find pixels to draw. We will use the ray that shoots forward in the direction the camera is facing. If the ray flying from the camera touches an object, we will identify the object.

Rename Main Camera “Player” because the player will look through the lens of the camera. We can treat the camera as the eyes of the player. Create a C# script in Assets. Name the script “Player”. Drag and drop the Player script to “Player” in the Hierarchy.

Double-click on the Player script to open it. Type the following code in the Update method in Player.cs. This code declares the local variable hit of type RaycastHit.

public class Player : MonoBehaviour {
// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {
Raycast hit;
}
}

hit is a local variable because we declared it in one function. You can only call a local variable within its function. If you know you are only going to use a variable in one function, declare it as a local variable.

If you declare a variable in a class outside of a function, you can use the variable throughout the functions in the class. These variables are global.

If you hover over “RaycastHit”, you can read that if your raycast hits an object, the object will be stored in hit, along with other details.

Create the following if block, which calls the Raycast method from the Physics class.

// Update is called once per frame
void Update () {
Raycast hit;

if (Physics.Raycast()) {

}
}

We need to pass three parameters to perform the raycast:

1. We need to pass the origin of the raycast. We want the ray to come from the exact position of the camera. transform.position is the position of Player.

// Update is called once per frame
void Update () {
Raycast hit;

if (Physics.Raycast(transform.position)) {

}
}

2. We need to pass the direction of the ray. transform.forward refers to the direction of the blue arrow. transform.forward always points forward even when the camera rotates.

// Update is called once per frame
void Update () {
Raycast hit;

if (Physics.Raycast(transform.position, transform.forward)) {

}
}

3. We need to pass where we will save the hit information if there is a hit. We will store the information in the hit variable.

// Update is called once per frame
void Update () {
Raycast hit;

if (Physics.Raycast(transform.position, transform.forward, out hit)) {

}
}

The if block’s condition will return true when the raycast hits something. In this case, we will use the hit variable. The condition will return false when the raycast does not hit anything. hit will not store a value, so we will not use it.

If the condition returns true, use the following code to print the name of the object the raycast hit.

// Update is called once per frame
void Update () {
Raycast hit;

if (Physics.Raycast(transform.position, transform.forward)) {
Debug.Log (hit.transform.name);
}
}

Save the script, and open Unity. Press Play. Press Alt/Option, and move the cursor until the crosshair is on top of Button. The console will print the message “Button” constantly because every time the Update method is called, it sees that we are looking at the button, and it prints the message.

Save your project. Want to learn more about buttons? Check out our Unity3D course, where you build 30 virtual reality games!

Designing a Button | Unity Tutorial

In virtual reality (VR) games, one of the few interactions a player can make is press a button by looking at it. In this tutorial, we will design a button in Unity. If you are a beginner and want to learn how to build virtual reality games, check out our Unity3D course!

VR has limited interactions with keys. Other devices like computers or Xbox, which have a lot of keys that players can press to interact with the game. Create a cube in the Hierarchy. We will have the cube work like a button. Give Cube the position 0 -1 -5. Change its X Scale value to 2.

Create a material in the Assets folder. Make sure that you do not create the material in the Google SDK folders. Name the material “ButtonMaterial”. Drag ButtonMaterial to Cube in the Scene. Change the color of ButtonMaterial to green with RGB values such as 0 184 100.

We will have the button be somewhat see-through. From the Rendering Mode menu in the Inspector, select “Transparent”.

In the Color window, set the alpha of ButtonMaterial to 147.

We will have the button contain some text. Right-click on “Cube” in the Hierarchy. Select 3D Object > 3D Text. “New Text” will appear in the Hierarchy. The text “Hello World” will appear in the Scene.

Set the X Scale value of New Text to 0.5. In the Text Mesh component, set Anchor to “Middle center” and Alignment to “Center”.

Set the text to sit just in front of the cube by changing its Z position to -0.7. Change Font Size to 15. In the Text property of Text Mesh, change “Hello World” to “Btn” (a shortened form of “Button”).

The text “Btn” will be of poor quality in the Scene. To correct this, scale down New Text in the Transform component. Then increase its font size in the Text Mesh component.

As such, the button’s text will be of better quality. Rename New Text “Label”. Rename Cube “Button”. Want to learn more? Check out our Unity3D course, where you build 30 virtual reality games!