Scroll To View More
Tomas Macek, Augmented Reality (AR) Developer in Hradec Kralove, Hradec Králové Region, Czech Republic
Tomas Macek

Augmented Reality (AR) Developer in Hradec Kralove, Hradec Králové Region, Czech Republic

Member since January 20, 2016
Tomas has several years of remote contract work experience as a developer. He's developed his workflow to be able to quickly and effectively deliver complete and polished end products and to communicate the project's outputs. Tom is passionate about developing mobile 3D applications and games—especially augmented and virtual reality related ones, fully native or built using Unity.
Tomas is now available for hire

Portfolio

Experience

  • Unity3D, 8 years
  • C#, 8 years
  • Game Development, 6 years
  • Augmented Reality (AR), 6 years
  • Java, 5 years
  • REST, 4 years
  • Swift, 3 years
  • ARKit, 2 years
Hradec Kralove, Hradec Králové Region, Czech Republic

Availability

Part-time

Preferred Environment

Xcode, Swift, Unity, C#, IntelliJ, Java, Vim, Git

The most amazing...

...app I've worked on is the native mobile AR experience Play3D -  officially Licensed Product of NFLPA which brings line-up of photorealistic 3D holograms.

Employment

  • Senior AR Developer

    2016 - PRESENT
    Altered Reality Corporation
    • Implemented a custom-rendering system as an alternative to iOS ARSCNView to combine camera output and AR 3D content rendered using SceneKit.
    • Designed and implemented the architecture for on-demand, cached, remote asset downloads to reduce the main app size and enable remote asset management.
    • Implemented a fully customizable video recording solution for iOS and Android.
    • Transformed AR experiences that were originally working as standalone native iOS apps to Messages extensions.
    • Created a Unity AR Core app based on an originally native iOS ARKit app.
    • Created a demo for AWE conference using the new Unity ECS system to simulate the fish movement of thousands of entities on an iOS device while avoiding photorealistic 3D characters in the scene.
    • Built a Unity Google Tango demo demonstrating the usability and advantages of this early Android AR technology.
    • Worked on iOS Messages extension app with video recording and sharing functionality of the scene with remotely downloaded AR 3D content.
    Technologies: iOS, Xcode, Swift, SceneKit, ARKit, Metal, Unity, C#, ECS, Android, Java, ARCore, OpenGL, Sceneform, Google Tango, Vuforia, AWS S3, Three.js
  • Unity for iOS Senior Engineer

    2016 - 2016
    Smartlivez (via Toptal)
    • Implemented a solution for an external sensor data transformation and the mapping of the animation space of each golfer player character.
    • Integrated an inverse kinematics solution for left and right-hand movement, golf club positions, and rotations during movement; on the top of the original golfer animation.
    • Created Unity editor extensions for improving data mapping control and for verification of data transformation and data integrity.
    • Embedded a Unity application into an existing iOS application and integrated synchronization of its startup state and data forwarding.
    • Designed a WebGL version of the application for faster project iterations and testing of functionality with debug possibilities of importing sensor data from CSV files and exporting resulting animations to CSV files.
    • Used a custom DI architecture which ensured faster and more reliable prototyping and simplified adding unit tests to verify and test correct data mapping functionality.
    Technologies: Unity, C#, Xcode, iOS, WebGL, JavaScript
  • Senior Unity Programmer | Project Manager

    2014 - 2016
    3Move Labs
    • Designed and implemented Unity extensions for internal development workflow improvements and for distribution on the Unity Asset Store.
    • Planned and coordinated programming works with the products' global marketing strategy.
    • Analyzed and developed proposals for application architecture.
    • Used a Leap Motion API for the implementation of interactive contactless demonstrations for the Leap Motion controller in Unity.
    • Created scenes for demonstrations of 3D interactive tours in which the user is able to explore provided interiors.
    • Built a web application based on Magento which enables dynamic creation of interconnected database tables. This app can be accessed through its REST API and provides a Unity application on any platform with game parameter settings which can be modified dynamically and loaded after restarting application's scene.
    Technologies: Unity, C#, PHP, MySQL, JavaScript, jQuery, Leap Motion API, Magento
  • Lead Unity Programmer

    2012 - 2015
    Pavel Platil Animation Studios
    • Created analyses and proposals of application architecture and shaped the levels based on provided scene sketches.
    • Coordinated a team that worked with 3D and 2D graphics and optimized used game assets. The optimizations included the development of my own tool for moving and rotating pivot points while preserving previously used animations on models.
    • Implemented an animation system for character goalkeeper capabilities—retargeting principles including inverse kinematics for hand movement.
    • Tweaked the physics portion of an engine to ensure performance and pleasant game experience with proper ball mechanics.
    • Implemented performance optimizations including used shaders, basic lighting settings, memory usage, and build size reduction.
    • Provided the foundation for beta testers and prepared products for placement in the iOS App Store and Google Play; including the release itself and the following support.
    Technologies: Unity, C#, Cg, Vuforia, Xcode, iOS, Eclipse, Android
  • Unity Programmer

    2011 - 2012
    Keen Software House
    • Created a flexible system for game testing regular builds with the use of a JSON configuration file.
    • Improved the performance of an existing dynamic mesh generation system.
    • Extended an existing IMGUI system for a basic application layout.
    • Improved an existing sound effects solution by implementing better architectural encapsulation and preparing a user-friendly solution for the sound engineer.
    • Modified and tweaked an existing terrain shader solution for better performance and visuals without blending issues.
    Technologies: Unity, C#, Cg
  • Web App Developer

    2010 - 2011
    iTechTrade
    • Created an Ajax Facebook application connected to Facebook chat through an XMPP protocol ensuring direct users' notifications as native chat messages.
    • Integrated Red5 streaming video services to facebook apps for group video chat features.
    • Programmed analytical tools processing data from various web sources for online marketing purposes using a chart-based interface for output.
    • Setup a Magento platform for building complex web applications and extended its features by implementing new reusable modules.
    • Developed a Cron job for collecting and sorting information about public auction data from the Czech Republic.
    • Prepared, integrated, and updated Magento layouts for Magento-based applications.
    Technologies: Linux, Apache, MySQL, PHP, Magento, Zend Framework, Ajax, jQuery, Flash, XMPP, Red5, XFBML, FBJS, Facebook API
  • Programmer Analyst | Senior TIBCO Consultant

    2007 - 2009
    PIKE Electronic
    • Implemented a tool that compares two XML documents and is capable of highlighting distinct parts of documents thanks to its block comparison algorithm.
    • Developed tools for the automatic generation of documents to HTML, PDF, and CHM formats with use of the DITA Open Toolkit and XSLT.
    • Modified the architecture of the original application for use as an Eclipse RCP plugin. The isolated features were divided into separate modules.
    • Provided technical support and onsite product presentations for various international clients.
    • Supported booth preparations and presented product at TUCON 2008 San Francisco conference.
    Technologies: Java, TIBCO, XML, XSD, XSLT, Eclipse RCP, TIBCO BusinessWorks, TIBCO EMS

