Christian - Développeur UNITY 3D

Ref : 190810R001
Email vérifié
Photo de Christian, Développeur UNITY 3D
Compétences
Expériences professionnelles

  • PROFESSIONAL EXPERIENCE

    Since 2016
    Rôle : Architect / Technical leader
    Project: Advanced
    Remote Assistance Project Description : Advanced Remote Assistance Application

    Technical Environment: 3D, augmented reality, audio/video streaming. Multi-plateform (iOS, Android, Hololens, Windows, Realwear, WebGL)

    3DEngine
    Unity3D version 2018/2020

    Server hosting
    Azure Windows/Linux Vms
    Azure Kubernetes Services

    Augmented reality:
    Spatial Mapping hololens
    ArCore / ArKit
    Vuforia

    Telecom
    Webrtc C++ API (M71, M73)
    Signaling server (freeswitch 1.8 / 1.10)
    Conference server (freeswitch)
    Signaling SIP Client (resiprocate)

    Devices:
    Windows UWP (Hololens, Hololens2)
    Windows 10 (Exe)
    Android (tablet, realwear)
    iOS
    WebGL (Chrome, Firefox)

    Other Devices:
    Double2 telepresence robot
    PTZ Cameras (Pelco)


    Mission Description
    Unity3D client application
    - Components oriented architecture: Definition of interfaces and interactions between components of the application. (C#)
    - Integrate dependency injection framework (zenject)
    - MVVM (model view / view model) as MVC pattern.
    - Multiplatform streaming pipeline (H264, VP8, Opus). Convert YUV to RGB using shaders or a native rendering plugin (based on libyuv). Integration of webrtc as a native plugin (c++ version M71/M73)
    - Deployment of unity application on a Robot. (Double2, ios native objective-c plugin)
    - Deployment of unity application connected to IP Onvif Cameras (native c++ plugin)
    - Integration of Augmented Reality technologies (ArCore, ArKit, study of visionlib)

    3D models format pipeline conversion on cloud
    - 3D models conversion pipeline (from Step to Fbx using open cascade api, then import in unity).
    - Asset bundle packaging of 3D models as a result of the conversion pipeline.
    - Runtime : Download and instanciate AssetBundle on client Scene.

    Multiplayer data synchronisation server :
    - Define network commands and data in json format:
    Streaming commands (synchronisation of streaming state)
    Model3D commands (synchronisation of 3D scene)
    Annotation commands (syncronisation of annotations)
    Device commands (Remote command of Robot, Camera PTZ)
    - deployment on VM: C# Rest API (IIS) scheduler for managing gaming servers.
    - Migration from docker containers to kubernates : Study of using kubernetes for agnostic deployments (on-premise or cloud).
    - State of the art on different multiplayer server frameworks and apis (smartfox, nakama, colyseus, unet, …)

    SIP/conference servers :
    - VM Deployment of Signaling and Conference servers (freeswitch)
    - Migration from VM to docker : Deploy freeswitch on docker containers.

    Azure cloud :
    - VM creation, Network Security Groups, Firewall configuration.
    - Installation of backend based on docker containers and installation shell scripts.
    - Study migration of backend deployment on kubernetes

    CI/CD
    - Continuous integration: Setup Unity application build pipeline for Android, iOS, exe and web platforms
    - Continuous integration: Setup c++ build pipeline for Android, exe libraries (Cmake, android build tools)

    Technical Management
    - Git process definition : Rebase, Pull Requests.
    - Branches management (feature, hotfix and release branches)

    2015
    Rôle Technical leader
    Airbus : 3D GIS for Avionics Project Name : Mission+
    Project Description: 3D GIS avionics application on tablet (SP4 and IOS)

    Technical Environment:
    Target Platforms : Windows 8, iOS
    Technologies C++ 11 QT/Qml 5.9
    OSGEarth 2.8 OSG 3.4.0 Spatialite 4.3.0
    GDAL 2.2
    SQlite 3.1.5
    Geos 3.6.1
    Boost 1.5.1

    Mission Description
    Continuous integration
    - CMAKE.builds on server side (Jenkins)
    - Unit tests (QTest)
    - Integration tests, automatically run on Jenkins (nightly build)

    Technical Management
    - Git process definition : Merge, Pull Requests.
    - Branches management (feature, hotfix and release branches)

    CI/CD
    - Compilation of libraries (sqlite, gdal, osg, osg earth and all its dependencies) : Total of 23 libraries.
    - Cmake configuration for iOS, Windows x64 and x86.
    - Builds automation : Superbuild (sh for ios), bat for windows.
    - Study of a migration to Conan build system

    3D Engine:
    - Camera Moving functions (mouse move or smooth teleport using lerp)
    - Dynamic geometry modifications according to Altitude
    - Dynamic Items (text, icons) instanciation/displacement on a Map.
    - New Layer in application : GTopo 30 terrain altitude data

    Client
    - Organisation of application by components. Interfaces description.
    - Components are QT Plugins (QT DLL)
    - Connections between components are done with Signal / Slot mechanism
    - Conception, Design and development of the Vertical Display component.
    - Javascript / QML Views.

    Migration Databse SIG : from PostGis to spatialite
    - Compilation of libraries and dependencies for spatialite.
    - GDal ogr2ogr to convert from PostGIS to Spatialite
    - Queries Migration : from PostGis to Spatialite.
    - Patch of GDal library that did not manage features on Dynamo context.

    GPS :
    - IOS : Use of plugin QT Positioning
    - Windows : recompilation of QT Positioning plugin to modify Baud Rate on SerialPort NMEA.

Études et formations
  • COMPETENCIES

    Technical skills
    C++ development (C++11/14/17) : 5 years experience
    Native c++ libraries for hololens, android and ios, used in unity3D engine
    Tracking native plugin for unity3D (Ptam, OpenCV)
    IP Camera remote native plugin for unity3D (MJPeg, Onvif)
    Telecom native plugins for unity3D (webrtc, SIP stack)
    QT native plugins, used in QML scripting.

    Unity3D development : 5 years experience
    Multimedia player (live streaming viewer, multi platform)
    Asset bundle for 3D scenes download (multi platform).
    Camera (ortho and perspective). Camera displacement, raycast, culling mask.
    Unity Timeline for animations (3D and UI animations)
    Native plugin integration (webrtc, sip, onvif)
    Native rendering plugins (Yuv to Unity textures)

    Multiplayer Server Technologies (authoritative games) : 4 years experience
    Unet/Mirror multiplayer server programming
    Nakama multiplayer Server programming

    Web Apis / Web MVC applications : 5 years experience
    .net core 3.1 Web Apis (kestrel)
    nodejs Web Apis (express)
    Java MVC Webapps (spring mvc, jsf, icefaces)
    Lets encrypt certificate management (automatic renewal on linux)
    Nginx reverse proxy
    Authentication apis (oauth2 based on azure AD, keycloack, gluu)

    Cloud CI/CD : 3 years experience
    Azure yaml pipelines
    Docker images (aspnet, node, freeswitch, coturn)
    Agnostic backend deployment based on docker containers
    Study of backend deployment based on kubernetes

    Telecom Programming : 3 years experience
    SIP stack unity plugin (resiprocate c++)
    WebRTC unity plugin (native webrtc using M71 c++ library)
    Streaming Protocols : SDP, SIP, RTSP

    Environment and Development tools :
    Configuration Management : git, svn
    CI – CD : azure devops, jenkins.

    EDUCATION

    06/2004 : DESS Computer Science applied to economics (Mention Bien) University Grenoble
    06/2011 : Cnam Multimedia Engineer formation:
    Sound and Image processing (NSY122)
    Multimedia and interactive games (RSX206)

    PROFESSIONAL TRAINING

    06/2018 : SIP / Freeswitch Training
    2017 - 2020 : Pluralsight Unity3D Trainings

    LANGUAGES

    English : Read, Written, Spoken (Professional)
    Spanish : Read, Written, Spoken (Elementary)

D'autres freelances
Développeur UNITY 3D

Ces profils pourraient vous intéresser !
CV Développeur UNITY 3D
Jérôme

Développeur UNITY 3D

  • CELLETTES
UNITY 3D C# C++ JAVASCRIPT PHP .NET HTML5 CSS MYSQL SQL
Disponible
CV Développeur REACT.JS
Tanguy

Développeur REACT.JS

  • NANTES
REACT.JS UNITY 3D C# PYTHON JAVASCRIPT NODE.JS
Disponible
CV Développeur Jeux Vidéo
Loïc

Développeur Jeux Vidéo

  • BOUSSY-SAINT-ANTOINE
C# UNITY 3D .NET C++ C PYTHON
Disponible
CV Développeur UNITY & Développeur Flutter
Lucas

Développeur UNITY & Développeur Flutter

  • MONTPELLIER
HTML5 JAVASCRIPT UNITY 3D FLUTTER
Disponible
CV Développeur NODE.JS/C#
Mohamed

Développeur NODE.JS/C#

  • STRASBOURG
NODE.JS POSTGRESQL DOCKER C# Vue.js UNITY 3D
Disponible
CV Développeur Unity / Unreal engine
Erwan

Développeur Unity / Unreal engine

  • RENNES
UNITY 3D C++ C# UNREAL ENGINE
Disponible
CV Développeur UNITY 3D
Amir

Développeur UNITY 3D

  • ANTIBES
UNITY 3D C#
CV Développeur C#
Emmanuel

Développeur C#

  • TAVEL
PYTHON C# SQL SQL SERVER UNITY 3D .NET
CV Développeur
Mounir

Développeur

  • RIVE-DE-GIER
PYTHON JAVA C++ SQL PHP JAVASCRIPT MYSQL Vue.js UNITY 3D SYMFONY
CV Développeur C++/C#/Unity/3D
Jean-Philippe

Développeur C++/C#/Unity/3D

  • GUILLESTRE
C++ C# UNITY 3D