Skip to content

Development notes

Hyunseok edited this page Jul 26, 2023 · 15 revisions

Development with VSCode Editor

Install extention for Microsoft C#(ms-dotnettools.csharp)' in Extensions view.

detail description

Name: C#
Id: ms-dotnettools.csharp
Description: Base language support for C#
Version: 1.26.0
Publisher: Microsoft
VS Marketplace Link: https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp
  1. sudo snap install dotnet-sdk --classic --channel=7.0

  2. install mono-devel in Ubuntu. Refer to mono-project site.

sudo apt install ca-certificates gnupg
sudo gpg --homedir /tmp --no-default-keyring --keyring /usr/share/keyrings/mono-official-archive-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/mono-official-archive-keyring.gpg] https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update

And change the option 'Omnisharp: Use ModernNet' set to "false".

SDFormat for C#(Unity)

Overview

Mainly these are following the specification from http://sdformat.org/spec. It is designed as 4-parts of modules. And those codes are not fully meet the specification yet.

SDF Parser

It parses .sdf files to retrieve each value from the elements. And separate the elements per class. All parsing works begins from SDF.Root class.

SDF Importer

SDF Importer generates hierarchical object tree

  • model -> link -> (visual/collision -> geometry ) / sensor

There are two steps to import objects as a GameObject.

  • ImportXXXXXX() and PostImportXXXXXX()
    • ex) ImportVisual() , PostImportVisual()

SDF Implementation

Realize 3D objects on 3D world through Unity API. It implements detail physical properties, visual objects from specific SDF parameters when it importing each SDF elements.

SDF Plugins

It helps handling or post-process specific SDF elements like model, link or pose inside Unity GameObject.

Build guide is only for developer.

Clone this wiki locally