Experience

  • Play3D (iOS) (Development)
    https://play3d.app

    A native iOS standalone and iMessage app that was optimized for iOS 12 and powered by ARKit. It's officially a licensed product of NFLPA which brings the next generation of augmented reality capture technology and offers a line-up of photorealistic 3D holograms.

    I was responsible for implementing AR and 3D functionality, a custom rendering engine (which combines output from a camera with a defined 3D content), and on-demand cached remote assets management.

  • Play3D (Android) (Development)
    https://play3d.app

    An Android app (powered by Unity and ARCore) and an officially licensed product of NFLPA which brings the next generation of augmented reality capture technology and offers a line-up of photorealistic 3D holograms.

    I was responsible for implementing the Unity AR app, custom native video recording and sharing solution, and on-demand cached remote assets management.

  • Soccerinho (Development)
    http://bit.ly/soccerinho3D

    A 3D soccer game set in Prague's old city which was nominated for debut Czech game of the year 2014. It runs on iOS and Android mobile devices.

    Soccerinho takes the player through the alleys of early 20th century Prague. The graphics are based on black and white period photos. Soccerinho debuted in 2014 and was presented by the Czech games association.

    I implemented all the core functionality, set up the scene and lighting, integrated 3D and 2D assets, and optimized the performance. Part of my work was also integrating platform-specific services like Game Analytics, Game Center, Google Play Games Services, Chartboost, Unity Ads, and so on.

  • Foosack (Development)
    http://bit.ly/foosack3D

    A 3D foosball game using Leap Motion Controller. The project was designed to explore the possibilities of this new technology.

    I implemented all core functionality which was heavily based on physics manipulations and an image-based lighting solution which was in the end replaced by Marmoset Skyshop solution.

  • Tata Jump AR (Development)
    http://bit.ly/tatajump

    An interactive augmented reality virtual-tour of the Nexon for Tata Motors (Tatamotors.com). The application was used to introduce their concept car. An interactive model of the car could be viewed from any angle and layers of the car could be removed to show underlying layers. These views were augmented by on-screen technical specifications.

    I integrated Vuforia as the main tool for an image-based object detection functionality and implemented a layered shader system for showing the underlying layers of a car.

  • Kid Kamba AR (Development)
    http://bit.ly/kidkamba

    Kid Kamba and his seven friends have one thing in common, they're all super heroes! This augmented reality application lets you virtually interact with Kid Kamba and his friends who are brought to life as holograms in front of you. This application is part of the digital comics “Kid Kamba.”

    I integrated Vuforia as the main tool for image-based object detection functionality and implemented the system for triggering animations. I processed and optimized the given 3D assets and set up a Mecanim animation system for them.

  • Exposed | Rule-Based References (Development)
    http://bit.ly/unityexposedplugin

    A simple-but-powerful tool which helps Unity developers easily and automatically maps object references for their components. They can also set rules for creating references. Plus these references are completely reusable for other components. Everything is configurable in the Inspector and the results of rules settings and references can be seen immediately.

    I designed and implemented the whole functionality as a Unity extension.

  • SOLID Framework (Development)

    A complete framework for Unity programmers. It helps developers with all phases of development from analysis, implementation, to testing, and all the while following all the basic SOLID principles in mind.

    I designed and implemented the whole functionality as a Unity extension. This work relied heavily on my previous knowledge of dependency injection and other programming patterns and experiences from my previous projects.

  • The 10 Most Common Mistakes That Unity Developers Make (Publication)
    Unity is an excellent and straightforward tool to use for multi-platform development. Its principles are easy to understand, so programmers can start developing new products quickly and intuitively. However, if developers do not keep some important things in mind, development can slow down at crucial points, including when the project moves away from initial prototype or is approaching final release. In this article, Toptal Freelance Software Engineer Tomas Macek outlines the most common mistakes that Unity developers should be aware of for future projects.

