Martin Dahlin

Technical Artist

Nightshade UV Editor

NSUV is a Maya tool that offers extended utility to Maya's native UV Texture Editor; allowing artists to do UV work in a much quicker way than with just Maya's native UV editor. It started out as a small personal project for learning MEL, but was later re-written in PyMEL. This was my first tool that I created on my way to becomming a Technical Artist.

Download commercial version
Download non-commercial version

Video, screenshots and full feature list below.

  • Advanced UV manipulator: Less typing, more options.
  • Structured and logical user-interface with 4k resolution support.
  • Powerful new marking menu.
  • Orient shells: Orients shells straight.
  • Orient edge: Orient UV shell(s) around a UV/edge selection.
  • Stack shells: Stack shells on top of each other.
  • Match shells: Match UV's to their closest neighbors.
  • Straighten shell: Straighten edge loop and unfold shell around it.
  • Straighten UV's: Straighten all edge loops in a UV selection.
  • Multi-Stitch: Move & Sew like in 3D Studio Max (Stitch selected).
  • Randomize shells: Randomize shells individually.
  • Distribute shells side-by-side with three different modes.
  • Push/Move UV's so that they line up (max, min, average U or V).
  • Align shells to min, max or average U or V.
  • Snap shells to the UV range bounds (eight directions +center).
  • Snap shells A to B: Connects two shells via two UV's.
  • Spread shells: Unstangles and unstacks your shells neatly.
  • Extended UV projection tools, such as normal-based mapping.
  • New, easy-to-use snapshot window with multi-tile/UDIM support.
  • Save and load mesh component selections.
  • Cycle pivot position between the selection or UV bounds corners.
  • Gather shells: Offset back shells that are outside the 0->1 range.
  • Unfold UV's along U/V only with the click of a button.
  • Custom Unfold/Relax/Layout UI's with extended options.
  • Normalize shells: Normalize along U, V, UV or UV with stretch.
  • Layout UV's along a U or V -strip.
  • Integrated UV Set Editor: Native functionality fully implemented.
  • UV Set Order Manager: Manually override the UV set order
  • Texel density control: Scales shells to the same texel density.
  • Fetch texel density from face selection.
  • Rotate, scale, transform and flip shells around a custom pivot.
  • Relative rotate/scale: Rotate/scale shells around their own pivots.
  • Measure the distance between two UV coords: in pixels or units.
  • Calculate angle between two UV coords.
  • Checkbox for the "Retain component spacing" -option.
  • Buttons for Copy, Paste and Delete UV's.
  • Buttons for pinning UV's (Maya 2016 and later only).
  • NSUV menu with a workflow guide as well as tips and tricks.
  • Tip of the Day -popups with info on core NSUV functions.
  • Cycle edge colors: Change color on selected edges.

Nightshade Blockout

NSB is a Maya tool for quickly creating blockout/matID/selection -maps; allowing artists to create such a map in seconds. Just select your mesh(es) in the viewport and you are three mouse clicks away from a finished blockout/selection map.

Download commercial version
Download non-commercial version

Screenshots and full feature list below.

  • Perfect, shadeless and artifact-free end results.
  • Bake from highpoly to lowpoly, or just from the lowpoly.
  • One-click automagic color assignment.
  • Proper non-overlapping shell padding (aka "Fill texture seams").
  • Works on multiple multiple meshes (e.g. exploded meshes, etc).
  • Easy to use, no-bullshit user-interface.
  • No need to clone your mesh(es) or use "Transfer Maps".
  • Smart file paths - auto-corrects missing file extensions.
  • Works great together with Nightshade Color Splitter.

Nightshade Materializer

NSM is a Maya tool for managing and working with scene materials. It's a Swiss Army Knife -style tool with loads of features aimed to make the life easier for the 3D Artist and/or Level Designer working in Maya. Unfortunatly I have not updated this in a while but I have a big plans for the future commercial release.


