How to Create a Road Text Effect in Adobe Illustrator

Final product image
What You’ll Be Creating

In the following steps, you will learn how to create a road text effect in Adobe Illustrator using a simple pattern brush.

For starters, you will learn how to set up a simple grid. Using the Rectangle Tool along with some basic vector shape-building techniques, you will learn how to create the shapes that make up the road. 

Moving on, you will learn how to save patterns and how to create your own pattern brush. Using this pattern brush and taking full advantage of the Snap to Grid feature, you will create the text effect. Finally, using the Appearance panel and some basic effects, you will learn how to add subtle shading and highlights along with a subtly textured background.

For more inspiration on how to adjust or improve your final text effect, you can find plenty of resources at Envato Market.

1. Create a New Document and Set Up a Grid

Hit Control-N to create a new document. Select Pixels from the Units drop-down menu, enter 850 in the width box and 600 in the height box, and then click the Advanced button. Select RGB, Screen (72 ppi) and make sure that the Align New Objects to Pixel Grid box is unchecked before you click OK.

Enable the Grid (View > Show Grid) and the Snap to Grid (View > Snap to Grid). You will need a grid every 1 px, so simply go to Edit > Preferences > Guides > Grid, and enter 1 in the Gridline every box and 1 in the Subdivisions box. Try not to get discouraged by all that grid—it will make your work easier, and keep in mind that you can easily enable or disable it using the Control-“ keyboard shortcut.

You can learn more about Illustrator’s grid system and how it can help you in this short tutorial from Andrei Stefan: Understanding Adobe Illustrator’s Grid System.

You should also open the Info panel (Window > Info) for a live preview with the size and position of your shapes. Don’t forget to set the unit of measurement to pixels from Edit > Preferences > Units > General. All these options will significantly increase your work speed.

setup grid

2. Create the Main Shapes

Step 1

Pick the Rectangle Tool (M) and focus on your Toolbar. Remove the color from the stroke, and then select the fill and set its color to R=110 G=180 B=81. Move to your artboard and simply create a 6 x 31 px rectangle—the grid and the Snap to Grid will make this easier.

rectangle

Step 2

Make sure that your rectangle is still selected and make a copy in front using the Control-C > Control-F keyboard shortcut. Select the newly made copy, and simply drag it about 11 px to the right as shown in the second image.

Pick the Rectangle Tool (M), create a 15 x 31 px shape and place it about as shown in the second image.

duplicate

Step 3

Using that same Rectangle Tool (M), create two 6 x 27 px shapes and a 15 x 27 px shape. Fill these three rectangles with R=40 G=29 B=43 and place them as shown in the following image. Again, the grid and the Snap to Grid feature will come in handy.

dark rectangle

3. Create the Red and White Squares

Step 1

Using the Rectangle Tool (M), create four 3 px squares. Fill two of these shapes with white (R=255 G=255 B=255) and the other two with R=219 G=4 B=22, and then place them as shown in the following image.

red white squares

Step 2

Multiply the red and white squares made in the previous step and spread the copies as shown in the following images.

duplicate squares

4. Create the Street Lines

Step 1

Using the Rectangle Tool (M), create four 6 x 1 px shapes and two 15 x 1 px shapes. Fill these new rectangles with white and place them as shown in the first image. Use the same tool and attributes to create a 3 x 1 px shape and place it as shown in the second image.

white rectangles

Step 2

Using the Rectangle Tool (M), create five 3 px squares. Fill these new shapes with white and place them as shown in the first image. Once you’re done, duplicate these white squares and place the copies as shown in the second image.

white squares

Step 3

Using the Rectangle Tool (M), create two 1 x 5 px rectangles. Fill both shapes with white and place them as shown in the first image. Using the same tool and attributes, create four 2 x 1 px shapes and place them as shown in the second image.

white rectangles

5. Create the Flag

Step 1

Using the Rectangle Tool (M), create a 4 x 26 px shape, fill it with R=40 G=29 B=43 and place it as shown in the following image.

dark rectangle

Step 2

Using the Rectangle Tool (M), create a bunch of 2 px squares, make sure that the fill color is set to white, and spread them as shown in the following image.

white squares

Step 3

Using the Rectangle Tool (M), create two 9 x 1 px rectangles. Fill both shapes with R=84 G=94 B=96 and place them as shown in the following image.

poles

6. Create the Pattern Brush

Step 1

Select all the shapes highlighted in the following image and simply drag them inside the Swatches panel (Window > Swatches) to save your selected shapes as a pattern.

Now, naming this pattern might make things easier later. Make sure that you deselect the shapes from your artboard and then select the newly added pattern from the Swatches panel. Open the fly-out menu from the same panel and simply go to Swatch Options. Name your pattern “Start” and then click that OK button.

save patttern

Step 2

Select all the shapes highlighted in the following image and turn them into a new pattern. Name this one “End“.

save second pattern

Step 3

Now that you have the two patterns, you can get rid of the set of shapes that were used to make them.

Select the remaining shapes, open the Brushes panel (Window > Brushes), and click that New Brush button. Check the Pattern Brush box and click the OK button. Pick a name for your pattern, make sure that the attributes are set as shown below, and then focus on the Tile boxes. Simply open the Start Tile and add your “Start” pattern, and then open the End Tile and add your “End” pattern. Once you’re done, click the OK button and your new pattern brush will show up in the Brushes panel.

save pattern brush

7. Create the Text Effect

Step 1

Pick the Type Tool (T) and open the Character panel (Window > Type > Character). Select the MamaRound font, and set the size to 200 pt and the tracking to 50. Make this piece of text black and lower its Opacity to about 25% using the Transparency panel (Window > Transparency).

text

Step 2

Using the Pen Tool (P) and a piece of text as a rough reference, draw a smooth path across your text, about as shown in the following image.

paths

Step 3

Now that you have your paths, simply delete that piece of text. Select the remaining paths and replace the existing stroke with your pattern brush from the Brushes panel (Window > Brushes). Select the path that makes up your “E“, pick the Pen Tool (P), click the bottom end point, and add a nice smooth path, approximately as shown in the second image.

pattern brush

8. Adjust the Text Effect and Add Shading

Step 1

Make sure that your “E” path remains selected and pick the Width Tool (Shift-W). First, focus on the left end of your selected path and drag those handles to the outside, which will enlarge your brush. Move to the other endpoint of your path, and this time drag those handles slightly to the inside, which will shrink your pattern brush. 

In the end, things should look about as shown in the following image.

width tool

Step 2

Make sure that your “E” path is still selected and make a copy in front (Control-C > Control-F). Select this copy, go to Object > Expand Appearance, and then hit Shift-Control-G to Ungroup the resulting group of shapes.

expand appearance

Step 3

Using the Move Tool (M), select the groups of shapes highlighted in the following image and click the Unite button from the Pathfinder panel (Window > Pathfinder). Fill the resulting shape with a random blue.

blue shape

Step 4

Using the Move Tool (M), select the groups of shapes highlighted in the following image and click that same Unite button from the Pathfinder panel. Fill the resulting shape with a random red.

red shape

Step 5

Select the remaining groups of shapes (highlighted in the first image) and simply delete them. Also, select your blue shape and bring it to front using the Shift-Control-] keyboard shortcut.

delete shapes

Step 6

Select the path that makes up your “C” and make a copy in front (Control-C > Control-F). Select this copy and go to Object > Expand Appearance. Make sure that the resulting group of shapes remains selected, and click that same Unite button from the Pathfinder panel. Fill the resulting shape with a random green.

green shape

Step 7

Using the Pen Tool (P), create a simple shape about as shown in the following image. Fill it with black and lower its Opacity to about 30%.

black shape

Step 8

Select your blue shape and bring it to front using that same Shift-Control-] keyboard shortcut. Reselect this blue shape along with the black transparent one, and click the Minus Front button from the Pathfinder panel. Fill the resulting shapes with yellow, and increase their Opacity to 100%.

minus front

Step 9

Select the green and the yellow shapes highlighted in the following image and click the Intersect button from the Pathfinder panel. Fill the resulting shape with black, and lower its Opacity to 30%.

intersect

Step 10

Select the red and the yellow shapes highlighted in the following image and click that same Intersect button from the Pathfinder panel. Fill the resulting shapes with black, and lower their Opacity to 40%.

intersect

Step 11