Skills

  • Languages

    C#, Cg, Java, PHP, XML, JavaScript, Swift, Objective-C, GLSL, HLSL, C++, Kotlin
  • Frameworks

    Unity, Unity3D, ARKit, iOS SceneKit, Metal, NUnit, Zend Framework
  • Tools

    Xcode, Git, Trello, Eclipse IDE, Adobe Photoshop, Redmine, Adobe Director, 3ds Max
  • Platforms

    ARCore, iOS, Android, Oculus Rift, Vuforia, Magento
  • Other

    Augmented Reality (AR), Game Development, Project Management, IoC, Unity Shaders, Shaders, Virtual Reality (VR), 3D Modeling, Screencasting, 3D Animation, Game Design, Sceneform, AVFoundation
  • Libraries/APIs

    Tibco, jQuery, WebGL, NSubstitute, RxSwift, UniRx, Three.js, OpenGL, Core Image
  • Paradigms

    SOLID Principles, Dependency Injection, REST
  • Storage

    JSON, MySQL

Education

  • Master's degree in Computer Science
    2002 - 2007
    University of Hradec Kralove - Hradec Kralove, Czech Republic
Certifications
  • IELTS General Training 7.5
    DECEMBER 2018 - DECEMBER 2020
    Britishcouncil.cz
I really like this profile
Share it with others