Full feature list available below.

  • Material swatches for quick material access.
  • Fast material assigning (in just two mouse clicks!)
  • Scene materials listed in a scrollable list.
  • Eyedropper for getting the material of a face selection.
  • Faster creation of common shaders (make tons of them in seconds).
  • Icons for quick access to nodes in the attribute editor.
  • Grow material selection to entire mesh/submesh.
  • Select everything in the scene by material.
  • Fast rename of individual materials.
  • Batch rename scene materials.
  • Set texture directory and re-link materials.
  • Paint assign material.
  • Shortcuts to hypershade and UV editor.
  • Print list of scene materials.
  • Delete unused materials.
  • Supports Mental Ray and V-Ray shaders.

Minor scripts

Here is a collection of minor scripts I've written for Autodesk Maya and Adobe Photoshop. They are 100% free so use them as you please.

Nightshade Kill Switch (Maya / PyMEL)

Nightshade Kill Switch (NSKS) will effectivly hard kill the Maya process with a bat-script, closing down Maya immediatly on execution. Use NSKS if you are having issues with Maya being slow when closing down. The script was written in Python using PyMEL. Download here.

Nightshade Color Splitter (Photoshop / JS)

This is a javascript for Adobe Photoshop that takes a blockout/selection map and splits up all colors into individual layers labeled by color name. A color palette is forced onto the image before each color is cut out, pasted into a new layer and labeled. To avoid any potential issues, stick to using primary, secondary and tertiary colors on your blockout/selection map. Download here.

Display Scripts (Maya / MEL)

This is a full set of togglable display scripts for the viewport. Included: Wireframe, Wireframe-on-shaded, Shaded view with the default material as well as a script for toggling the shaded view -with- the assigned material. Also included is a fullbright -toggle and a no lights -toggle. Download here.

Texture Reloader (Maya / MEL)

This script, when executed, reloads all the materials in your scene. Great to have if you are batch-saving several textures out of Photoshop in one go and don't want to manually reload every single material in your Maya scene. Handy for level designers and environment artists working in Maya. Download here.

Face Normal Fixer (Maya / MEL)

Sometimes when working with instances you will get a mesh that has faces that point in the opposite direction of the face normals. Weird yes, but it happens! Running reverse normals will not fix this as it also reverses the face direction. So I made this script which will flip the face normals back so that they are in line with the face(s) on the mesh. Download here.

Viewpanel Switcher (Maya / MEL)

A collection of scripts for making viewport switching -keybinds like it is in 3ds Max. Running one of these will switch the current selected viewport to the one specified in the script. Useful if you for example need to switch between right/left side view, or back/front while working against concept art or other kinds of references. Download here.

Mega Drift

When working on Mega Drift (Blackbeard Games), I had sole responsibility for creating all the cars in the game - but also worked a lot on environment assets. Mega Drift is a mobile game for iOS developed in Unity released in Q2 2015.


Art test that I did during the process of applying to Blackbeard Games. The goal was to make a stylized, lowpoly, mobile-friendly asset (a tile/block). This asset is 2k triangles and uses 1x 512x512 RGB diffuse map for the ground, trunk and fence and one 256x128 ARGB diffuse map for the grass and tree foliage. The texturing approach was a combination of hand-painted and photo-sourced. The visual demonstration was done using the Marmoset Engine.

Rail Racing

Here are some of the assets I created while working on Rail Racer (Polarbit). Rail Racer is a toony-themed top-down slot car racing game for Android and iOS, scheduled for release in Q4 2013. I worked mostly on cars, environments and optimization, but also created many of the level props. The in-house CGFX shader for the cars works by coloring the highlights, shadows and midtones of the diffuse map into different colors; just in case you wonder why the diffuse maps of the cars are in black and white). The alpha channel is used for telling the shader what areas have player-customizable color.

Renegade Ops

Here are some of the assets I did during my 6 months as an intern 3D artist at Avalanche Studios, where I worked on the title Renegade Ops and the Coldstrike Campaign DLC. From day one I was responsible for taking assets through the entire pipeline, from early-stage mesh mockups/blockouts and all the way to the finished product. I did everything from props and vehicles to modular building blocks. The game and it's accompanying DLC was released on PC, PS3 and Xbox in Q4 2011.