Using the Pen Tool (P), create a black shape about as shown in the first image and send it to back using the Shift-Control-[ keyboard shortcut.

shadow black

Step 12

Make sure that your newest black shape remains selected, focus on the Gradient panel (Window > Gradient), and simply click that gradient thumbnail to quickly replace the existing fill color with the default linear gradient. Make sure that the Angle is set to 0 degrees and then select the left slider, set the color to black, and lower its Opacity to 0%.

Move to the Appearance panel and select the existing fill. First, change its Blending Mode to Overlay, and then go to Effect > Blur > Gaussian Blur. Enter a 15 px Radius and click the OK button.

linear gradient

Step 13

Make sure that your blurred shape remains selected and keep focusing on the Appearance panel. Select the existing fill and duplicate it using the Duplicate Selected Item button. Select the newly added fill, lower its Opacity to 10%, and remove that Gaussian Blur effect.

add fill

9. Add a Background and Subtle Highlights

Step 1

Using the Rectangle Tool (M), create an 860 x 610 px shape. Make sure that this new rectangle covers your entire artboard, send it to back (Shift-Control-[), and set the fill color to R=140 G=198 B=63.

green background

Step 2

Make sure that your green rectangle remains selected, focus on the Appearance panel, and add a second fill using the Add New Fill button. Select the new fill, make it black, lower its Opacity to 3%, change the Blending Mode to Multiply, and then go to Effect > Artistic > Film Grain. Drag those sliders as shown below, and then click the OK button.

film grain

Step 3

Reselect your green rectangle, make a copy in front (Control-C > Control-F), and bring it to front (Shift-Control-]).

Select this new copy and simply hit the D button from your keyboard to replace the existing Appearance attributes with the default ones (white fill and a black stroke). Remove that black stroke and replace the white fill with the radial gradient shown below. Change its Blending Mode to Soft Light and keep in mind that that yellow zero from the Gradient image stands for Opacity percentage. Also, use the Gradient Tool (G) to stretch your gradient about as shown in the following image.

radial gradient

Step 4

Make sure that the rectangle added in the previous step is still selected and make a copy in front (Control-C > Control-F). Select this copy, lower its Opacity to 25%, and replace the existing gradient with the linear gradient shown below.

linear gradient

Step 5

Make sure that the rectangle added in the previous step is still selected and make a copy in front (Control-C > Control-F). Select this copy, increase its Opacity to 30%, replace the existing linear gradient with the one shown below, and then go to Effect > Path > Offset Path. Enter a -70 px Offset, click the OK button, and then go to Effect > Blur > Gaussian Blur. Enter an 80 px Radius, click that OK button, and you’re done.

linear gradient

Congratulations! You’re Done!

Here is how it should look. I hope you’ve enjoyed this tutorial and can apply these techniques in your future projects.

Feel free to adjust the final design and make it your own. You can find some great sources of inspiration at Envato Market, with interesting solutions to improve your design.

final product

Download How to Create a Road Text Effect in Adobe Illustrator

How to Use Siri on a Mac

Other than the name change, the big news in macOS is that Siri has finally come to the Mac. She—and yes, I’m going with Apple’s gendered pronoun rather than the impersonal it—has been available on iOS for the past five years but this is the first time Mac-only Apple fans will get a look in. 

Siri’s available to every Mac user running macOS 10.11 Sierra. If you have a Mac that you bought more recently than 2009, you can most likely update.

Although Siri has been around on iOS a while, the macOS version is a lot more powerful. She’s integrated far more with the file system. To get you started, in this tutorial I’ll cover the basics of using Siri on a Mac.

Siri Redux

Although there are far more iOS users out there than Mac users, there are still some people with an Apple computer and an Android—or even Windows—smartphone. For them, and the millions of iPhone users who have never really spoken to Siri, let’s start with the very basics. 

Siri is Apple’s personal assistant software. She’s meant to make it easier to do simple tasks like search the web, create reminders, post to Facebook or Twitter, and lots more just by using your voice. 

tweeting with Siri
Sending a tweet with Siri.

The key to Siri’s success is natural language processing. Rather than having to use a specific rigid format to make commands, you can do them just by speaking normally and she should be able to interpret what you’re saying. So, something like, “Make appointment for 11am tomorrow; Brunch,” and “Siri, can you put Brunch in my calendar for 11 tomorrow morning,” get you the same result: a calendar event called “Brunch” for 11am the next day. 

Siri’s natural language processing and ability to understand accents has become a lot better over the last four years. When she first came out, she struggled with my not-particularly-thick Irish accent. Now, there’s obviously been some regionalisation and she has no real issues, as long as I speak clearly. 

Siri isn’t just for American English speakers. She’s now available in 20 languages with a dozen or so regional variations. They are:

  • Arabic,
  • Chinese (Cantonese and Mandarin),
  • Danish,
  • Dutch (Belgium and Netherlands),
  • English (Australia, Canada, India, Ireland, New Zealand, Singapore, South Africa, United Kingdom and United States),
  • Finnish,
  • French (Belgium, Canada, France and Switzerland),
  • German (Austria, Germany and Switzerland),
  • Hebrew,
  • Italian (Italy and Switzerland),
  • Japanese,
  • Korean,
  • Malay,
  • Norwegian,
  • Portugese,
  • Russian,
  • Spanish (Chile, Mexico, Spain and United States),
  • Swedish,
  • Thai, and
  • Turkish.

Triggering Siri in macOS

When a Mac reboots after installing Sierra, you’ll be prompted to Enable Siri. Leave the checkbox ticked and click Continue to get started. 

By default, Siri is triggered with the keyboard shortcut Option-Spacebar. There is also both a Dock Icon and a Menu Bar Icon you can click.

Siri uses your language and region settings to determine which Siri voice you hear, and what accent she assumes you’re speaking with. 

The American voice used in the ads is only one of the choices available. To change this, and any of the other settings, head to the Siri Preferences Pane in System Preferences.

siri preference pane
The Siri Preference Pane.

To use Siri, press the trigger keyboard shortcut and start talking. It’s best to talk naturally while making sure to enunciate every word clearly. 

Siri is designed to work with natural voices so slowing to a crawl and over-pronouncing every word doesn’t help, but at the same time, she struggles most when you run your words together. 

If you speak like a radio broadcaster or newsreader, she tends to get things right every time.

Searching With Siri

On a Mac, Siri can do everything she does on the iPhone and more. She can still launch apps, post to social media, show you sports scores, search Maps, play music from Apple Music, create events and reminders, search the web, do simple maths, and tell you terrible jokes. 

The biggest addition is her smart control over the file system. You can use commands like:

  • “Show me the files I was working on yesterday.”
  • “What photos did I take last week.”
  • “Did I create any documents last April?”
siri search
All the documents I edited yesterday, found with Siri.

These all open a list of files for you to browse. It’s the best way to quickly perform advanced searches.

A nice twist is that if you click the little + icon, the results get added to the Notification Centre where they’ll update live. This works with all Finder searches as well as sports results.

pinned results
The live results pinned to the Notification Centre.

Siri on macOS is definitely the best version of Siri yet, but there’s still room for improvement. For the time being, she can only really work with information; commands like, “close that tab” or “quit Slack” don’t do anything. 

The only hardware commands available are simple things like “Put my Mac to sleep”, “turn off Bluetooth”, or “What version of macOS am I running?” Adding more hardware control seems like a relatively easy addition for Apple in the near future.

Wrapping Up

Siri is a great addition to macOS. While it’s easy to see why Apple focussed on the iPhone first—voice input is much nicer than a touchscreen keyboard—the extra Mac features make her a lot more useful. The advanced searching alone is a welcome addition. 

While Siri probably isn’t going to radically alter how you use a Mac, her presence in macOS is important. It represents Apple’s continuing effort to bring iOS devices and Macs closer together. With devices like the Apple TV and Apple Watch, voice control is becoming a more important part of their ecosystem. It’s about time the Mac got included.

Download How to Use Siri on a Mac

How to Organize Your Pictures for Free With Daminion

A client calls you looking for an image from their shoot several years ago. Can you find it and deliver it within an hour?

If not, it’s time to think about integrating a proper image management tool. An image manager is essential for commanding your image library. These tools help you browse your image collection quickly, filtering based on rules such as capture date and the camera used for the photo.

Daminion Standalone
Daminion Standalone is an excellent image manager, and free for up to 15,000 images. There are many pieces of photo editing software that will style your images, but not organize and manage them. Daminion is the perfect bridge for managing an image collection.

Daminion Standalone for Windows is an excellent option for managing your images. It’s free to catalog up to 15,000 images, and affordable for larger image collections. It sports a powerful interface and fast performance.

If you’re a solo photographer already using a tool like Adobe Lightroom, that has built-in image management features, you’re probably set. But if you use a tool like Adobe PhotoshopCapture One, or ON1 Photo 10 for editing, you might need a more robust tool for managing images. 

That’s where Daminion Standalone comes in. In this tutorial, you’ll learn to use Daminion Standalone to catalog your images and get organized. It’s free to try, so jump over to Daminion’s website and download it to get started in this tutorial.

For team-based image management, Daminion offers Daminion Server as a premium product. Daminion Server let’s you manage a shared collection of media between many team members, and is ideal for small companies or larger photography studios. This is something Lightroom, and most other consumer-level photo-organizing software, can’t do.

Get Started with Daminion

To get started with Daminion, you first need to add images to your Daminion catalog. Like a Lightroom catalog, a Daminion catalog is a database that stores information about your images. It doesn’t hold the image files themselves, but instead tracks data about the images in the catalog.

To add images to your Daminion catalog, go to the File > Add Files menu. Then, simply browse to where your images are stored and choose Add. Daminion supports RAW image files as well as finished images such as JPEG and PNG files.

Add Files in Daminion
Daminion uses a catalog system that builds a database of our images. To get started with Daminion Standalone, add images to the catalog from the File > Add Files menu.

After you’ve selected the folder of images to select, Daminion will show you a preview of the images that will be added to your catalog. The yellow boxes indicate an image that will be added to the catalog, but you can click on the yellow box to not import it.

Another choice is how you want to handle your image files. The primary choice is between whether to leave your images in the same folder or to organize them into new folders. Here’s what each option does:

  • Add files to the catalog without copying them: when you choose this option, Daminion will simply leave images in the same folder. They aren’t moved or organized, just added to the Daminion catalog.
  • Copy files to a folder and add to the catalog: if your images are disorganized, Daminion can sort them into new folders according to the capture date. This is a great option if your images are currently disorganized.
Choose Files to import
On the import window, the key decision to make is how you’ll handle the file locations. You can either leave them in place and just add them to Daminion (“add files to the catalog without copying them”) or choose “Copy files to a folder and add to the catalog” to organize images in new folders while they are added to Daminion. If you are just trying Daminion out, I would recommend the first option.

That’s it! You’ve added the images to your Daminion catalog and we can now begin browsing, organizing and managing our image library. If you need to add more images to your catalog later, just return to the Add Files menu option and repeat the process.

Now that we’ve added our images to Daminion, we’ll see them in the application as thumbnails. Let’s move on to find out how to manage them.

Image Management with Daminion

Why is an image manager so important? It helps us slice and dice and explore our image collection based upon rules. These could be rules such as when an image was captured, what camera we used to capture it with, or the rating we’ve given the image. Daminion can do all of these.

Here are three key image management tasks that a Daminion can help accomplish:

Change Views for Power Browsing

The heart of an image manager is the ability to browse images, scrolling through them quickly to find what you’re looking for. There are three very helpful views in Daminion to browse your images. Let’s walk through them in the video below:

 

Add Ratings, Flags and Color Labels

Star ratings, flags, and color labels are used in many photo managers. All of these criteria are useful to help us organize our images. We can add the criteria now, and then filter to those metadata criteria later.

  • Star ratings are typically used to give an image a rating based upon our preferences.
  • Flags flags are a simple, “on/off” switch to mark which images are worth keeping or working with. 
  • Color labels are a way to add meaning and to your images. Every photographer uses them differently. For me, I might use a Blue color label to mark an image that needs to go to Photoshop for fine adjustments.

In Daminion, the easiest way to start adding each of these is from the right-click menu. With an image or several images selected, right click on the image. Choose one of three options—Set Rating, Set Color Label, or Set Flag—to add metadata to the images. You’ll also note the keyboard shortcut from the menu as the fastest way to add it to future images.

Add Metadata Daminion
In Daminion, you can set ratings, color labels and flag statuses from the right click menu. Note the keyboard shortcuts on the right side of the menu.

Here’s a list of the default keyboard shortcuts in Daminion Standalone:

  • Rating: Control+1-5 to add the corresponding number of stars
  • Color label: 1-9 to add a color label; 1-5 adds red through purple in color wheel order
  • Flag: F for flag, U for unflagged, X for reject

Filtering Images in Daminion Standalone

Adding data like flags or color labels is just the first step in managing our images. Let’s look at how to filter images based on metadata.

 

Delivering Images

At the beginning of this tutorial, I started with a question: can you find and deliver an image to a client quickly? We’ve already learned how to find images, so now let’s export them from Daminion.

First, select the images that you wish to export from the browser view. You can hold control on your keyboard and select several at the same time. Then, click the Export > Copy to Folder option in the upper right corner of Daminion to start the export.

Export images option
On the export images window, you can leave the Transform option set to Export Original Files to export an exact original image.  You can also change the dropdown option to export a smaller version of the image if this will be used on the web or other lower resoltion source. Also, make sure that you’ve selected a Destination Folder to save the finished images.

On the pop-up window, you’ll need to choose two options with each export:

  • Transform: the default option is to export the original file, which means that the finished file is identical to the original image in resolution and quality. There are also dropdown options to export a smaller finished file to save space, which is ideal when the image is going to be used online.
  • Destination folder: this folder is where the finished image file will be saved.

Once you’ve set these options, press Copy to export your finished images.

Recap and Next Steps

Every photographer needs a tool to manage her image library. There are plenty of powerful tools for correcting and styling an image, but a well-organized photographer needs an image manager as well.

If you want to learn more about getting your images organized, check out these tutorials:

  • Check out The ABCs of Photo Sorting if you’re just beginning to think about getting organized, this tutorial is a great first read.
  • What’s in a Name? This tutorial will help you name your images in a way that’s useful to photographers, embedding some meaning in filenames. This will be way more useful than DSC_23849.RAW.
  • Daminion is a Windows application, but Mac users need a capable image organizer as well. Check out the course Image Library Management with Lyn  on how to use Lyn, an inexpensive tool for Mac with many of the same features.

Download How to Organize Your Pictures for Free With Daminion

How to Create a 3D, Glowing, Retro Text Effect in Adobe Photoshop

Final product image
What You’ll Be Creating

This tutorial will show you how to use smart objects and layer styles to create a 3D, retro, glowing text effect. Let’s get started!

This text effect was inspired by the many Layer Styles available on Envato Market.

Tutorial Assets

The following assets were used during the production of this tutorial:

1. Create the Background Gradient

Step 1

Create a new 800 x 600 px document, click the Create new fill or adjustment layer icon at the bottom of the Layers panel, and choose Solid Color.

Solid Color Layer

Step 2

Use the Color #2e363.

Fill Color

Step 3

Double-click the Solid Color layer to apply a Gradient Overlay effect using these settings:

  • Check the Dither box
  • Blend Mode: Linear Burn
  • Opacity: 20%
  • Style: Radial
  • Scale: 150%
  • Click the Gradient box to create the gradient fill using the colors #ffffff to the left and #ababab to the right
Gradient Overlay

This will create a simple gradient background.

Gradient Background

2. Add the Background Texture

Step 1

Place the Metal texture on top of the Solid Color layer, and resize it as needed.

Rename the texture’s layer to BG Texture, and change its Blend Mode to Soft Light.

Add the Background Texture

Step 2

Go to Image > Adjustments > Levels, and change the Gamma value to 1.50.

Levels Adjustment Layer

3. Create the Text and Its Smart Object

Step 1

Create the text using the font Big John. The Size is 200 pt, the Color is #e8a505, and the Tracking is 100.

Create the Text

Step 2

Rename the text layer to Textright-click it, and choose Convert to Smart Object.

Make sure to follow the naming of the layers throughout the tutorial so that things don’t get confusing.

Create the Smart Object

Step 3

Duplicate the Text layer, make it invisible, and drag it on top of the copy layer.

Duplicate the Text Layer

4. Create the Transform Action

Next, we’re going to duplicate the text and transform the copy layer, and then repeat that for a number of layers.

Since we’re working with smart objects, and to avoid any duplicate with transform issues, we’ll record an Action for that.

Step 1

Open the Actions panel (under the Window menu).

Open the Actions Panel

Step 2

Click the Create new set icon at the bottom of the panel, enter Extrusion in the Name field, and click OK.

Create New Set

Step 3

Click the Create new action icon at the bottom of the panel, enter Action in the Name field, and click Record.

Create New Action

5. Record the Action

Step 1

Duplicate the Text copy layer by click-dragging it to the New layer icon at the bottom of the Layers panel.

Duplicate the Text copy Layer

Step 2

Press Command-T to enter the Free Transform Mode, and then hit the Down Arrow key once and the Right Arrow key once to move the Text copy 2 layer 1 px downwards and 1 px to the right.

Move the Copy 2 Layer

Step 3

Hit the Return key to commit the changes. You should see all the steps recorded and added to the Action you’re creating.

Recorded Action

Step 4

Click the Stop recording icon at the bottom of the Actions panel.

Stop Recording

6. Create the Extrusion

Step 1

Click the Play selection icon at the bottom of the Actions panel 10 times to create 10 more copies with the transformation.

Play the Action

The final layer should have the name Text copy 12.

Final Layer

Step 2

Select all the Text copy layers (without the original invisible Text layer), and go to Layer > Arrange > Reverse.

This will place the last copy layer at the bottom and bring the first to the top.

Reverse the Layers Order

Step 3

Deselect the first and last layers, and then place the remaining selected layers in a group and call it Extrusion.

Extrusion Group

Step 4

Rename the Text copy layer to Text Front, and the Text copy 12 layer to Text Back.

Duplicate the Text Front layer, change the copy’s Fill value to 0, and then duplicate it.

Create the Text Front and Back Layers

7. Style the Extrusion Layers

Double-click the Text copy 2 layer to apply the following layer style:

Step 1

Add a Bevel and Emboss with these settings:

  • Size: 0
  • Shadow Mode – Opacity: 15%
Bevel and Emboss

Step 2

Add a Drop Shadow with these settings:

  • Opacity: 7%
  • Distance: 3
  • Size: 2
Drop Shadow

Step 3

This will style the first extrusion layer.

Right-click the styled layer, and choose Copy Layer Style.

Copy Layer Style

Step 4

Select the rest of the extrusion layers, right-click any of them, and choose Paste Layer Style.

This will create the 3D extrusion effect.

Paste Layer Style

Step 5

Duplicate the Extrusion group, drag the copy to place it on top of the Text Front copy 2 layer, and change its Fill value to 0.

Duplicate the Extrusion Group

8. Style the Text Front Layer

Double-click the Text Front layer to apply the following layer style:

Step 1

Add a Bevel and Emboss with these settings:

  • Size: 3
  • Gloss Contour: Cove – Deep
  • Check the Anti-aliased box
  • Shadow Mode – Opacity: 15%
Bevel and Emboss

Step 2

Add a Contour with these settings:

  • Contour: Cove – Deep
  • Check the Anti-aliased box
  • Range: 100%
Contour

Step 3

Add a Stroke with these settings:

  • Size: 1
  • Position: Inside
  • Blend Mode: Screen
  • Fill Type: Gradient
  • Use the faucet 70 gradient fill
Stroke

Step 4

Add an Inner Shadow with these settings:

  • Opacity: 35%
  • Uncheck the Use Global Light box
  • Angle: 141
  • Distance: 9
  • Choke: 6
  • Size: 18
Inner Shadow

Step 5

Add an Inner Glow with these settings:

  • Blend Mode: Linear Light
  • Opacity: 100%
  • Color: #d1cc90
  • Technique: Precise
  • Size: 90
  • Contour: Cone – Asymmetrical
Inner Glow

Step 6

Add an Outer Glow with these settings:

  • Opacity: 100%
  • Color: Use the faucet 140 gradient fill
  • Spread: 28
  • Size: 10
  • Contour: Cove – Shallow
Outer Glow

Step 7

Add a Drop Shadow with these settings:

  • Opacity: 7%
  • Distance: 3
  • Size: 2
Drop Shadow

This will style the top layer of the text.

Styled Front 1

9. Style the First Front Copy

Double-click the Text Front copy layer to apply the following layer style:

Step 1

Add a Bevel and Emboss with these settings:

  • Size: 10
  • Uncheck the Use Global Light box
  • Angle: 138
  • Altitude: 21
  • Gloss Contour: Cove – Deep
  • Check the Anti-aliased box
  • Shadow Mode – Opacity: 15%
Bevel and Emboss

Step 2

Add a Contour with these settings:

  • Contour: Cove – Deep
  • Check the Anti-aliased box.
  • Range: 100%
Contour

Step 3

Add a Stroke with these settings:

  • Size: 1
  • Position: Inside
  • Blend Mode: Screen
  • Fill Type: Gradient
  • Use the faucet 70 gradient fill
Stroke

This will style the first layer of the text front’s inner part.

Styled Front 2

10. Style the Second Front Copy

Double-click the Text Front copy 2 layer to apply the following layer style:

Step 1

Add a Bevel and Emboss with these settings:

  • Technique: Chisel Hard
  • Size: 10
  • Uncheck the Use Global Light box
  • Angle: 110
  • Altitude: 26
  • Gloss Contour: Cone – Asymmetrical
  • Check the Anti-aliased box
  • Shadow Mode – Opacity: 15%
Bevel and Emboss

Step 2

Add a Contour with these settings:

  • Contour: Notched Slope – rounded
  • Check the Anti-aliased box
  • Range: 100%
Contour

This will style the second layer of the text front’s inner part.

Styled Front 3

11. Style the Text Back Layer

Copy and Paste the Text Front layer’s layer style to the Text Back layer, and then double-click the Text Back layer to adjust the following settings:

Step 1

Bevel and Emboss:

  • Size: 6
Bevel and Emboss

Step 2

Contour:

  • Contour: Cone – Inverted
Contour

Step 3

Drop Shadow:

  • Opacity: 70%
  • Distance: 20
  • Size: 50
Drop Shadow

This will style the back layer.

Styled Back Layer

12. Style the Extrusion Groups

Step 1

Double-click the Extrusion group to apply a Gradient Overlay effect with these settings:

  • Check the Dither box
  • Blend Mode: Multiply
  • Use the stove pipe 185x gradient fill
Gradient Overlay

This will add some more dimension to the extrusion.

Extrusion Gradient Effect

Step 2

Double-click the Extrusion copy group to apply an Outer Glow effect with these settings:

  • Blend Mode: Linear Light
  • Opacity: 35%
  • Color: #a9f6ff
  • Size: 27
  • Contour: Ring
  • Range: 75%
Outer Glow

Step 3

Group all the visible text copy layers and extrusion groups you have, and call the group Text Effect.

Text Effect Group

Step 4

Double-click the Text Effect group to apply an Outer Glow effect with these settings:

  • Blend Mode: Screen
  • Opacity: 50%
  • Color: #399da7
  • Size: 150
Outer Glow

Step 5

This will finish off the text effect.

If you want to change the text, you can double-click the original Text layer’s thumbnail to open the original text file, change the text, go to Image > Reveal All, and then File > Save, and File > Close.

This will update the rest of the smart object layers, and you’ll get the effect applied to the new text you entered.

Final Text Effect

13. Add a Texture and Some Adjustment Layers

Step 1

Place the Freeze texture on top of all layers, and rename its layer to Texture Overlay. Change the Texture Overlay layer’s Blend Mode to Linear Burn and its Opacity to 15%.

Texture Overlay

Step 2

Add a Gradient Map adjustment layer on top of all layers, and check the Dither box.

Create the gradient fill using the colors #433469 to the left, #5e6474 in the middle, and #d4b28a to the right.

Change the layer’s Blend Mode to Color and its Opacity to 15%.

Gradient Map 1

Step 3

Duplicate the Gradient Map adjustment layer, and then change the copy’s Blend Mode to Soft Light and its Opacity to 50%.

Gradient Map 2

Congratulations, You’re Done!

In this tutorial, we created a simple gradient background with a texture overlay.

Then we created the text, converted it into a smart object, and duplicated it. After that, we recorded an action to create the extrusion and started applying different layer styles to the layers to create the text effect.

Finally, we added a texture and a couple of adjustment layers to finish everything off.

Please feel free to leave your comments, suggestions, and outcomes below.

Final Result

Download How to Create a 3D, Glowing, Retro Text Effect in Adobe Photoshop

Creating a Low Poly Aeroplane Set for Games: Part 2

Final product image
What You’ll Be Creating

Marking the Seams

Step 1

Scondary-click on the plane and press Tab to enter edit mode. Click on the Edge
select mode
button.

Edge select mode
Edge select mode

Step 2

Press A on the keyboard to deselect any selected edges. 

Hold Shift
and then secondary-click on the edges where the wing starts, one by one, to
select them all.

Press Ctrl-E to bring out the Edges menu
and click on Mark Seams

You’ll notice that the selected edges turns
red. The seams are from where the mesh will get unstitched onto a flat UV map.

Select edges and mark them as seams
Select edges and mark them as seams

Step 3

Select the bottom edges of the wing as shown in the image. Press Ctrl-E and
click on Mark Seam.

Mark bottom edges as seams
Mark bottom edges as seams

Step 4

Select the edge loop form where the tail wing starts. Hold Shift and then
right click on the edges to select them. Press Ctrl-E and select Mark Seam.

Select edges and mark them as seams
Select edges and mark them as seams

Step 5

Select the bottom edge of the wing from all sides. Hold Shift and then right
click on the edges. Press Ctrl-E and click on Mark Seams.

Mark bottom edges as seams
Mark bottom edges as seams

Step 6

Press A to deselect the edges. Select the front edge loop at the engine. You
can hold Alt and secondary-click on any of the edge to select the edge loop.
Press Ctrl-E and select Mark Seam.

Select front edges and mark them as seam
Select front edges and mark them as seam

Step 7

Since the model actually half there is no need to mark the center loop as
seam. You can preview the half model by clicking on the eye button to toggle
on/off modifier preview in 3D view port.

Preview mirror modifier
Preview mirror modifier

Step 8

Press Tab to exit edit mode. Secondary-click on the propeller object to select
it.

Select propeller
Select propeller

Step 9

Press Tab to enter edit mode. Secondary-click on the side edge and mark it seam.
Select the front edge loop (full circle) and mark it as seam. Secondary-click to select and Ctrl-E
to Mark seam.

Select edges and mark seams
Select edges and mark seams

Press Tab to exit edit mode. Secondary-click on the plane to select it.

Exit edit mode
Exit edit mode

UV Mapping the Model

Step 1

Split the 3D viewport by dragging the corner with primary mouse button.

Split 3D viewport
Split 3D viewport into two

You’ll now have two 3D viewports.

Split 3D viewport into two
Split 3D viewport into two

In one of the 3D viewport, click on the Editor type button and select
UV/Image editor. The 3D viewport will change to UV editor.

Change editor type to UVImage Editor
Change editor type to UV/Image Editor

Step 2

  • In 3D viewport, press 3 in the number pad to get into side view. 
  • With the plane
    selected, press Tab to enter edit mode. 
  • Press Ctrl-Tab and select
    Face select
    mode. 
  • Move the mouse over the main body of the plane and press L. This will select
    the main body mesh which is separated by the seams. 
  • Press U on the keyboard to bring
    UV
    Mapping
    options. 
  • Select Project From View. This will unwrap the selected mesh as
    seen in the  , onto the UV Editor.
Select mesh and unwrap
Select mesh and unwrap

Step 3

In the UV Editor, hold Alt and then right click on the out edge of the mesh
to select the edge loop. 

Press S and then Y to scale it along the Y-axis
to loosen it a bit form the rest of the mesh.

Select the individual vertices on the
tail and move them away so that they don’t over lap on any other vertices or
edge. Do not move the inner vertices or edges. Only spread out the outer edge
loop.

Tweak the vertices in UV Editor
Tweak the vertices in UV Editor

Similarly secondary-click on the vertices on the front part and then press G to
move them away one by one.

Tweak the vertices in UV Editor
Tweak the front vertices in UV Editor

Step 4

In the 3D view port, press 7 on the number pad to get into top view. 

Select
Face
Select mode. 

Move the mouse over the wings top part and press L to select the
mesh separated by the seam. Check from bottom. Nothing else is should be
selected, only the top part of the wings.

Select top faces of wings
Select top faces of wings

Step 5

In top view, with the wings selected, press U to bring out UV Mapping
menu
and select Project from View. The wings are now project on to the UV Editor.

Unwrap selected faces
Unwrap selected faces

Step 6

Select the outer vertices and edges. Scale and move them away just a little bit so
that they are not getting overlapped by other edges. .

Tweak vertices in UV Editor
Tweak vertices in UV Editor

Step 7

In the 3D viewport, press Ctrl-7 to get into bottom view. Move the mouse over
the wings and press L to select them one by one. Press U and select
Project From
View
to unwrap them in the UV Editor.

UV Map bottom faces of wings
UV Map bottom faces of wings

Step 8

In the UV Editor, press A to select all vertices of the wings and press
G to
move them away form the grid. I did this because the UV mesh of all mesh will
land here and would overlap each other. So to avoid this move them from the
default position.

Move the vertices away from the grid
Move the vertices away from the grid

Step 9

In the 3D viewport, press A to deselect any selected face. Move the mouse
over the front part and press L to select it. Press U and select
Project From
View
to unwrap the selection onto the UV Editor.

UV map the front part
UV map the front part

Step 10

Select the outer edge and scale it. Move the selected loop to the side so
that it becomes parallel to the inner loop. Press A to select all vertices and
the G to move it away from the main grid.

Tweaking the vertices
Tweaking the vertices

Step 11

Press Tab to exit edit mode. Right click on the plane to select it and then
press Tab to enter edit mode. Press A to select all edges. You will see the UVs
in the UV Editor might be jumbled up or overlapping each other. 

Arrange all the island groups such that it fits neatly inside the grid. Keep some space for
the propeller UVs. The commands in the UV Editor are same as in 3D viewport:

  • Hover over any group and press L to select the group
  • Select any vertex or vertices of the group and press Ctrl+L to
    select the whole group with connecting vertices.
  • Hold Shift for multiple select.
  • A to deselect / Select all.
  • W to bring out the weld/Align menu
  • Right click to select any edge / vertices

Here are other editing commands for the UV editor, though they are same as in
3D view.

  • G to move
  • R to Rotate
  • S to scale
  • Zoom in/Zoom out – Mouse wheel.
  • Pan = Shift-Middle mouse button and drag.

To maximize the UV Editor, move the mouse over the UV Editor and press Ctrl-Up
Arrow
. Press Ctrl-Up arrow to toggle back.

Rearranging the UV groups
Rearranging the UV groups

Step 12

Press Tab to exit edit mode. Secondary-click on the propeller to select it and
press Tab to enter edit mode.

Select propeller and enter edit mode
Select propeller and enter edit mode

Step 13

Press A to select all vertices. Press U to bring the UV Mapping menu and
select Unwrap this time. You don’t need it to get projected from view.

Unwrap the propeller mesh
Unwrap the propeller mesh

Step 14

Move the UVs so that they have some space in between. Select the blade which
is facing the opposite direction and rotate it 180 degrees. 

Press R and
then type 180 to rotate
the selection 180 degrees. Adjust the edge loop of the front part as well as shown in the
image.

Move and tweak the UV map
Move and tweak the UV map

Step 15

Press A to select all vertices and then press S to scale it down. Press
G to
move them away from the grid.

Move and tweak the UV map
Move and tweak the UV map

Step 16

Press Tab to exit edit mode. Secondary-click on the plane to select it. Click on
the modifiers button in the properties window. Press the Apply button in the
Mirror modifier. This will generate the opposite side of the mesh.

Apply the mirror modifier
Apply the mirror modifier

Step 17

Hold Shift and secondary-click on the propeller and then the plane. Press
Ctrl-J
to join them.

Join propeller and plane model
Join propeller and plane model

Step 18

Press Tab to enter edit mode. In the 3D view, press A to select all vertices,
so that UV maps of the whole mesh appear in the UV Editor.

Rearrange UV maps
Rearrange UV maps

Step 19

Move and adjust the propeller UVs inside the grid. 

Press A to deselect the
vertices, move the mouse over any of the UV island and press L to select it and
G to move. 

To see more commands and shortcuts, go to step 11.

Rearrange the vertices
Rearrange the vertices

Step 20

When done, Click on the UVs menu and select Export UV Layout. This will be
the guidelines to paint textures in the painting program.

Export UV Layout
Export UV Layout

Select the PNG Format and decrease the Fill Opacity to 0.00.
I kept the default size of 1024×1024 pixels.

Export settings
Export settings

Step 21

Now we will bake the Ambient Occlusion data onto the image. This will add
shadow information to a new image, which will be helpful while painting texture
in paint program. 

In the UV Editor, press
New button to create a new image onto which you will bake the AO data.

Create new image
Create new image

I changed the size to 1024×1024 pixels. Press OK.

Image settings
Image settings

A new image is added in the UV Editor.

Default black image
Default black image

Step 22

In the 3D view, press A to select all vertices and then press W to bring the
Specials menu. Select Shade smooth. This will give smooth look to the model.

Set mesh to Shade Smooth
Set mesh to Shade Smooth
  • Press A to deselect the vertices. 
  • Select only the propeller blades and
    center. 
  • Move the mouse over the mesh of the propeller and press L to select each 
    blade and the center part. 
  • Press 3 in the number pad to get into side view. 
  • Move the selection away from the plane temporarily so that their shadow does not
    appear on the plane, while baking the AO data. 
  • Press Tab to exit edit mode.
Move the propeller away
Move the propeller away

Step 23

Click on the World settings button in the properties window. In the Gather
panel, increase the Samples to 15. Higher value will give smooth and noiseless
results.

Ambient Occlusion settings
Ambient Occlusion settings

Step 24

  • Click on the Render settings button in the properties window. 
  • In the Bake
    panel, Select Ambient Occlusion in the Bake Mode
  • Tick the Normalized checkbox. 
  • Set Margin to 12 or 16 pixels.
Bake settings
Bake settings

Press the Bake button. After few seconds the image will be updated. In
the 3D View, press Alt-Z to view the model with textured applied. Use Alt-Z
again to toggle back to shaded view.

Ambient Occlusion baked on an image
Ambient Occlusion baked on an image

Step 25

In the UV Editor, click on the Image menu and select Save As Image to save
the image.

Save Image
Save Image

In the Save As Image panel, select PNG file format. Choose RGBA to save
transparent image without black background. 

Type in the name for the file and
press the Save button.

Save image as png
Save image as png

Texturing and Painting

Step 1

Open the image with Baked AO data, in your favorite image editor. You can use
Gimp or Photoshop.

Open image in Gimp
Open image in Gimp

In a new layer on top, put the UV Layout you exported.

Add UV layer
Add UV layer

Step 2

Create a new layer in between the Wire and AO layer. This will be the layer
on which you can paint the texture. You can create more layers for painting but
keep them between the Wire and AO Layers.

Add another layer in between
Add another layer in between

Step 3

Paint the texture with the wire-frame as guidelines.

Paint colors in a separate layer
Paint colors in a separate layer

Step4

Add another layer and draw the detail lines. Paste the logos/symbols in
their own layer.

Add details and logo
Add details and logo

Step 5

Set the paint layer to Multiply or hard light or overlay. You will notice the
AO layer will give a nice shadow effect. You can adjust the levels/contrast of
the AO layer to decrease the intensity of shades. 

Save the image in .psd format.
Turn off the layer visibility for the UV wire layer and export it to .png or
jpeg format.

Layer settings
Layer settings

Step 6

In 3D viewport (in Blender) and in the edit mode, select all vertices of the
plane by pressing A key. Open your exported PNG image, in the UV Editor.

Open exported image
Open exported image

Step 7

If you don’t see the texture on the model in the 3D view, Press Alt-Z
to enable Texture View Mode.

Texture map applied to object
Texture map applied to object

Step 8

With the plane selected, click on the Materials button in the properties
window and click on the New button to assign a new material. 

Rename the
material. In the shading panel, check the Shadeless Tickbox. Since I have baked
the Ambient Occlusion data onto the texture, I can set the material to be
shadeless.

Uncheck it if you want to have dynamic light and shades onto the
object. You can also turn off the AO layer while painting texture in Photoshop
or Gimp and export only the colour map.

Material settings
Material settings

Step 9

Click on the Texture button in the properties window. Press the New button.
Rename the texture to whatever you want. In the Image panel, open and
browse for the texture image. 

In the Mapping panel, make sure to select
UV for Coordinates.

Texture settings
Texture settings

Creating Variations

Step 1

Turn off the visibility of the painted layer. Add another layer and create
paint with different colour scheme. Export the image with different name in jpg
or png format.

Add new layer in Gimp
Add new layer in Gimp

Step 2

In Blender, ensure you are in object mode. Press Tab to exit edit mode.
Secondary-click on the plane to select it. Press Shift-D to make a duplicate. Move
the mouse and primary-click to confirm.

Duplicate the object
Duplicate the object

Step 3

Press Tab to enter edit mode. In the UV Editor, click on the Image menu and
Open the new exported image.

Open exported image
Open exported image

Step 4

With the new duplicated plane selected, press the Materials button in the
properties window. Click on the number against the name of the material to make
it a duplicate for the new model. Rename the material.

Material Settings
Material Settings

Step 5

Click on the texture button in the properties window. Click on the number
button to make a new copy of the texture for this new model. 

Rename the texture.
In the Image panel, browse for the new image.

Texture Settings
Texture Settings

Step 6

The aeroplane set is now ready for the game.

Airplane ready for games
Airplane ready for games

Download Creating a Low Poly Aeroplane Set for Games: Part 2

5 Inspirational Black and White Images and How to Make Your Own

The time of
associating black and white photography simply with old photographs has passed. Many digital photographers
choose to work in monochrome, often to great effect, but why?

There are many
reasons to photograph in black and white, or to post-process it that way afterwards,
but it’s also something that can be easily misused or not done to full effect.
Here we’ll look at some effective ways to use black and white as well as some
great examples to inspire you.

What You Need

The Kit

In respect of the
kit you need to take a digital black and white image, it’s the same as if you were
taking anything else. There’s nothing special you need to take a good black and
white photograph, but there are a few small things that can help.

Neutral Density Filters

Neutral density
filters go over your lens to block out the light. The extent to which they do
this depends on the ‘stop’ of the glass. A 10 stop ND filter, for example, is the
equivalent of blocking 10 stops of light, or reducing the light by 1000x. This
allows you to have the shutter open for longer (with tripod) to create more
dramatic skies or water.

These filters also
come in graduated versions, meaning you can choose to block the light from a
particular part of your image; just the sky for instance.

Polarising Filter

A polarising filter
reduces a particular wavelength, or family of wavelengths, from your image. These can cut reflections and make certain colours appear more saturated. Polarising filters are particularly useful for black and white photography as you can create a greater contrast
without losing detail in the highlights.

A Good Subject

As with anything in
photography, you need a good subject as the focus of your image. Not everything
looks great in monochrome but the brilliant thing about shooting in digital is
that you get the chance to make that decision later. Still, it pays to think
about what you’re shooting in advance.

When you’re thinking about the subject you also need to think about the background. An abandoned building may look great against a plain sky or field for example, but not so good in the midst of a city and its clutter.

Black and white really brings out texture and shape, so something may have more appeal once you lose the colour, than it did before.

Inspiration

City

city
Image: Photodune

Sometimes
I’m so taken by all the vibrant colours of a city at night that I never even
give thought to the fact that it could look amazing in monochrome. The muted
tones in this image make it so sleek and simple, it’s incredibly effective.

Abstract

abstract
Image: Photodune

Abstracts and architectural elements often look great in black and white, allowing you to focus
more on texture, shape and symmetry.

Flat Light

flat light
Image: Photodune

Flat light isn’t always a bad thing. As in cases like the picture above, flat light
can actually enhance your image. Softer highlights and midtones help to dramatize
the shadows, creating interesting lines from the trees.

Portrait

portrait
Image: Photodune

The soft greyscale
here really compliments this subject. The subtle centre spotlight keeps our
attention on her rather than the city but the buildings provide a great frame
and don’t distract due to their lack of colour.

Rain

rain
Image: Photodune

Although I’m convinced this would have worked in colour too, there’s no
doubting that the drama in this image has been enhanced by choosing to display
it in black and white. As it’s clearly stormy (we see rain, grey skies and the
flags blowing) then the choice of colour (or lack thereof in this case) really
hammers home how we’re supposed to interpret this image.

Technique

Colour

We can’t talk about monochrome without also talking about colour. The temperature of an
image, what people are wearing and the background colours can all be an
integral part of how we see the picture. Take away the colour, take away
distractions.

This will shift
your focus to other points; do all of the elements now work together? Is there
enough definition between foreground and background?

Communicate

If you want to make
great black and white imagery then there’s probably a reason. So, what is it?
What do you want to communicate to your audience?

Softer tones in
black and white, or greyscale photographs can convey love, mystery,
romanticism! Think of old black and white movies: just the term ‘old black and
white’ movies conjures up a sense of nostalgia and it can be the same with your
photographs.

Contrast

When we think black
and white, we can tend to think drama, lots of contrast and deep tones. It’s
almost the opposite of what we think of in a colour photograph. When was the
last time you tried to make a colour landscape have as much contest as
possible?

Our eyes are drawn
to contrast; the differences between the light and dark parts of your image.
Increasing the difference gives it more and decreasing it, less.

An image doesn’t
always need this ‘pop’ though, it depends entirely on what you’re trying to
convey. A landscape might have more drama and ‘ooh’ factor with dark shadows
and bright highlights, but what about a portrait? Images don’t always have to have punch to them. The look of a picture and its interpretation can often come down to the light. You don’t need fat white clouds or bright sunshine to get a great black and white photograph. Think of a dull, misty day with flat light, like one of our examples had above. Would that have worked quite as well with full drama?

Composition

Negative space becomes easier to
showcase when you take away colour. Think of a boring, empty sky in colour. It
may be blue, it may be dull grey but there still won’t be much of interest for
a viewer. Now consider that same sky in black and white: suddenly it’s great ‘negative’
space and can help make your subject really stand out in comparison.

Leading lines and textures also work
well when you ditch the complication of colour. Something that is ‘ugly’ to see
in colour, can become an interesting study in shape or texture when in black
and white. Think of black mold on a white tiled wall, or dirty puddles on a
light pavement.

Capture in RAW

RAW files give you
much more scope when it comes to post-processing. They retain all of the data from your
sensor without compressing or losing any information. You need a parametric
image editor like Adobe Camera RAW or Lightroom to make sense of this data, but it means you
can make far more intricate changes without losing quality, than you could
shooting JPEG.

Post Processing

I’ve already mentioned shooting in RAW and making some edits there, but
there are alternatives when processing. A favourite of mine, is Nik’s Silver Efex Pro 2, part of the
Nik Collection
, formerly paid for software which is now free to use.

This software has a range of black and white adjustments that are
incredibly quick and easy to use. You can choose pre-sets and leave them ‘as is’,
or you can fine tune each one to get a really bespoke look.

Potential Problems

Grain, or noise shows up much more in black and white images. This is not
necessarily a problem though! Some monochrome images look great with a bit of
texture and it can in fact improve their appearance and enhance the mood you’re
trying to convey.

Over-editing can be a problem too. Too many adjustments can leave an
image looking overdone, so knowing when to stop is a real skill. Working on
non-destructive layers and saving your progress as an editable file like a PSD
in Photoshop means that if you make a mistake or you have your image printed
and it doesn’t look great, you can go back and work on your picture without
starting from scratch.

Top Tips to Getting Monochrome Shots

  1. Try
    filters to add drama to skies and water, or to reduce reflections.
  2. Don’t
    rely on post-processing to make a great image: have in mind what you want
    to achieve from the start.
  3. Shoot
    in RAW to capture as much image data as possible.
  4. Think
    about key elements like light, contrast and negative space.
  5. Try
    a free resource like Silver Efex Pro to really give your pictures a punch.

Further Resources

Final Thoughts

I think most of us
enjoy nice monochrome images. We see the world in colour and having it
presented to us in a different and more abstracted way can create real
intrigue.

Whether it’s high
contrast and drama, or something more subtle in soft grey tones, there’s no
denying that black and white, when used well, can have great impact and effect.
Remember to try and picture what it is you want, as you’re shooting. Even
though we have the benefit of digital, it still helps other aspects of your image,
like composition, to have a goal in mind before you get to the processing
stage.

If you’re unsure as
to whether something would look right in black and white then try and look at
the scene objectively. Is the scene ‘busy’? Are there a lot of colours and do
those colours clash horribly or work well? If the colours are a distraction or
there’s too much going on then chances are it might work better in monochrome.

Try photographic
filters to help reduce reflections and to allow longer shutter speeds, which in
turn can create drama in movement. Shoot in RAW to be able to go further with
your adjustments and when post-processing, try not to go ‘too far’. Keep in
mind your original idea for the image and save your work as an editable file to
give you the chance to change your mind later without having to start over.

Finally, consider
using software to make your life easier. Free to use programs can give you as much or little control as you want and can yield some truly
spectacular results.

Download 5 Inspirational Black and White Images and How to Make Your Own

5 Courses to Get You Started With Game Design

If all the coverage of this week’s E3 expo has inspired you to improve your game design skills, read on. In this article, I’ll introduce you to five of our best game design courses. Whether you want to design characters, environments or landscapes, these comprehensive video courses will teach you everything you need to know.

1. Environment Concept Art for Games

In this course, concept artist and game designer Jonathan Lam will teach you how to paint environment concept art for video games. The course will take you through a step-by-step process of learning how to paint and design in Adobe Photoshop. Topics covered will include composition, value, painting with colour, lighting effects, and shape language.

2. Character Design & Animation for Games

This time, Jonathan Lam will take you through a step-by-step process from learning how to design your character to managing your assets in animation programs such as Spine. Topics covered will include sketching, asset creation, posing and basic movement.

3. Landscape Concept Art for Film and Games

In this short course, Brian Lee will walk you through his process of developing several designs as he would in a real production environment. This is an advanced course and moves very quickly from one concept to the next, covering concepts such as color, atmosphere, and composition.

4. Creating Compelling Environments for Concept Art

Join Kalen Chock to learn how to develop a compelling environment for games or film. You’ll learn the core principles of sketching, lighting, composition, color and design. At the end of this course, you will have learned the foundation of how to create your own compelling environments for concept art.

5. Design Isometric Environments for Games

In this course, Jonathan Lam will teach you how to create isometric props for your video game levels and scenery. This course will take you through a step-by-step process of learning how to sketch out and design your in-game assets using both Adobe Illustrator and Adobe Photoshop.

Start Learning With a Free Trial

You can take all of these and more game design courses with a free 10-day trial of our monthly subscription. So get started today, and who knows, maybe you’ll see one of your own games taking the limelight at a future E3.

And if you want some extra resources to help you with your projects, check out the range of beautifully designed sprites, backgrounds, and other game assets on Envato Market.

We also have some great free tutorials on game design, so check these out if you’d like to learn that way:

Download 5 Courses to Get You Started With Game Design

Breakdown of a Star Wars Scene Created With After Effects and Element 3D

In this tutorial I’ll breakdown this Star Wars inspired scene created using After Effects and the plug-in Element 3D V2

You can download the Star Wars models used for this tutorial free from Videocopilot.net

I’ll explore everything that went into creating this scene, from the composition and texturing, all the way to color-grading and final compositing.

Screencast

Mentioned in This Tutorial

Download Breakdown of a Star Wars Scene Created With After Effects and Element 3D

Taking Control of the tvOS Focus Engine

Introduction

On iOS, users normally interact with your apps via the device’s touch screen. On tvOS, however, user interaction is handled by moving the current focus between views on the screen.

Luckily, the tvOS implementations of the UIKit APIs handle the changing of focus between views automatically. While this built-in system works very well, for specific view layouts and/or purposes, it may be necessary to sometimes manually control the focus engine.

In this tutorial, we take an in-depth look at the tvOS focus engine. You learn how it works and how to control it however you want to.

Prerequisites

This tutorial requires that you are running Xcode 7.3 or higher with the latest tvOS 9.2 SDK. If you want to follow along, you also need to download the starter project from GitHub.

1. Focus Engine Overview

The purpose of the focus engine of tvOS is to help developers concentrate on their own app’s unique content rather than reimplementing basic navigation behaviors. This means that, while many users will use Apple TV’s Siri Remote, the focus engine automatically supports all current and future Apple TV input devices.

This means that, as a developer, you don’t have to worry about how a user is interacting with your app. Another important goal of the focus engine is to create a consistent user experience between applications. Because of this, there is no API that allows an application to move the focus.

Focus Movement

When the user interacts with the remote of the Apple TV by swiping on the glass Touch surface in a particular direction, the focus engine looks for a possible focusable view in that direction and, if found, moves the focus to that view. If no focusable view is found, the focus remains where it currently is.

In addition to moving the focus in a particular direction, the focus engine also handles several other, more advanced behaviors, such as:

  • moving the focus past particular views if, for example, the user swipes fast on the Touch surface of the Apple TV remote
  • running animations at speeds based on the velocity of the focus change
  • playing navigation sounds when the focus changes
  • animating scroll view offsets automatically when the focus needs to move to a currently off-screen view

When determining where the focus should move to in an app, the focus engine takes an internal picture of your app’s current interface and highlights all of the visible elements that are focusable. This means that any hidden views, including views with an alpha value of 0, cannot be focused. This also means that, for any view that is hidden by another view, only the visible part is considered by the focus engine.

If the focus engine finds a view it can move the focus to, it notifies the objects conforming to the UIFocusEnvironment protocol that are involved with the change. The UIKit classes that conform to the UIFocusEnvironment protocol are UIWindow, UIViewControllerUIView, and UIPresentationController. The focus engine calls the shouldUpdateFocusInContext(_:) method of all the focus environment objects that contain either the currently focused view or the view the focus is moving to. If any of these method calls returns false, the focus is not changed.

Initial Focus

The UIFocusEnvironment protocol represents an object that is known as a focus environment. The protocol defines a preferredFocusView property that specifies where the focus should move to if the current environment becomes focussed itself.

For example, a UIViewController object’s default preferredFocusView is its root view. As each UIView object can also specify its own preferred focus view, a preferred focus chain can be created. The tvOS focus engine follows this chain until a particular object returns either self or nil from its preferredFocusView property. By using these properties, you can redirect focus throughout the user interface and also specify which view  should be focussed first when a view controller appears on-screen.

It is important to note that, if you don’t change any of the preferredFocusView properties of your views and view controllers, the focus by default engine focuses the view closest to the top left corner of the screen.

Focus Update

A focus update occurs when one of three events take place:

  • the user causes a focus movement
  • the app explicitly requests a focus update
  • the system triggers and automatic update

Whenever an update takes place, the following events follow:

  • The current UIScreen object’s focusedView property is changed to the view that the focus is moving to.
  • The focus engine calls the didUpdateFocusInContext(_:withAnimationCoordinator:) of every focus environment object involved in the focus update. These are the same set of objects which the focus engine checks by calling each object’s shouldUpdateFocusInContext(_:) method before updating the focus. It is at this point that you can add custom animations to run in conjunction with the focus-related animations the system provides.
  • All of the coordinated animations, both system and custom animations, are run simultaneously.
  • If the view the focus is moving to is currently off-screen and in a scroll view, the system scrolls the view on-screen so that the view becomes visible to the user.

To manually update the focus in the user interface, you can invoke the setNeedsFocusUpdate() method of any focus environment object. This resets the focus and moves it back to the environment’s preferredFocusView.

The system can also trigger an automatic focus update in several situations, including when a focussed view is removed from the view hierarchy, a table or collection view reloads its data, or when a new view controller is presented or dismissed.

While the tvOS focus engine is quite complex and has a lot of moving parts, the UIKit APIs provided to you make it very easy to utilize this system and make it work how you want it to.

2. Controlling the Focus Engine

Focus Guides

To extend the focus engine, we are going to implement a wrap-around behavior. Our current app has a grid of six buttons as shown in the below screenshot.

Project Setup

What we are going to do is allow the user to move the focus towards the right, from buttons 3 and 6, and make the focus wrap back around to buttons 1 and 4 respectively. As the focus engine ignores any invisible views, this can not be done by inserting an invisible UIView (including a view with a width and height of 0) and changing its preferredFocusedView property.

Instead, we can accomplish this using the UIFocusGuide class. This class is a subclass of UILayoutGuide and represents a rectangular focusable region on the screen while being completely invisible and not interacting with the view hierarchy. On top of all the UILayoutGuide properties and methods, the UIFocusGuide class adds the following properties:

  • preferredFocusedView: This property works as I described earlier. You can think of this as the view that you want the focus guide to redirect to.
  • enabled: This property lets you enable or disable the focus guide.

In your project, open ViewController.swift and implement the viewDidAppear(_:) method of the ViewController class as shown below:

override func viewDidAppear(animated: Bool) {
    super.viewDidAppear(animated)
    
    let rightButtonIds = [3, 6]
    for buttonId in rightButtonIds {
        if let button = buttonWithTag(buttonId) {
            let focusGuide = UIFocusGuide()
            view.addLayoutGuide(focusGuide)
            focusGuide.widthAnchor.constraintEqualToAnchor(button.widthAnchor).active = true
            focusGuide.heightAnchor.constraintEqualToAnchor(button.heightAnchor).active = true
            focusGuide.leadingAnchor.constraintEqualToAnchor(button.trailingAnchor, constant: 60.0).active = true
            focusGuide.centerYAnchor.constraintEqualToAnchor(button.centerYAnchor).active = true
            focusGuide.preferredFocusedView = buttonWithTag(buttonId-2)
        }
    }
    
    let leftButtonIds = [1, 4]
    for buttonId in leftButtonIds {
        if let button = buttonWithTag(buttonId) {
            let focusGuide = UIFocusGuide()
            view.addLayoutGuide(focusGuide)
            focusGuide.widthAnchor.constraintEqualToAnchor(button.widthAnchor).active = true
            focusGuide.heightAnchor.constraintEqualToAnchor(button.heightAnchor).active = true
            focusGuide.trailingAnchor.constraintEqualToAnchor(button.leadingAnchor, constant: -60.0).active = true
            focusGuide.centerYAnchor.constraintEqualToAnchor(button.centerYAnchor).active = true
            focusGuide.preferredFocusedView = buttonWithTag(buttonId+2)
        }
    }
}

In viewDidAppear(_:), we create focus guides to the right of buttons 3 and 6, and to the left of buttons 1 and 4. As these focus guides represent a focusable region in the user interface, they must have a set height and width. With this code, we make the regions the same size as the other buttons so that the momentum-based logic of the focus engine feels  consistent with the visible buttons.

Coordinated Animations

To illustrate how coordinated animations work, we update the alpha property of the buttons when the focus changes. In ViewController.swift, implement the didUpdateFocusInContext(_:withAnimationCoordinator:) method in the ViewController class:

override func didUpdateFocusInContext(context: UIFocusUpdateContext, withAnimationCoordinator coordinator: UIFocusAnimationCoordinator) {
    super.didUpdateFocusInContext(context, withAnimationCoordinator: coordinator)
    
    if let focusedButton = context.previouslyFocusedView as? UIButton where buttons.contains(focusedButton) {
        coordinator.addCoordinatedAnimations({ 
            focusedButton.alpha = 0.5
        }, completion: { 
            // Run completed animation
        })
    }
}

The context parameter of didUpdateFocusInContext(_:withAnimationCoordinator:) is a UIFocusUpdateContext object that has the following properties:

  • previouslyFocusedView: references the view the focus is moving from
  • nextFocusedView: references the view the focus is moving to
  • focusHeading: a UIFocusHeading enumeration value representing the direction the focus is moving in

With the implementation of didUpdateFocusInContext(_:withAnimationCoordinator:), we add a coordinated animation to change the alpha value of the previously focused button to 0.5 and that of the currently focused button to 1.0.

Run the app in the simulator and move the focus between the buttons in the user interface. You can see that the currently focused button has an alpha of 1.0 while the previously focused button has an alpha of 0.5.

Transparent Buttons

The first closure of the addCoordinatedAnimations(_:completion:) method works similarly to a regular UIView animation closure. The difference is that it inherits its duration  and timing function from the focus engine.

If you want to run an animation with a custom duration, you can add any UIView animation within this closure with the OverrideInheritedDuration animation option. The following code is an example of how to implement a custom animation that runs in half the time of the focus animations:

// Running custom timed animation
let duration = UIView.inheritedAnimationDuration()
UIView.animateWithDuration(duration/2.0, delay: 0.0, options: .OverrideInheritedDuration, animations: { 
    // Animations
}, completion: { (completed: Bool) in
    // Completion block
})

By using the UIFocusGuide class and by utilizing custom animations, you can extend the standard behavior of the tvOS focus engine to suit your needs.

Limiting the Focus Engine

As I mentioned earlier, when deciding whether or not the focus should be moved from one view to another, the focus engine calls the shouldUpdateFocusInContext(_:) method on every focus environment involved. If any of these method calls returns false, the focus is not changed.

In our app, we are going to override this method in the ViewController class so that the focus cannot be moved down if the currently focused button is 2 or 3. To do so, implement shouldUpdateFocusInContext(_:) in the ViewController class as shown below:

override func shouldUpdateFocusInContext(context: UIFocusUpdateContext) -> Bool {
    let focusedButton = context.previouslyFocusedView as? UIButton
    
    if focusedButton == buttonWithTag(2) || focusedButton == buttonWithTag(3) {
        if context.focusHeading == .Down {
            return false
        }
    }
    
    return super.shouldUpdateFocusInContext(context)
}

In shouldUpdateFocusInContext(_:), we first check whether the previously focused view is button 2 or 3. We then inspect the focus heading. If the heading is equal to Down, we return false so that the current focus does not change.

Run your app one last time. You cannot move the focus down from buttons 2 and 3 to buttons 5 and 6.

Conclusion

You should now be comfortable controlling and working with the focus engine of tvOS. You now know how the focus engine works and how you can manipulate it to fit whatever needs you have for your own Apple TV apps.

As always, be sure to leave your comments and feedback in the comments below.

Download Taking Control of the tvOS Focus Engine

10 Ways To Share Your Business Video

You’ve created a
compelling video about your business. You’ve invested time and money in the
content and messaging, and are confident it sells. How do you get people to
watch it when there’s so much competition for eyeballs online?

TV screens
Untitled by geralt/Pixabay

Uploading your video to YouTube is a no-brainer. But don’t stop there! You need to share that
video far and wide to maximize reach and engagement.

Here are ten ways
to share your business video, with tips and best practices for each.

YouTube

YouTube is the
second largest search engine online after Google, so uploading your video here
is essential. YouTube is especially well suited for educational content such as
“how to” videos and product demonstrations. The downside? There are hundreds of
millions of hours of videos on YouTube, and getting found can be difficult. Bringing traffic back to your website is even harder still.

Tips: Fill out the
title and description of each video with relevant keywords and tags for search engine optimization (SEO). Organize your videos into clearly defined playlists so they’re easy to find on your channel. Use YouTube cards
to direct people to your website or related content when they’re finished
watching.

Vimeo

If you’re more
interested in a quality viewing experience than being found, upload your video
to Vimeo. This platform doesn’t have nearly as big an audience as YouTube, but there are no banner or pre-roll ads or distracting cat videos. The other plus? Your video will plays in high definition without the viewer having to adjust
settings.

Tip: Create a
custom thumbnail image for your video after you’ve uploaded it. You can almost always do better than the
one selected automatically! 

Your Website

Once you’ve
uploaded your video to YouTube or Vimeo, grab the embed code and post
it on your company’s website. Make your video a prominent size and place it “above
the fold” – in other words, high on a page instead of buried at the bottom.

You can host your own video, but specialized video hosting services, like Wistia (the service we use to host our course videos), VHX, and Uscreen offer solid advantages for certain kinds of business video. These “white label” hosts let you display video on your site without any unwanted branding (or with your own), provide robust metrics and engagment tools, and won’t try and drive your traffic back to their platform.

Website with video
A website with the video placed “above the fold” by Cindy Burgess

Don’t forget to write
a blog post about your video too!

Tip: Avoid auto
play. Most viewers like to have control over when or whether a video plays.

Social Media Sites

Social media sites
like Facebook, Twitter, LinkedIn, Google+, Instagram, and Pinterest are made for sharing. Post your video to
all of your company’s social media accounts – repeatedly. Keep in mind that not
everyone is going to see your video the first time you post it.

Whenever possible, upload your video directly to the platform in question, rather than posting a link to YouTube. Sites like Facebook give a higher priority to videos that are uploaded natively. Also, consider
making different versions of your video for different social media sites. For example,
you might want to create a 15-second teaser video for Instagram to drive traffic to the
full-length video on your website.

Tip: Use online tools
like Hootsuite to schedule your posts at different hours and on different days
to maximize viewing.

Newsletters

Add your video to
the next email blast or newsletter you send out to clients. They’re already
interested in the content you provide, so chances are you’ll have a high click
rate.

Newsletter with video
A newsletter with embedded video by Cindy Burgess

Tip: Encourage
clients to share your video with others. Ask them what kind of video content
they’d like to see in the future.

Email Signature

Promote your video
in your email signature. Just write a line of text to tease the video, then add
a hyperlink. Here’s a fictional example to illustrate what I’m talking about:

John Doe | Widgets Inc. | (555) 123-4567
Have you seen our
newest product line? Watch the
video!

Tip: Change the
signature every time you release a new video.

Press Releases

Most press
releases are sent online these days, so it’s easy to link to a video. The next
time your business introduces a new product or service or wins an award, make
sure the press release includes a link to your video.

Tip: Include an
eye-catching thumbnail image to entice people to click on the video.

Partner Blogs

Contact your
industry partners and ask if they’ll feature your video content on their blog
or social media sites. For example, one of my clients is a golf pro who created
a series of short tip videos. She has sponsors for clubs, tees, and clothing
that might be interested in sharing her videos because they serve the same
audience.

Tip: Offer to
promote some of their content in exchange.

Community Web Sites

Many communities
have blogs or websites that profile local businesses and people, and they’re
usually hungry for free content. It’s worth searching online to see what’s out
there. Ask if they’d be interested in linking to your video or writing a blog
post about it.

Tip: Offer to
write a short introduction to the video to help make their job easier.

Stores, Trade Shows, Conferences

If you have a
bricks-and-mortar storefront, set up a flat screen monitor to play your video. Same goes for trade shows and conferences where your business
might have a booth.

Tip: Make a
version of your video with subtitles so you can play it without audio.

Conclusion

As you can see,
there are lots of ways to share your business video beyond YouTube. Which
methods you choose will depend on your business and the type of video you’ve
created. So start experimenting!

Download 10 Ways To Share Your Business Video

Quick Tip: How to Use Zeplin to Generate Style Guides

We previously covered how designers can collaborate with the dev team using Zeplin, but there’s a bit more to it; Zeplin is a great tool for generating style guides too. It makes sure your team creates consistent experiences by having an up-to-date online guide accessible to everyone from anywhere. 

It allows you to save and rename fonts and colour information, and even export CSS. The style guide and the inspect feature will save a lot of effort when the time comes for QA (quality assurance). Let’s quickly see how it works!

Adding Styles

First, select a screen from the project dashboard.

Then select the element whose properties you want to add to the style guide (for example: select H1 title to add its font family, size and colour).

Next, hover over the inspector tool and look for the icon Aa+ which will appear by the text styles to add them to the font book:

selected titles properties in zeplin
Selected title and its properties in the inspector

Adding colours works in a similar way. Click the drop icon next to each one to build your colour palette:

same deal with colours
Same deal, with colours

Your Style Guide

To see your style guide in action, select the second tab Styleguide at the top of the page:

All the previously added elements will be there. You can now go ahead and give each one a more suitable name. To do this, hover over the default colour name and click to change it.

Note: use names and naming conventions which are familiar to the entire team):