Grimy Restroom

Even though this is one of my earliest works (Q4 2010) I think that this piece of environment is worth displaying. In total the polycount for this scene is 14k triangles, and 4x 2048x2048 texture atlases was used for the props and interior, and several smaller textures where used for grafitti decals. Diffuse, Normal and Specular maps for most materials, with the Emissive maps (glow) in the alpha channel. Lighting and rendering was done in the Marmoset Engine.

Hipster Zombie

To tell the truth I haven't done a whole lot of characters, but this is one of them that I got reasonably happy with. This was an art test for NoLimit - an online casino who needed someone responsible for 3D creation. I was asked to create a 3d character with the Plants vs Zombies -art style. Polycount at 15,6k triangles and 1x 2048x2048 diffuse map was used. I also created a very simple rig so I could do some poses. Screenshots where taken from the Marmoset Engine.

2d Art

This is a section of mostly older 2d works. Some backgrounds, some youtube channel art and stuff for an art test I did for Stillfront when I was a student. The fractals for the wallpapers (picture 2 and 3) were created with Apophysis - an open source fractal flame editor.

Back to top



  • Scripting (Python, MEL, PyMEL, Lua, JS, JSX)
  • Mobile/Lowpoly 3d graphics
  • Tools for Maya and Photoshop
  • Hard surface, sub-division modeling (high to low polygon workflow)
  • Texturing with a stylistic or realistic approach
  • Technical interest and understanding of 3D and 2D art
  • Technical prototyping
  • Asset optimization
  • Guiding/Mentoring junior and intern artists
  • User-interfaces
  • Modular environments
  • NURBS-modeling
  • Web design (HTML5, CSS3, XML and basic jQuery, PHP and SQL)
  • Graphical design
  • Vector graphics


Autodesk Maya Autodesk 3ds Max Autodesk Mudbox Pixologic Sculptris Unity Santiago Orgas xNormal Marmoset Toolbag Adobe Photoshop Adobe Illustrator Adobe Indesign Adobe Flash Pro Quixel dDo Quixel nDo Epic UDK


King Website


Junior Technical Artist

Jan 2016 - Present

Unannounced project(s)

Unannounced platform(s)

  • Undisclosed task(s)
Star Stable Website

Star Stable Entertainment AB

3D Artist

Oct 2015 - Jan 2016

Star Stable Online

PC - Released: 2011

  • Created environment assets and props for new areas.
  • Updating and polishing old environment art.
  • Pre-production of the new Pandoria area.
Blackbeard Website

Blackbeard Games

3D Artist

May 2014 - Sept 2015

Mega Drift

iOS - Released: 2015

  • Made environment art as well as all the cars in the game.
  • Asset optimization for mobile devices.
  • Guidence of an intern/junior artist.
  • Created the Mega Drift promotional website.
Polarbit Games

Polarbit Games

3D Artist

Mar 2012 - Dec 2013

Tank Riders 2

Android and iOS - Released: 2013

  • Created 3D environment tilesets for many levels.
  • Made player and enemy tanks and units.
  • Designed some of the levels in the game.

Rail Racing

Android and iOS - Released: 2013

  • Created environment assets for all levels.
  • Modelled and textured several of the cars in the game.
  • Guidance of an intern artist throughout the entire production.
  • Helped establish an art style for the game.

Cracking Sands

Android and iOS - Released: 2012

  • Created environment assets and terrain for all levels.
  • Created upgrade parts for the ATV's in the game.
  • Learned asset optimization for mobile platforms.
Avalanche experiences

Avalanche Studios

Intern 3D Artist

Nov 2010 - May 2011

Renegade Ops

PC, PS3 and XBox360 - Released: 2011

  • Experience working with a multi-platform AAA-project.
  • Created environment assets, props and some cars.
  • Also worked on the Coldstrike Campaign -DLC material.


Playground Squad