Do the same for fonts; update them with a name which designers and devs will both be familiar with. Don’t forget you’re helping with the dev handover, but also creating a repository for other designers to use.

What you’ll end up with is something like this:

Exporting

At this point, if you’re part of the dev operation, you might want to copy the CSS from the right-hand side column. You’ll find it’s available in whichever syntax you prefer; Sass, LESS, Stylus, or plain CSS.

Each rule can be individually selected for download, whilst Command + A will select everything for copying and pasting. 

Conclusion

No more outdated style guides saved somewhere no one can find, no more chains of emails to find out the latest colour; Zeplin can help your whole team design efficiently. Cheers to productivity!

Download Quick Tip: How to Use Zeplin to Generate Style Guides

New Course: How to Record Better Travel Videos

You often see amazing sights when you travel, but creating a video that other people want to watch is harder than it seems.

In our new course, How to Record Better Travel Videos, you’ll learn how to prepare for and capture the highlights of your trip and tell video stories that are worth watching and sharing! 

What You’ll Learn

Cindy Burgess has been telling stories with video for more than 20 years, and in this course she’ll teach you all about must-pack items, proper recording techniques, how to tell a story through characters, setting and natural sound, how to deal with local customs and culture, how to protect your gear from the elements, and more!

Watch the Introduction

Start Learning With a Free Trial

You can take our new course straight away with a free 10-day trial of our monthly subscription. If you decide to continue, it costs just $15 a month, and you’ll get access to hundreds of courses, with new ones added every week.

You can also find some useful resources for improving your travel videos on Envato Market. There are thousands of professional-looking transitions, backgrounds, overlays, and more.

Download New Course: How to Record Better Travel Videos

Take Our New Course on Dynamic Gesture Drawing

Final product image
What You’ll Be Creating

Want to improve your drawing technique? In our new course, Dynamic Gesture Drawing, digital artist Brian Lee will teach you the fundamentals of gesture drawing step by step. 

You will learn the importance of refining gestures into lines of action and simple shapes, creating strong silhouettes, effectively using negative space, and projecting ideas from a pose rather than just structural anatomy. Finally, you’ll learn how to tell stories with different gestures. By the end of this course you should be able to draw any gesture you want.

You can take our new course straight away with a free 10-day trial of our monthly subscription. If you decide to continue, it costs just $15 a month, and you’ll get access to hundreds of courses, with new ones added every week.

Download Take Our New Course on Dynamic Gesture Drawing

How to Use Ajax With OpenCart

The inclusion of jQuery libraries in the core of OpenCart makes Ajax implementation a breeze and more than a pleasant experience. In fact, you’ll find several snippets spread across the whole framework that show the heavy use of jQuery, if you try to dig into the view files specifically.