PlaygroundSquad - Higher Vocational Education

Game Development: 3D Graphics

Oct 2009 - May 2011

  • Advanced Diploma in Game Development with a focus on 3D Graphics.
  • Learned Maya, Mudbox, Photoshop, Game engines, Shading, Rendering, Content-management and much more.
  • Learned everything about the graphical pipeline, from animation and mocapping to 3D graphics and agile development.
  • Worked on a total of 3 major game projects, one which won an award (Gamer's Choice - SGA10).
  • Participated in Global Game Jam 2010 and 2011.
Uppsala University - Campus Gotland

Uppsala University - Campus Gotland

Stand-alone courses

Oct 2008 - 2009

  • Introduction to level design, 15 ECTS.
  • 3D-modelling and zBrush, 15 ECTS.
  • IT-security, 7.5 ECTS.
  • Webdesign, Computer Science and Graphical design, 145 ECTS.
  • Learned HTML, CSS, Javascript, PHP, MySQL, Flash, XML, Content Management Systems.
  • Learned graphical design, pixel graphics, vector graphics, digital print, typography, layouting.
Back to top


Contact information


Email (work):

Telephone: +46 (0)70 65 734 65

Skype: martindahlin85

Availability: Unavailable. I am currently not interested in any new job inquiries but if you have other exciting things to share please feel free to contact me either directly or on social media. Thanks!

Facebook profile


Martin Dahlin

LinkedIn profile


Martin Dahlin

CG Society profile

CG Society


Polycount profile


Deadly Nightshade profile

Tech Artists


Creative Crash profile

Creative Crash

Martin Dahlin


Photo of Martin Dahlin My name is Martin Dahlin and I'm a 31 year old Technical Artist from Stockholm, Sweden. I've been working in the game industry since late 2010. During this time I've worked on several productions as a 3D Artist on a wide range of different platforms (PC, Xbox 360, PS3, iOS, Android). I've specialized in hard-surface modelling, mobile game development, asset optimization, scripting, tools creation (Maya and Photoshop) and front-end web design during my years in school and as a professional. My current career goal is to specialize in Technical Art and widen my knowledge about tools creation, workflow automation as well as pipeline maintenance and design.

On a personal note, I describe myself as an independent, opinionated and open-minded technical creative with a pinch of social weirdness tossed into my personality matrix. According to the Meier-Briggs Type Indicator in psychology I'm a typical INTJ. My best personality trait is perseverance, and with this comes a tremendous honor for my commitments. I have a kind of strongly-felt internal sense of duty and loyalty which lends me a serious air and the motivation to follow through any task that I put my mind into.

My history with games and "nerd" culture goes back 25 years, making me a third-generation gamer. I first started playing games at about age 5 on my father's Amiga 500 and my friends' NES. Games became an enchantment and has since been my core interest in life, but even though I tried out modding for games like Doom, Quake and Half-Life quite early it took quite a while before I realised that I could actually make a living working with games. After high school I was initially into webdesign, but came to the conclusion that there are probably more suitable things for me to work with.

Besides games and art, I also like to "cave-in" on my other interests which includes: IT, science-fiction, graphical design, web design, electronic music, movies and TV-shows, science and even psychology to a certain degree. I also enjoy reading up on conspiracy theories, urban legends and modern-day myths. That doesn't mean that I am a member of the Flat Earth Society though ;) - it's just that I have a natural habit of theorising about everything (maybe a bit too much).

Misc links:


PixieSnake. Flash game I made many years ago using this source code.

Global Game Jam

Annual, world-wide, 48 hour game jam event.

Creative Crash

High Quality 3D Models, Scripts, Plugins and tools for Maya, Max and more.

PSQ - PlaygroundSquad

A higher vocational education for game development.

Deviant Art

Probably the biggest art community online.


Great site for game news.

Swedish Game Awards

Annual awards for swedish game dev students.

The Great Escape

A level I did in a level design course I took at University of Upland (Campus Gotland). It's for the game Knytt Stories which you need in order to play it.

Back to top