Throughout the course of this article, we’ll build a custom page to demonstrate the use of Ajax in OpenCart. It’ll be a simple interface that allows you to select a product from the drop-down box and displays a nice product summary block of the selected product. The interesting part of the use-case is the way the product summary block is built—it’ll be prepared using Ajax on-the-fly. Of course, it’s not something that makes it an out of the world example, but I guess it’ll serve the basic purpose of showing how things work in OpenCart.

I assume that you’re using the latest version of OpenCart, which is 2.1.x.x! Also, the primary discussion of this article concentrates on Ajax with OpenCart, so I’ll skid through the basics of custom module development in OpenCart. However, if you’re not familiar with it, a quick explanation of the code snippets in between makes sure that you can follow till the end!

A Quick Glance at File Organization

Let’s quickly go through the file setup required for our custom page.

  • catalog/controller/ajax/index.php: It’s a controller file that provides the application logic of the usual controller in OpenCart.
  • catalog/language/english/ajax/index.php: It’s a language file that helps set up language labels.
  • catalog/view/theme/default/template/ajax/index.tpl: It’s a view template file that holds the XHTML of the custom page.
  • catalog/view/theme/default/template/ajax/product.tpl: It’s a view template file that holds the XHTML of the AJAX response.

So, that’s a quick list of the files we’re going to implement today.

Create Module Files

Go ahead and create a file catalog/controller/ajax/index.php with the following contents.

<?php
// catalog/controller/ajax/index.php
class ControllerAjaxIndex extends Controller {
  public function index() {
    $this->load->language('ajax/index');
    $this->load->model('catalog/product');
    
    $this->document->setTitle($this->language->get('heading_title'));
    
    // load all products
    $products = $this->model_catalog_product->getProducts();
    $data['products'] = $products;
    
    $data['breadcrumbs'] = array();

    $data['breadcrumbs'][] = array(
      'href' => $this->url->link('common/home'),
      'text' => $this->language->get('text_home')
    );

    $data['breadcrumbs'][] = array(
      'href' => $this->url->link('ajax/index'),
      'text' => $this->language->get('heading_title')
    );

    $data['heading_title'] = $this->language->get('heading_title');
    $data['text_product_dropdown_label'] = $this->language->get('text_product_dropdown_label');

    $data['column_left'] = $this->load->controller('common/column_left');
    $data['column_right'] = $this->load->controller('common/column_right');
    $data['content_top'] = $this->load->controller('common/content_top');
    $data['content_bottom'] = $this->load->controller('common/content_bottom');
    $data['footer'] = $this->load->controller('common/footer');
    $data['header'] = $this->load->controller('common/header');

    if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/ajax/index.tpl')) {
      $this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/ajax/index.tpl', $data));
    } else {
      $this->response->setOutput($this->load->view('default/template/ajax/index.tpl', $data));
    }
  }
 
  // ajax call method
  public function ajaxGetProduct() {
    if (isset($this->request->get['product_id'])) {
      $product_id = (int) $this->request->get['product_id'];

      if ($product_id > 0) {
        // load the particular product requested in ajax
        $this->load->model('catalog/product');
        $product = $this->model_catalog_product->getProduct($product_id);
        $data['product'] = $product;
        
        // prepare thumb image
        $this->load->model('tool/image');
        if ($product['image']) {
          $data['thumb'] = $this->model_tool_image->resize($product['image'], $this->config->get('config_image_thumb_width'), $this->config->get('config_image_thumb_height'));
        }
        
        // format price
        $data['price'] = $this->currency->format($this->tax->calculate($product['price'], $product['tax_class_id'], $this->config->get('config_tax')));
        
        $this->load->language('product/product');
        $data['text_manufacturer'] = $this->language->get('text_manufacturer');
        $data['text_model'] = $this->language->get('text_model');
        $data['text_note'] = $this->language->get('text_note');
        $data['tab_description'] = $this->language->get('tab_description');
        
        if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/ajax/product.tpl')) {
          $this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/ajax/product.tpl', $data));
        } else {
          $this->response->setOutput($this->load->view('default/template/ajax/product.tpl', $data));
        }
      }
    }
  }
}

To start with, the index method of the controller is used to load the language and model files and set up the common variables for the usual OpenCart template. We’re loading the product model available in the core itself, so we don’t have to duplicate the code to fetch the product information.

After loading the product model, we’re using the getProducts method to load all the products. Finally, we conclude the index method by setting index.tpl as our main template file.

Next is the important ajaxGetProduct method, which is used to build a product summary block based on the product id passed in the Ajax call, as we’ll see soon in the template file. It loads the same product model as we did in the index method, and calls the getProduct method to fetch specific product information based on the product id.

At the end, the product.tpl template is set as a template for this method. Specific to the requirements in our case, we’re using the template to build our Ajax output, but you could also send the JSON response instead.

Moving ahead, let’s create a language file catalog/language/english/ajax/index.php to hold the static label information.

<?php
// catalog/language/english/ajax/index.php
// Heading
$_['heading_title']            = 'Simple Ajax Example';
$_['text_product_dropdown_label']   = 'Select Product';

The view template file, one of the most important files in the context of this tutorial, should be created at catalog/view/theme/default/template/ajax/index.tpl with the following contents.

<!-- catalog/view/theme/default/template/ajax/index.tpl -->
<?php echo $header; ?>
<div class="container">
  <ul class="breadcrumb">
    <?php foreach ($breadcrumbs as $breadcrumb) { ?>
    <li><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a></li>
    <?php } ?>
  </ul>
  <div class="row"><?php echo $column_left; ?>
    <?php if ($column_left && $column_right) { ?>
    <?php $class = 'col-sm-6'; ?>
    <?php } elseif ($column_left || $column_right) { ?>
    <?php $class = 'col-sm-9'; ?>
    <?php } else { ?>
    <?php $class = 'col-sm-12'; ?>
    <?php } ?>
    <div id="content" class="<?php echo $class; ?>"><?php echo $content_top; ?>
      <h2><?php echo $heading_title; ?></h2>
      <fieldset id="account">
      <div>
        <label class="col-sm-2 control-label" for="product"><?php echo $text_product_dropdown_label; ?></label>
        <div class="col-sm-10">
          <select name="product" class="form-control" id="product">
            <option>-- <?php echo $text_product_dropdown_label; ?> --</option>
            <?php foreach ($products as $product) { ?>
              <option value="<?php echo $product['product_id']; ?>"><?php echo $product['name']; ?></option>
            <?php } ?>
          </select>
        </div>
      </div>
      </fieldset>
      <div id="product_summary"></div>
      <?php echo $content_bottom; ?></div>
    <?php echo $column_right; ?></div>
</div>
<?php echo $footer; ?>

<script type="text/javascript">
  $('#product').on('change', function() {
    $.ajax({
      url: 'index.php?route=ajax/index/ajaxGetProduct&product_id=' + this.value,
      dataType: 'html',
      success: function(htmlText) {
        $('#product_summary').html(htmlText);
      },
      error: function(xhr, ajaxOptions, thrownError) {
        alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
      }
    });
  });
</script>

The snippet of our interest is at the end of index.tpl, the JavaScript code that makes use of jQuery methods to bind change and Ajax events. When the user selects a product from the drop-down box, the change event is fired that eventually makes an Ajax call. In the Ajax call, we’re sending the product_id appended as a GET query-string variable.

On the other hand, as we’ve already discussed in the controller setup, the ajaxGetProduct sends the XHTML of the product summary block based on the product_id query-string variable. In the success method, we append the XHTML response to the div tag that has the id attribute set to product_summary.

Finally, go ahead and make a template file catalog/view/theme/default/template/ajax/product.tpl with the following contents for an Ajax call.

<!-- catalog/view/theme/default/template/ajax/product.tpl -->
<div style="border: 1px solid #CCC;padding:10px;margin:10px;">
  <h3><?php echo $product['name']; ?> - <?php echo $price; ?></h3>
  <p><img src="<?php echo $thumb; ?>"/></p>
  <p><b><?php echo $text_manufacturer; ?></b>&nbsp;<?php echo $product['manufacturer']; ?></p>
  <p><b><?php echo $text_model; ?></b>&nbsp;<?php echo $product['model']; ?></p>
</div>

Nothing fancy here—We’ve just included a basic product summary block XHTML.

So, that’s it as far as the file setup is concerned. In our next section, we’ll go through the front-end to test what we’ve built so far.

Front-End Testing

So we’ve done all the hard work, and now it’s time for some testing! Head over to the front-end of OpenCart and visit the URL http://www.yourstore.com/index.php?route=ajax/index. It should display a nice-looking interface as shown in the following screenshot.

Custom Page Drop-Down

It’s our custom page, and it’s displaying a drop-down box containing the list of all products. Now, let’s try to select a product from the select box, and it’ll make an Ajax call in the background.

As a result, you should see a nice product summary block displayed right under the drop-down box as shown in the following screenshot.

AJAX Preview

If you’ve followed the tutorial and implemented all the files as explained, it should work smoothly for you as well as it did for me! Of course, that was a pretty simple demonstration of how Ajax works in OpenCart, but you could stretch it to the next level as per your requirements.

Go ahead and play with it, and try to make some interactive stuff using Ajax as it’s the best way to learn. So, that’s it for today, and I’ll be back soon with some more exciting stuff.

Conclusion

It was Ajax with OpenCart that was the central attraction of today’s article. As usual, we took a custom module approach to demonstrate it and made a simple yet effective use-case. I hope that it was informative and useful, and don’t hesitate to leave your queries and comments!

Download How to Use Ajax With OpenCart

How to Master Proper Business Email Format – and Avoid Professional Disaster

Email has become the main way that many business professionals communicate. Most of us send out more business emails than any other form of business communication. 

Every day you have email going out to your boss, your clients, your vendors, and your professional contacts.

Your emails are important. A good email can lead to business success. While a bad email can harm a professional relationship, sidetrack your project, or cause damage to your reputation.

Despite its importance, email formatting is often ignored. Proper formatting improves the chances that a recipient will read, respond, and react positively to your email. 

In this tutorial, you’ll learn how to create professional business emails by using proper business email format. I’ll also provide you with examples of good and bad business emails which you an apply to your own communications. 

1. Find Your Business Email Audience

Not all email audiences are the same. For that reason, not all business email should be formatted and written in the same way. Some business email should be structured in a more formal style. But, if you’re more familiar with your recipient, it’s okay to structure your email in a less formal style.

The email style you choose determines your email opening and closing. It can also determine the language you use and the tone of the email. To learn more about formal and informal email style read my recent post:

Here’s a quick summary of some general rules about when to use a formal versus informal email style.

Use a formal email style:

  • if it is required in your organization
  • if the recipients are not well known to you
  • when sending an email to someone who is above you in authority such as your boss or a teacher

 Use an informal email style:

  • if it is encouraged in your organization (your boss and others use an informal style)
  • for a business colleague who is well-known to you and/or on friendly terms
  • for personal emails that may contain both business and non-business topics

The choice between formal and informal style varies from company to company. That’s why it’s important to know what’s accepted in your company. If you’re not sure whether you should use a formal email structure or an informal email structure, it’s often safer to use a more formal style.

2. Know the Structure of a Business Email

How you format your business email makes a difference. A good business email structure helps communicate your message clearly. A badly formatted email can leave a poor impression.

All good business emails should have at least these parts:

  • Subject Line. The subject line is the first part of the email your reader sees. It can determine whether your reader opens the email. Most experts agree that subject lines should be short (six to ten words) and specific.
  • Salutation. The salutation is how you great the reader. It’s important that you understand whether you are addressing a formal or informal audience.
  • Body Text. The body text conveys the main message of the email. It should also include an introduction and conclusion. It should be written in short paragraphs of one to two sentences. Where it will add clarity, use bulleted or numbered lists.
  • Signature. Your signature can be formal or informal, depending on your audience. A good email signature template helps your reader find all the information about you that they need. Enavto Market has helpful signature templates to make your email signature more professional.

Use a proper email format. Structure your email so that the first few sentences of the body text explain what the email is about. The last few sentences should be a conclusion that summarizes the business email. The conclusion is also a good place to include a call to action. A call to action tells the email reader what to do next and how to do it. 

3. The Problem With Most Emails

Many of us never learned the right way to structure a business email. That is why so many people just throw an email together and hope for the best. Sadly, those hasty emails often do more harm to our professional reputation than good.

In this section I dissect two poorly written and poorly formatted email samples We’ll look at both examples and I’ll explain what’s wrong with each of them. In the next section, I’ll do a make over on each of these emails and show you how to improve them.

Formal Email Example – Before

Here is an example of a formal email that was not formatted or written well. Take a minute to look at the example and see if you can tell what’s wrong with it. I’ll detail the problems with this email below.

Let’s look at this business email carefully to determine what’s wrong. Here are some of the problems:

  • Subject Line. The subject line “Stuff” is too short and too vague. It consists of only a single word. With this subject line, some email systems may even send it straight to the spam filter.
  • Salutation. The salutation of “Hey” is too informal for an introductory message like this. The email author mentions they’ve never met some of the team members.
  • Body Text. The body of this email is one giant paragraph. That makes it hard for the average reader to follow. The body also includes items that would be better if they were formatted as a list.
  • Typos and Grammar Problems. The body text includes several poorly worded phrases. There are some run-on sentences. There are also typos and even a repeated word, “make make.”
  • Poor or No Closing. “Catch you on the flip side” is too casual of a closing for most business emails.
  • Signature. There’s no signature for this email. If the team is a new one, they might wonder who the sender is.

It’s likely that the recipients of this email would miss some of the points being made due to the way it is formatted and worded. Plus, it looks sloppy and poorly organized. All in all, this email is not a good way to represent a business organization.

Many businesses would find the above email embarrassing. Yet it’s not unusual for a business professional to write emails quickly and without thinking. Some of those rushed emails include some of the same problems as our example email.

Informal Email Example – Before

Here is an example of an informal email that was badly formatted and poorly worded. Take a minute to look at it and see if you can tell what’s wrong. I’ll detail the problems with this email below.

Let’s look at each part of the email carefully to determine what’s wrong. Here are some of the problems:

  • Subject Line. The subject line “Get It Together!!!” is a little bit too short. It’s also vague and accusatory.
  • Salutation. The salutation of the person’s name is not horrible for an informal email. However, the three exclamation points add an unneeded angry or upset tone.
  • Introduction. There is no introductory paragraph in this email.
  • Body Text. The body text is all one paragraph. It is written in an angry tone with phrases like “Grrr” which aren’t helpful. It also includes emoticons, which are not generally acceptable in a business email.
  • Conclusion. There’s no concluding sentence. The recipient may be unsure of what to do next.
  • Signature. There’s no signature in this email.

Not only is this email poorly formatted, it also conveys an unprofessional, negative tone. Rather than getting the results the sender wants, it’s likely that the reader would become angry and defensive.

4. Now to Properly Format These Business Emails

Bad emails can be improved with effective editing and formatting. Let’s remake the previous emails to make them more effective. I’ll change the formatting and wording to show you how to fix the poor email examples.

Formal Email Example – After

Here is an example of the formal email, rewritten and reformatted to convey a more professional image.

Let’s look at what we did to improve the email:

  • Subject Line. The subject line is the ideal length, six to ten words. It’s also more specific. It identifies the project by name and describes the topic of the email.
  • Salutation. The new salutation makes it clear that this email is for the project team members.
  • Introduction. The introductory sentence tells the reader what the email is about. It also conveys a positive tone by using the word “Welcome.”
  • Body Text. The body text is neatly organized in short paragraphs of no more than three sentences. It also includes a numbered list that can be quickly scanned for easy comprehension.
  • Conclusion. The conclusion summarizes the post. It includes the call to action “Let me know if you have any questions.”
  • Signature. The signature block identifies the sender as the project team lead.

The revised email is a business communication that any organization would be proud of. It’s been reworked with a professional email format. It also conveys the message clearly and succinctly in a 

businesslike manner.

Tip: The email could be improved even further by including a professional email signature template such as the ones found in Envato Market  Here are three examples of how a professional email signature template could be used:

Corporate Email Signature Template
Corporate Email Signature template examples

Learn more about how to craft a professional email signature: 

Informal Email Example – After

Here is an example of an informal email, rewritten and reformatted to convey a more professional image:

 

 What changed? Let’s take a look:

  • Subject line. The subject line is more specific, without being accusatory. It also includes the words “Please Reply.” Many experts agree that including phrases like “Please Reply” or “Response Needed” make it more likely that an email recipient will respond.
  • Salutation. By adding the word “Hi” to the salutation we’ve softened the tone of the email. The reader is less likely to be defensive.
  • Introduction. The introduction explains what the email is about in two sentences.
  • Body Text. The tone in the body text is much more friendly. The aim is to get the project back on track, not to make the reader angry.
  • Conclusion. The conclusion encourages the reader to respond.
  • Signature. The simple signature is fine for an informal business email.

As you can see, friendly wording and better formatting leave the reader with a more positive impression. The reader of this email is much more likely to respond and the problem is more likely to be solved.

You can learn even more about composing effective emails in this Tuts+ tutorial from David Masters: 

5. How to Avoid Email Disaster

So how do you avoid email disaster? With considered planning you can master proper business email format and create an email that conveys your message without ruining your business reputation.

Here are four easy guidelines to writing proper business emails:

  1. Don’t Rush. A hurried email is often a badly formatted, badly written email. Allow yourself enough time to properly format every email you write.
  2. Avoid Emotion. It’s never a good idea to send out an email when you’re upset. Instead, wait until you have calmed down.
  3. Be Concise. Use short sentences and short paragraphs. If appropriate, make use of bulleted or numbered lists.
  4. Review. Double-check your email for typos, grammar mistakes, and other errors. It’s also a good idea to make sure all the parts of the email are included.

Conclusion

Your business emails can make the difference between achieving your business goal or making your company look bad. Put some thought into how your emails are worded and formatted.

Your emails are important! Set a goal to work on properly formatting all your business emails. To learn even more about writing effective business emails review our guide to Writing Effective Business Emails, or get started with the first tutorial in the multi-part series: 

Download How to Master Proper Business Email Format – and Avoid Professional Disaster