added yamato folder (#542)
This commit is contained in:
Родитель
f45895f7dc
Коммит
fbcfcf946a
|
@ -0,0 +1,38 @@
|
|||
{% metadata_file .yamato/environments.yml %}
|
||||
|
||||
---
|
||||
{% for editor in cloud_rendering_editors %}
|
||||
{% for project in projects %}
|
||||
{% for platform in cloud_rendering_plateforms %}
|
||||
{% for Scene in Scenes %}
|
||||
{{ project.name }}_{{ platform.name }}_{{ editor.version }}:
|
||||
name: {{project.name}} CloudRendering ({{ editor.version }})
|
||||
agent:
|
||||
type: {{platform.type}}
|
||||
model: {{platform.model}}
|
||||
image: {{platform.image}}
|
||||
flavor: {{platform.flavor}}
|
||||
variables:
|
||||
PATH: /root/.local/bin:/home/bokken/bin:/home/bokken/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/sbin:/home/bokken/.npm-global/bin
|
||||
commands:
|
||||
- git submodule update --init --recursive
|
||||
- sudo apt-get install -y clang
|
||||
- pip install unity-downloader-cli --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple
|
||||
- git clone git@github.cds.internal.unity3d.com:unity/utr.git utr
|
||||
- unity-downloader-cli -u {{ editor.version }} -c editor -c CloudRendering -c Linux --wait --published --fast
|
||||
- '".Editor/Unity" -batchmode -quit -nographics -buildTarget CloudRendering -projectPath ./{{ project.name }} -executeMethod AutoBuilder.PerformBuild -sceneName "{{ Scene.name }}"'
|
||||
- ./{{ project.name }}/Build/{{ project.name }}/{{ project.name }}.x86_64 --scenario-config-file={{ project.name }}/Build/{{ project.name }}/scenarioConfiguration.json
|
||||
after:
|
||||
- mkdir ./{{project.name}}/Datasets
|
||||
- rsync -a /home/bokken/.config/unity3d/DefaultCompany/{{ project.name }}/ ./{{project.name}}/Datasets
|
||||
artifacts:
|
||||
results:
|
||||
paths:
|
||||
- "{{project.name}}/Datasets/**"
|
||||
configuration:
|
||||
paths:
|
||||
- {{ project.name }}/Build/{{ project.name }}/scenarioConfiguration.json
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
|
@ -0,0 +1,105 @@
|
|||
|
||||
upmci_registry: https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm
|
||||
|
||||
cloud_rendering_editors:
|
||||
- version: 2021.3.9f1
|
||||
|
||||
cloud_rendering_plateforms:
|
||||
- name: cloudrendering
|
||||
type: Unity::VM::GPU
|
||||
model: rtx2080
|
||||
image: package-ci/ubuntu:v3.6.0-1145766
|
||||
flavor: b1.large
|
||||
|
||||
Scenes:
|
||||
- name: SampleScene
|
||||
|
||||
coverage_editors:
|
||||
- version: 2021.3.9f1
|
||||
- version: 2022.1.10f1
|
||||
|
||||
per_commit_editors:
|
||||
- version: 2021.3.9f1
|
||||
- version: 2022.1.10f1
|
||||
|
||||
performance_editors:
|
||||
- version: 2021.3.9f1
|
||||
- version: 2022.1.10f1
|
||||
|
||||
complete_editors:
|
||||
- version: 2021.3.9f1
|
||||
- version: 2022.1.10f1
|
||||
|
||||
publish_platforms:
|
||||
- name: win
|
||||
type: Unity::VM
|
||||
image: package-ci/win10:stable
|
||||
flavor: b1.large
|
||||
extra-args: --force-d3d11
|
||||
standalone-platform: StandaloneWindows64
|
||||
- name: mac
|
||||
type: Unity::VM::osx
|
||||
image: package-ci/mac:stable
|
||||
flavor: m1.mac
|
||||
extra-args: --force-metal
|
||||
standalone-platform: StandaloneOSX
|
||||
- name: ubuntu
|
||||
type: Unity::VM
|
||||
image: package-ci/ubuntu:v3.6.0-1145766
|
||||
flavor: b1.large
|
||||
|
||||
|
||||
test_platforms:
|
||||
- name: win
|
||||
type: Unity::VM
|
||||
image: package-ci/win10:stable
|
||||
flavor: b1.large
|
||||
extra-args: --force-d3d11
|
||||
standalone-platform: StandaloneWindows64
|
||||
- name: mac
|
||||
type: Unity::VM::osx
|
||||
image: package-ci/mac:stable
|
||||
flavor: m1.mac
|
||||
extra-args: --force-metal
|
||||
standalone-platform: StandaloneOSX
|
||||
- name: ubuntu
|
||||
type: Unity::VM
|
||||
image: package-ci/ubuntu:v3.6.0-1145766
|
||||
flavor: b1.large
|
||||
|
||||
performance_platforms:
|
||||
- name: win
|
||||
type: Unity::VM
|
||||
image: package-ci/win10:stable
|
||||
flavor: b1.large
|
||||
extra-args: --force-d3d11
|
||||
standalone-platform: StandaloneWindows64
|
||||
- name: mac
|
||||
type: Unity::VM::osx
|
||||
image: package-ci/mac:stable
|
||||
flavor: m1.mac
|
||||
extra-args: --force-metal
|
||||
standalone-platform: StandaloneOSX
|
||||
- name: ubuntu
|
||||
type: Unity::VM
|
||||
image: package-ci/ubuntu:v3.6.0-1145766
|
||||
flavor: b1.large
|
||||
|
||||
performance_suites:
|
||||
- name: standalone
|
||||
display_name: standalone
|
||||
args: --suite=playmode --platform=
|
||||
|
||||
suites:
|
||||
- name: standalone
|
||||
display_name: standalone
|
||||
args: --suite=playmode --platform=
|
||||
- name: editmode
|
||||
display_name: editmode
|
||||
args: --suite=playmode --suite=editor --platform=Editor
|
||||
|
||||
package_variants:
|
||||
- name: Perception
|
||||
|
||||
projects:
|
||||
- name: PerceptionHDRP
|
|
@ -0,0 +1,72 @@
|
|||
{% metadata_file .yamato/environments.yml %}
|
||||
|
||||
---
|
||||
{% for variant in package_variants %}
|
||||
{% for editor in complete_editors %}
|
||||
{% for platform in test_platforms %}
|
||||
promotion_test_{{ platform.name }}_{{ editor.version }}:
|
||||
name : Package promotion tests ({{variant.name}} pkg, {{ editor.version }}, {{ platform.name }})
|
||||
agent:
|
||||
type: {{ platform.type }}
|
||||
image: {{ platform.image }}
|
||||
flavor: {{ platform.flavor}}
|
||||
variables:
|
||||
UPMCI_PROMOTION: 1
|
||||
commands:
|
||||
- git submodule update --init --recursive
|
||||
- npm install upm-ci-utils@stable -g --registry {{ upmci_registry }}
|
||||
- upm-ci package test -u {{ editor.version }} --package-path ./com.unity.perception --type vetting-tests
|
||||
artifacts:
|
||||
logs:
|
||||
paths:
|
||||
- "upm-ci~/test-results/**/*"
|
||||
dependencies:
|
||||
- .yamato/upm-ci-full.yml#pack_{{ variant.name }}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
promotion_test_trigger:
|
||||
name: Promotion Tests Trigger
|
||||
dependencies:
|
||||
{% for editor in complete_editors %}
|
||||
{% for platform in publish_platforms %}
|
||||
{% for suite in suites %}
|
||||
{% for project in projects %}
|
||||
- .yamato/promote.yml#promotion_test_{{platform.name}}_{{editor.version}}
|
||||
- .yamato/upm-ci-full.yml#pkg_test_Perception_{{platform.name}}_{{editor.version}}
|
||||
- .yamato/upm-ci-testprojects.yml#{{project.name}}_windows_{{suite.name}}_{{editor.version}}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
|
||||
promote:
|
||||
name: Promote to Production
|
||||
agent:
|
||||
type: Unity::VM
|
||||
image: package-ci/win10:stable
|
||||
flavor: b1.large
|
||||
variables:
|
||||
UPMCI_PROMOTION: 1
|
||||
commands:
|
||||
- npm install upm-ci-utils@stable -g --registry {{ upmci_registry }}
|
||||
- upm-ci package promote --package-path ./com.unity.perception
|
||||
triggers:
|
||||
tags:
|
||||
only:
|
||||
- /^(r|R)elease-\d+\.\d+\.\d+(-preview(\.\d+)?)?$/
|
||||
artifacts:
|
||||
artifacts:
|
||||
paths:
|
||||
- "upm-ci~/packages/*.tgz"
|
||||
dependencies:
|
||||
{% for variant in package_variants %}
|
||||
{% for editor in complete_editors %}
|
||||
{% for platform in publish_platforms %}
|
||||
- .yamato/upm-ci-full.yml#pack_{{ variant.name }}
|
||||
- .yamato/promote.yml#promotion_test_{{ platform.name }}_{{ editor.version }}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
|
@ -0,0 +1,119 @@
|
|||
{% metadata_file .yamato/environments.yml %}
|
||||
|
||||
---
|
||||
{% for variant in package_variants %}
|
||||
pack_{{ variant.name }}:
|
||||
name: Pack {{variant.name}} package
|
||||
agent:
|
||||
type: Unity::VM
|
||||
image: package-ci/win10:stable
|
||||
flavor: b1.large
|
||||
commands:
|
||||
- git submodule update --init --recursive
|
||||
- npm install upm-ci-utils@stable -g --registry {{ upmci_registry }}
|
||||
- upm-ci package pack --package-path ./com.unity.perception/
|
||||
artifacts:
|
||||
packages:
|
||||
paths:
|
||||
- "upm-ci~/packages/**/*"
|
||||
{% endfor %}
|
||||
|
||||
{% for variant in package_variants %}
|
||||
{% for editor in complete_editors %}
|
||||
{% for platform in test_platforms %}
|
||||
pkg_test_{{variant.name}}_{{ platform.name }}_{{ editor.version }}:
|
||||
name : Pkg tests ({{variant.name}} pkg, {{ editor.version }}, {{ platform.name }})
|
||||
agent:
|
||||
type: {{ platform.type }}
|
||||
image: {{ platform.image }}
|
||||
flavor: {{ platform.flavor}}
|
||||
commands:
|
||||
- git submodule update --init --recursive
|
||||
- npm install upm-ci-utils@stable -g --registry {{ upmci_registry }}
|
||||
- upm-ci package test -u {{ editor.version }} --package-path ./com.unity.perception --type vetting-tests
|
||||
artifacts:
|
||||
logs:
|
||||
paths:
|
||||
- "upm-ci~/test-results/**/*"
|
||||
dependencies:
|
||||
- .yamato/upm-ci-full.yml#pack_{{ variant.name }}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
test_trigger:
|
||||
name: Per Commit Tests
|
||||
triggers:
|
||||
branches:
|
||||
only:
|
||||
- "/.*/"
|
||||
cancel_old_ci: true
|
||||
dependencies:
|
||||
{% for variant in package_variants %}
|
||||
{% for editor in per_commit_editors %}
|
||||
{% for platform in test_platforms %}
|
||||
- .yamato/upm-ci-full.yml#pkg_test_{{variant.name}}_{{platform.name}}_{{editor.version}}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
{% for editor in per_commit_editors %}
|
||||
{% for project in projects %}
|
||||
- .yamato/upm-ci-testprojects.yml#{{project.name}}_windows_standalone_{{editor.version}}
|
||||
- .yamato/upm-ci-testprojects.yml#{{project.name}}_linux_standalone_{{editor.version}}
|
||||
- .yamato/upm-ci-testprojects.yml#{{project.name}}_windows_editmode_{{editor.version}}
|
||||
- .yamato/upm-ci-testprojects.yml#{{project.name}}_linux_editmode_{{editor.version}}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
all_tests:
|
||||
name: Complete Tests
|
||||
triggers:
|
||||
recurring:
|
||||
- branch: master
|
||||
frequency: daily # Should run between midnight and 6AM UTC
|
||||
cancel_old_ci: true
|
||||
dependencies:
|
||||
{% for variant in package_variants %}
|
||||
{% for editor in complete_editors %}
|
||||
{% for platform in test_platforms %}
|
||||
- .yamato/upm-ci-full.yml#pkg_test_{{variant.name}}_{{platform.name}}_{{editor.version}}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
{% for editor in coverage_editors %}
|
||||
- .yamato/upm-ci-testprojects.yml#codecoverage_windows_editmode_{{editor.version}}
|
||||
{% endfor %}
|
||||
{% for editor in complete_editors %}
|
||||
{% for project in projects %}
|
||||
- .yamato/upm-ci-testprojects.yml#{{project.name}}_windows_standalone_{{editor.version}}
|
||||
- .yamato/upm-ci-testprojects.yml#{{project.name}}_linux_standalone_{{editor.version}}
|
||||
- .yamato/upm-ci-testprojects.yml#{{project.name}}_mac_standalone_{{editor.version}}
|
||||
- .yamato/upm-ci-testprojects.yml#{{project.name}}_windows_editmode_{{editor.version}}
|
||||
- .yamato/upm-ci-testprojects.yml#{{project.name}}_linux_editmode_{{editor.version}}
|
||||
- .yamato/upm-ci-testprojects.yml#{{project.name}}_mac_editmode_{{editor.version}}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
{% for editor in complete_editors %}
|
||||
{% for project in projects %}
|
||||
- .yamato/upm-ci-performance.yml#{{project.name}}_windows_standalone_{{editor.version}}
|
||||
- .yamato/upm-ci-performance.yml#{{project.name}}_linux_standalone_{{editor.version}}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
all_tests_nightly_perf:
|
||||
name: Nightly Performance Tests
|
||||
triggers:
|
||||
recurring:
|
||||
- branch: performance_testing
|
||||
frequency: daily
|
||||
cancel_old_ci: true
|
||||
dependencies:
|
||||
{% for editor in performance_editors %}
|
||||
{% for project in projects %}
|
||||
- .yamato/upm-ci-performance.yml#{{project.name}}_windows_standalone_{{editor.version}}
|
||||
- .yamato/upm-ci-performance.yml#{{project.name}}_linux_standalone_{{editor.version}}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
|
@ -0,0 +1,111 @@
|
|||
{% metadata_file .yamato/environments.yml %}
|
||||
|
||||
---
|
||||
|
||||
{% for editor in performance_editors %}
|
||||
{% for suite in performance_suites %}
|
||||
{% for project in projects %}
|
||||
{{project.name}}_linux_{{suite.name}}_{{editor.version}}:
|
||||
name : {{project.name}} {{ suite.display_name }} performance tests ({{ editor.version }}, Linux)
|
||||
agent:
|
||||
type: Unity::VM::GPU
|
||||
model: rtx2080
|
||||
image: package-ci/ubuntu:v3.6.0-1145766
|
||||
flavor: b1.large
|
||||
variables:
|
||||
PATH: /root/.local/bin:/home/bokken/bin:/home/bokken/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/sbin:/home/bokken/.npm-global/bin
|
||||
commands:
|
||||
- git submodule update --init --recursive
|
||||
- pip install unity-downloader-cli --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple --upgrade --user
|
||||
- git clone git@github.cds.internal.unity3d.com:unity/utr.git utr
|
||||
- unity-downloader-cli -u {{ editor.version }} -c editor -c StandaloneSupport-IL2CPP -c Linux --wait --published
|
||||
{% if suite.name == "standalone" %}
|
||||
- DISPLAY=:0.0 utr/utr --testproject=./{{project.name}} --editor-location=.Editor --artifacts_path=test-results --stdout-filter=minimal --extra-editor-arg="--force-vulkan" {{suite.args}}StandaloneLinux64 --category="Performance" --report-performance-data --performance-project-id=com.unity.perception --zero-tests-are-ok=1
|
||||
{% else %}
|
||||
- DISPLAY=:0.0 utr/utr --testproject=./{{project.name}} --editor-location=.Editor --artifacts_path=test-results --stdout-filter=minimal --extra-editor-arg="--force-vulkan" {{suite.args}} --category="Performance" --report-performance-data --performance-project-id=com.unity.perception --zero-tests-are-ok=1
|
||||
{% endif %}
|
||||
artifacts:
|
||||
logs:
|
||||
paths:
|
||||
- "test-results/**/*"
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
{% for editor in performance_editors %}
|
||||
{% for suite in performance_suites %}
|
||||
{% for project in projects %}
|
||||
{{project.name}}_windows_{{suite.name}}_{{editor.version}}:
|
||||
name : {{project.name}} {{ suite.display_name }} performance tests ({{ editor.version }}, Windows)
|
||||
agent:
|
||||
type: Unity::VM::GPU
|
||||
model: rtx2080
|
||||
image: graphics-foundation/win10-dxr:stable
|
||||
flavor: b1.large
|
||||
commands:
|
||||
- git submodule update --init --recursive
|
||||
- git clone git@github.cds.internal.unity3d.com:unity/utr.git utr
|
||||
- pip install unity-downloader-cli --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple --upgrade
|
||||
- unity-downloader-cli -u {{ editor.version }} -c editor -c StandaloneSupport-IL2CPP -c Linux --wait --published
|
||||
{% if suite.name == "standalone" %}
|
||||
- utr/utr --testproject=./{{project.name}} --editor-location=./.Editor --artifacts_path=test-results --stdout-filter=minimal --extra-editor-arg="--force-d3d11" {{suite.args}}StandaloneWindows64 --category="Performance" --report-performance-data --performance-project-id=com.unity.perception --zero-tests-are-ok=1
|
||||
{% else %}
|
||||
- utr/utr --testproject=./{{project.name}} --editor-location=./.Editor --artifacts_path=test-results --stdout-filter=minimal --extra-editor-arg="--force-d3d11" {{suite.args}} --category="Performance" --report-performance-data --performance-project-id=com.unity.perception --zero-tests-are-ok=1
|
||||
{% endif %}
|
||||
artifacts:
|
||||
logs:
|
||||
paths:
|
||||
- "test-results/**/*"
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
{% for editor in performance_editors %}
|
||||
{% for suite in performance_suites %}
|
||||
{% for project in projects %}
|
||||
{{project.name}}_mac_{{suite.name}}_{{editor.version}}:
|
||||
name : {{project.name}} {{ suite.display_name }} performance tests ({{ editor.version }}, Mac)
|
||||
agent:
|
||||
type: Unity::metal::macmini
|
||||
image: slough-ops/macos-10.14-base
|
||||
flavor: b1.medium
|
||||
commands:
|
||||
- git submodule update --init --recursive
|
||||
- pip3 config set global.index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple
|
||||
- pip3 install unity-downloader-cli --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple --upgrade --user
|
||||
- git clone git@github.cds.internal.unity3d.com:unity/utr.git utr
|
||||
- $(/usr/local/bin/python3 -m site --user-base)/bin/unity-downloader-cli -u {{ editor.version }} -c editor -c StandaloneSupport-IL2CPP --wait --published
|
||||
{% if suite.name == "standalone" %}
|
||||
- utr/utr --testproject=./{{project.name}} --editor-location=./.Editor --artifacts_path=test-results --stdout-filter=minimal --extra-editor-arg="--force-metal" {{suite.args}}StandaloneOSX --category="Performance" --report-performance-data --performance-project-id=com.unity.perception --zero-tests-are-ok=1
|
||||
{% else %}
|
||||
- utr/utr --testproject=./{{project.name}} --editor-location=./.Editor --artifacts_path=test-results --stdout-filter=minimal --extra-editor-arg="--force-metal" {{suite.args}} --category="Performance" --report-performance-data --performance-project-id=com.unity.perception --zero-tests-are-ok=1
|
||||
{% endif %}
|
||||
artifacts:
|
||||
logs:
|
||||
paths:
|
||||
- "test-results/**/*"
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
# Not including OSX because the only OSX platform on Bokken with a GPU is a Mac Mini, of which there are only a few and setting up Yamato jobs is very complicated.
|
||||
|
||||
# {% for variant in package_variants %}
|
||||
# {% for editor in complete_editors %}
|
||||
# code_coverage_win_{{editor.version}}:
|
||||
# name: Code Coverage Report - Windows
|
||||
# agent:
|
||||
# type: Unity::VM
|
||||
# image: package-ci/win10:stable
|
||||
# flavor: b1.large
|
||||
# commands:
|
||||
# - npm install upm-ci-utils@stable -g --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm
|
||||
# - upm-ci package test --unity-version {{editor.version}} --enable-code-coverage --code-coverage-options 'enableCyclomaticComplexity;generateHtmlReport'
|
||||
# artifacts:
|
||||
# logs:
|
||||
# paths:
|
||||
# - "upm-ci~/test-results/**/*"
|
||||
# dependencies:
|
||||
# - .yamato/upm-ci-full.yml#pack_{{ variant.name }}
|
||||
# {% endfor %}
|
||||
# {% endfor %}
|
|
@ -0,0 +1,174 @@
|
|||
{% metadata_file .yamato/environments.yml %}
|
||||
|
||||
---
|
||||
|
||||
{% for editor in complete_editors %}
|
||||
{% for suite in suites %}
|
||||
{% for project in projects %}
|
||||
{{project.name}}_windows_{{suite.name}}_{{editor.version}}:
|
||||
name : {{project.name}} {{ suite.display_name }} tests ({{ editor.version }}, Windows)
|
||||
agent:
|
||||
type: Unity::VM
|
||||
image: package-ci/win10:stable
|
||||
flavor: b1.large
|
||||
commands:
|
||||
- git submodule update --init --recursive
|
||||
- git clone git@github.cds.internal.unity3d.com:unity/utr.git utr
|
||||
- pip install unity-downloader-cli --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple --upgrade
|
||||
- unity-downloader-cli -u {{ editor.version }} -c editor -c StandaloneSupport-IL2CPP -c Linux --wait --published
|
||||
{% if suite.name == "standalone" %}
|
||||
- utr/utr --testproject=./{{project.name}} --editor-location=./.Editor --reruncount=2 --artifacts_path=test-results --category=!Performance;!Python --stdout-filter=minimal --extra-editor-arg="--force-d3d11 -debugCodeOptimization" {{suite.args}}StandaloneWindows64
|
||||
{% else %}
|
||||
- utr/utr --testproject=./{{project.name}} --editor-location=./.Editor --reruncount=2 --artifacts_path=test-results --category=!Performance --stdout-filter=minimal --extra-editor-arg="--force-d3d11 -debugCodeOptimization" {{suite.args}}
|
||||
{% endif %}
|
||||
- git diff --exit-code *.api # fail if any changes are made to .api files
|
||||
artifacts:
|
||||
logs:
|
||||
paths:
|
||||
- "test-results/**/*"
|
||||
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
{% for editor in coverage_editors %}
|
||||
{% for suite in suites %}
|
||||
codecoverage_windows_{{suite.name}}_{{editor.version}}:
|
||||
name : CodeCoverage {{ suite.display_name }} tests ({{ editor.version }}, Windows)
|
||||
agent:
|
||||
type: Unity::VM
|
||||
image: package-ci/win10:stable
|
||||
flavor: b1.large
|
||||
commands:
|
||||
- git submodule update --init --recursive
|
||||
- unity-downloader-cli -u {{ editor.version }} -c editor -c StandaloneSupport-IL2CPP -c Linux --wait --published
|
||||
- .\.Editor\Unity.exe -projectPath ./PerceptionHDRP -testPlatform editmode -runTests -automated -testResults test-results -debugCodeOptimization -enableCodeCoverage -coverageResultsPath test-results --category=!Performance -coverageOptions enableCyclomaticComplexity;generateHtmlReport;generateBadgeReport;assemblyFilters:+Unity.Perception.Runtime
|
||||
- .\.Editor\Unity.exe -projectPath ./PerceptionHDRP -testPlatform playmode -runTests -automated -testResults test-results -debugCodeOptimization -enableCodeCoverage -coverageResultsPath test-results --category=!Performance -coverageOptions enableCyclomaticComplexity;generateHtmlReport;generateBadgeReport;assemblyFilters:+Unity.Perception.Runtime
|
||||
# - .\.Editor\Unity.exe -projectPath ./PerceptionHDRP -debugCodeOptimization -enableCodeCoverage -coverageResultsPath test-results -coverageOptions enableCyclomaticComplexity;generateHtmlReport;generateBadgeReport;
|
||||
artifacts:
|
||||
logs:
|
||||
paths:
|
||||
- "test-results/**/*"
|
||||
- "TestProjects/PerceptionHDRP/test-results/**/*"
|
||||
dependencies:
|
||||
- .yamato/upm-ci-full.yml#pack_Perception
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
{% for editor in complete_editors %}
|
||||
{% for suite in suites %}
|
||||
{% for project in projects %}
|
||||
{{project.name}}_linux_{{suite.name}}_{{editor.version}}:
|
||||
name : {{project.name}} {{ suite.display_name }} tests ({{ editor.version }}, Linux)
|
||||
agent:
|
||||
type: Unity::VM::GPU
|
||||
model: rtx2080
|
||||
image: package-ci/ubuntu:v3.6.0-1145766
|
||||
flavor: b1.large
|
||||
variables:
|
||||
PATH: /root/.local/bin:/home/bokken/bin:/home/bokken/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/sbin:/home/bokken/.npm-global/bin
|
||||
commands:
|
||||
- git submodule update --init --recursive
|
||||
- pip config set global.index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple
|
||||
- pip install unity-downloader-cli --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple --upgrade --user
|
||||
- git clone git@github.cds.internal.unity3d.com:unity/utr.git utr
|
||||
- unity-downloader-cli -u {{ editor.version }} -c editor -c StandaloneSupport-IL2CPP -c Linux --wait --published
|
||||
{% if suite.name == "standalone" %}
|
||||
- DISPLAY=:0.0 utr/utr --testproject=./{{project.name}} --editor-location=.Editor --reruncount=2 --artifacts_path=test-results --stdout-filter=minimal --category=!Performance --extra-editor-arg="--force-vulkan" {{suite.args}}StandaloneLinux64
|
||||
{% else %}
|
||||
- DISPLAY=:0.0 utr/utr --testproject=./{{project.name}} --editor-location=.Editor --reruncount=2 --artifacts_path=test-results --stdout-filter=minimal --category=!Performance --extra-editor-arg="--force-vulkan" {{suite.args}}
|
||||
{% endif %}
|
||||
artifacts:
|
||||
logs:
|
||||
paths:
|
||||
- "test-results/**/*"
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
{% for editor in complete_editors %}
|
||||
{% for suite in suites %}
|
||||
{% for project in projects %}
|
||||
{{project.name}}_mac_{{suite.name}}_{{editor.version}}:
|
||||
name : {{project.name}} {{ suite.display_name }} tests ({{ editor.version }}, Mac)
|
||||
agent:
|
||||
type: Unity::metal::macmini
|
||||
image: slough-ops/macos-10.14-base
|
||||
flavor: b1.medium
|
||||
variables:
|
||||
PATH: /root/.local/bin:/home/bokken/bin:/home/bokken/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/sbin:/home/bokken/.npm-global/bin
|
||||
commands:
|
||||
- git submodule update --init --recursive
|
||||
|
||||
# Debug stuff.
|
||||
- env | sort
|
||||
|
||||
# Fix SSH config on the VM. The Bokken team is fixing this in the base images.
|
||||
- sed -i '' 's/172\.28\.218\.\*/172\.28\.224\.\*/g' ~/.ssh/config
|
||||
|
||||
# Cleanup stuff for a Yamato Remote re-run. Only delete the source dir on the device if you really need to wipe it.
|
||||
- ssh bokken@$BOKKEN_DEVICE_IP "rm -rf ~/.ssh/id_rsa_cds_github ~/.ssh/config ~/.utr_result ~/setup_codesign.sh"
|
||||
- rm -rf ~/.utr_result
|
||||
|
||||
# Get Github CDS SSH privkey.
|
||||
- echo $GITHUB_CDS_SSH_PRIVKEY | base64 -D -i - -o id_rsa_cds_github
|
||||
- scp id_rsa_cds_github bokken@$BOKKEN_DEVICE_IP:~/.ssh/id_rsa_cds_github
|
||||
- ssh bokken@$BOKKEN_DEVICE_IP "chmod 400 ~/.ssh/*"
|
||||
|
||||
# Get UTR into the test folder.
|
||||
- git clone git@github.cds.internal.unity3d.com:unity/utr.git utr
|
||||
- chmod +x $YAMATO_SOURCE_DIR/utr
|
||||
|
||||
# Upload the repo to the device or update it. The folder will be at ~/YAMATO_SOURCE_DIR in the remote. Ignore dot files to keep it snappy (especially for Yamato Remote).
|
||||
- rsync -uaqP --exclude=".*" --inplace $YAMATO_SOURCE_DIR bokken@$BOKKEN_DEVICE_IP:~/
|
||||
- rsync -uaqP --exclude=".*" --inplace utr bokken@$BOKKEN_DEVICE_IP:~/
|
||||
|
||||
# Install the Unity Downloader.
|
||||
- ssh bokken@$BOKKEN_DEVICE_IP "bash -lc 'pip3 install unity-downloader-cli --user --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple --upgrade'"
|
||||
|
||||
# Get the Editor and required components for the project. This will be rendered as a single line command. Beware of the quotes! They bite, repeatedly. :(
|
||||
- >
|
||||
ssh bokken@$BOKKEN_DEVICE_IP
|
||||
"\$(/usr/bin/python3 -m site --user-base)/bin/unity-downloader-cli \\
|
||||
-u {{ editor.version }} -c StandaloneSupport-IL2CPP \\
|
||||
-c editor \\
|
||||
-c StandaloneSupport-IL2CPP \\
|
||||
--wait \\
|
||||
--published"
|
||||
|
||||
# Build on the device and capture exit code. This will be rendered as a single line command. Beware of the backslashes and the semicolons too.
|
||||
- >
|
||||
ssh bokken@$BOKKEN_DEVICE_IP
|
||||
"export UPM_REGISTRY=$UPM_REGISTRY;
|
||||
echo ==================================================;
|
||||
echo UPM Registry: \$UPM_REGISTRY;
|
||||
echo ==================================================;
|
||||
utr/utr \\
|
||||
--testproject=./perception/{{project.name}} \\
|
||||
--editor-location=.Editor \\
|
||||
--reruncount=2 \\
|
||||
--artifacts_path=test-results \\
|
||||
--category=!Performance \\
|
||||
{{suite.args}} \\
|
||||
--extra-editor-arg="--force-metal";
|
||||
echo \$? > ~/.utr_result;"
|
||||
|
||||
# Read UTR result and data from test device.
|
||||
- scp bokken@$BOKKEN_DEVICE_IP:~/.utr_result ~/.utr_result
|
||||
- rsync -uaqP --inplace bokken@$BOKKEN_DEVICE_IP:~/test-results $YAMATO_SOURCE_DIR
|
||||
|
||||
# Print status and exit with UTR's exit code.
|
||||
- |
|
||||
UTR_RESULT=$(cat ~/.utr_result)
|
||||
echo "=================================================="
|
||||
echo "UTR test exit code: $UTR_RESULT"
|
||||
echo "=================================================="
|
||||
if [ "$UTR_RESULT" != "0" ]; then exit $UTR_RESULT; fi
|
||||
|
||||
artifacts:
|
||||
logs:
|
||||
paths:
|
||||
- "test-results/**/*"
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
|
@ -14,7 +14,7 @@ This page serves as the hub for all Perception-related documentation. We have br
|
|||
| [SOLO Schema](../Schema/SoloSchema.md) | Schema for annotation, metric, and ground-truth data for the default SOLO endpoint |
|
||||
| [Labeling](../GroundTruthLabeling.md) | A component that marks a GameObject and its descendants with a set of labels |
|
||||
| [Label Config](../GroundTruthLabeling.md#label-config) | An asset that defines a taxonomy of labels for ground truth generation |
|
||||
| [Randomization](../Randomization/Index.md) | The Randomization tool set lets you integrate domain randomization principles into your simulation. |
|
||||
| [Randomization](../Randomization/index.md) | The Randomization tool set lets you integrate domain randomization principles into your simulation. |
|
||||
| [FAQ](../FAQ/FAQ.md) | Frequently Asked Questions about common workflows and issues. |
|
||||
| [Legacy Perception Schema](../Schema/PerceptionSchema.md) | Schema for annotation, metric, and ground-truth data for the legacy Perception endpoint |
|
||||
|
||||
|
@ -34,7 +34,7 @@ This page serves as the hub for all Perception-related documentation. We have br
|
|||
|
||||
| Feature | Description |
|
||||
|-------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| [Randomization](../Randomization/Index.md) | The Randomization toolset lets you integrate domain randomization principles into your simulation. |
|
||||
| [Randomization](../Randomization/index.md) | The Randomization toolset lets you integrate domain randomization principles into your simulation. |
|
||||
| [Scenarios](../Randomization/Scenarios.md) | Scenarios control execution flow of your simulation – how many iterations to run the simulation, what randomizers to use, etc. |
|
||||
| [Randomizers](../Randomization/Randomizers.md) | Randomizers encapsulate specific randomization activities to perform during the lifecycle of a randomized simulation. |
|
||||
| [Randomizer Tags](../Randomization/RandomizerTags.md) | RandomizerTags are the primary mechanism by which Randomizers query for a certain subset of GameObjects to randomize within a simulation. |
|
||||
|
|
|
@ -56,7 +56,7 @@ In-depth documentation on specific components of the package. For the full set o
|
|||
| [Label Config](GroundTruthLabeling.md#label-config) | An asset that defines a taxonomy of labels for ground truth generation |
|
||||
| [Perception Camera](PerceptionCamera.md) | Captures RGB images and ground truth from a [Camera](https://docs.unity3d.com/Manual/class-Camera.html). |
|
||||
| [Dataset Capture](DatasetCapture.md) | Ensures sensors are triggered at proper rates and accepts data for the JSON dataset. |
|
||||
| [Randomization](Randomization/Index.md) | The Randomization tool set lets you integrate domain randomization principles into your simulation. |
|
||||
| [Randomization](Randomization/index.md) | The Randomization tool set lets you integrate domain randomization principles into your simulation. |
|
||||
| [Output Endpoint](Features/CustomEndpoints.md) | Currently supported output endpoints are: No Output, Perception endpoint, and Solo endpoint. |
|
||||
|
||||
## Community and Support
|
||||
|
|
|
@ -0,0 +1,95 @@
|
|||
# Overview
|
||||
|
||||
The randomization toolset simplifies randomizing aspects of generating synthetic data. It facilitates exposing parameters for randomization, offers samplers to pick random values from parameters, and provides Scenarios to coordinate a full randomization process. Each of these also allows for custom implementations to fit particular randomization needs.
|
||||
|
||||
#### What is Domain Randomization?
|
||||
|
||||
Domain randomization is used to create variability in synthetic datasets to help ML models trained in a synthetic domain (Unity) work well in real world applications. The intuition is that the real world is complex and varies widely, while synthetic datasets have limited variation. By randomizing parts of the synthetic domain the ML model will be exposed to enough variability to perform well when deployed. Domain randomization techniques vary widely in what they randomize and how they choose the randomization to apply. The randomization toolset is intended to facilitate a broad variety of implementations and applications.
|
||||
|
||||
Our use of domain randomization draws from Tobin et al.'s (2017) work on training robotic pick and place using purely synthetic data.
|
||||
|
||||
#### How can a Unity project be randomized using the Perception Randomization toolset?
|
||||
|
||||
Randomizing a project involves the following steps:
|
||||
1. Create a Scenario
|
||||
2. Define and add Randomizers to the Scenario
|
||||
3. Customize Parameters and Samplers in the Randomizers
|
||||
4. Generate randomized computer vision training data
|
||||
|
||||
Beginning with step 1, add a Scenario component to your simulation. This Scenario will act as the central hub for all randomization activities that occur when your scene is executed.
|
||||
|
||||
Next, add a few Randomizers to the Scenario. The Randomizers, in conjunction with the Scenario, will perform the actual randomization activities within the simulation.
|
||||
|
||||
After adding the necessary Randomizers, configure the random Parameters assigned to each Randomizer to further customize how the simulation is Randomized. The random Parameters and Samplers exposed in each Randomizer's inspector can be manipulated to specify different probability distributions to use when generating random values.
|
||||
|
||||
Once the project has been randomized and your scene has been configured with the data capture tools available in the Perception package, enter play mode in the editor or execute your Scenario through the Unity Simulation cloud service to generate domain randomized perception data.
|
||||
|
||||
### Randomizers Included with Perception
|
||||
|
||||
The Perception package comes with a plethora of randomizers that you can use to randomize your dataset projects – swap materials, textures, randomize lighting, material properties and more! For a description of what kinds of randomizers we have to offer, take a look at the [Randomizer Library](RandomizerLibrary.md)!
|
||||
|
||||
|
||||
## Further Reading
|
||||
|
||||
Continue reading for more details concerning the primary components driving randomizations in the Perception package, including:
|
||||
1. Scenarios
|
||||
2. Randomizers
|
||||
3. Randomizer Tags
|
||||
4. Parameters
|
||||
5. Samplers
|
||||
|
||||
<br>
|
||||
<p align="center">
|
||||
<img src="../images/Randomization/randomization_uml.png" width="900"/>
|
||||
<br><i>Class diagram for the randomization framework included in the Perception package</i>
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
## Scenarios
|
||||
|
||||
Within a randomized simulation, the Scenario component has three responsibilities:
|
||||
1. Controlling the execution flow of your simulation
|
||||
2. Defining a list of Randomizers
|
||||
3. Defining constants that can be configured externally from a built Unity player
|
||||
|
||||
The fundamental principle of domain randomization is to simulate environments under a variety of randomized conditions. Each Iteration of a Scenario is intended to encapsulate one complete run of a simulated environment under uniquely randomized conditions. Scenarios further define what conditions determine the end of an Iteration and how many Iterations to perform.
|
||||
|
||||
To actually randomize a simulation, Randomizers can be added to a Scenario to vary different simulation properties. At runtime, the Scenario will execute each Randomizer according to its place within the Randomizer list.
|
||||
|
||||
Scenarios can also define constants from which to expose global simulation behaviors automatically. By modifying serialized constants externally, users can customize their simulation runtime even after their project has been built.
|
||||
|
||||
To read more about Scenarios and how to customize them, navigate over to the **[Scenarios documentation](Scenarios.md)**.
|
||||
|
||||
|
||||
## Randomizers
|
||||
|
||||
Randomizers encapsulate specific randomization activities to perform during the lifecycle of a randomized simulation. For example, Randomizers exist for spawning objects, repositioning lights, varying the color of objects, etc. Randomizers expose random Parameters to their inspector interface to further customize these variations.
|
||||
|
||||
To read more about how to create custom Parameter types, navigate over to the **[Randomizers documentation](Randomizers.md)**.
|
||||
|
||||
|
||||
## Randomizer Tags
|
||||
|
||||
RandomizerTags are the primary mechanism by which Randomizers query for a certain subset of GameObjects to randomize within a simulation. For example, a rotation Randomizer could query for all GameObjects with a RotationRandomizerTag component to obtain an array of all objects the Randomizer should vary for the given simulation Iteration.
|
||||
|
||||
To read more about how to use RandomizerTags, navigate over to the **[RandomizerTags documentation](RandomizerTags.md)**.
|
||||
|
||||
|
||||
## Parameters
|
||||
|
||||
Parameters are classes that utilize Samplers to deterministically generate random typed values. Parameters are often exposed within the inspector interface of Randomizers to allow users to customize said Randomizer's behavior. To accomplish this, Parameters combine and transform the float values produced by one or more Samplers into various C# types. For example, a Vector3 Parameter can be used to map three Samplers to the x, y, and z dimensions of a GameObject. Or a material Parameter can utilize a Sampler to randomly select one material from a list of possible options.
|
||||
|
||||
To read more about how to create custom Parameter types, navigate over to the **[Parameters documentation](Parameters.md)**.
|
||||
|
||||
|
||||
## Samplers
|
||||
|
||||
Samplers generate bounded random float values by sampling from probability distributions. They are considered bounded since each random sampler generates float values within a range defined by a minimum and maximum value.
|
||||
|
||||
Take a look at the **[Samplers doc](Samplers.md)** to learn more about implementing custom probability distributions and samplers that can integrate with the Perception package.
|
||||
|
||||
|
||||
## Getting Started
|
||||
|
||||
Visit the [Perception Tutorial](../Tutorial/TUTORIAL.md) to get started using the Perception package's randomization tools in an example project.
|
|
@ -5,5 +5,5 @@
|
|||
* [Labeling](GroundTruthLabeling.md)
|
||||
* [Perception Camera](PerceptionCamera.md)
|
||||
* [Dataset Capture](DatasetCapture.md)
|
||||
* [Randomization](Randomization/Index.md)
|
||||
* [Randomization](Randomization/index.md)
|
||||
|
||||
|
|
|
@ -0,0 +1,95 @@
|
|||
<p align="center">
|
||||
<img src="images/unity-wide-whiteback.png" align="middle" width="600"/>
|
||||
</p>
|
||||
<div align="center">
|
||||
<h1>Perception Package</h1>
|
||||
<span>by </span><a href="https://unity.com/computer-vision" target="_blank">Unity Computer Vision</a>
|
||||
</div>
|
||||
<br />
|
||||
<p align="center">
|
||||
<img src="https://badge-proxy.cds.internal.unity3d.com/5ab9a162-9dd0-4ba1-ba41-cf25378a927a" alt="Perception production version" />
|
||||
<a href="./LICENSE.md">
|
||||
<img src="https://img.shields.io/badge/license-Apache--2.0-green.svg" alt="License Badge" />
|
||||
</a>
|
||||
<img src="https://img.shields.io/badge/unity-2021.3-green.svg?style=flat-square" alt="unity 2021.3">
|
||||
<img src="https://img.shields.io/badge/unity-2022.1-green.svg?style=flat-square" alt="unity 2022.1">
|
||||
</p>
|
||||
|
||||
<blockquote>
|
||||
<p align="center">
|
||||
<a href="https://create.unity.com/computer-vision-newsletter-sign-up?_gl=1*m30uzd*_gcl_aw*R0NMLjE2NDE4MzcyMjAuQ2p3S0NBaUF6LS1PQmhCSUVpd0FHMXJJT2tyQnYwaFFpQUtBQ1pwdXlzeklPbkdtRHp4dnVVOXNSem1EY0dwaTdLOFRra3FQc2gwLTFSb0NHQlFRQXZEX0J3RQ..*_gcl_dc*R0NMLjE2NDE4MzcyMjAuQ2p3S0NBaUF6LS1PQmhCSUVpd0FHMXJJT2tyQnYwaFFpQUtBQ1pwdXlzeklPbkdtRHp4dnVVOXNSem1EY0dwaTdLOFRra3FQc2gwLTFSb0NHQlFRQXZEX0J3RQ">Join our Mailing List!</a> Sign up to stay up-to-date on our latest feature release, community events, blog posts, and more!
|
||||
</p>
|
||||
</blockquote>
|
||||
|
||||
<p align="center">
|
||||
<img src="images/labeler-showcase.jpg" align="center" />
|
||||
</p>
|
||||
|
||||
> `com.unity.perception` is in active development. Its features and API are subject to significant change as development progresses.
|
||||
|
||||
The Perception package provides a toolkit for generating large-scale synthetic datasets for computer vision training and validation. It is focused on a handful of camera-based use cases for now and will ultimately expand to other forms of sensors and machine learning tasks.
|
||||
|
||||
## Getting Started with Perception Package
|
||||
|
||||
**[Quick Start Guide](SetupSteps.md)**
|
||||
Adding the Perception package to your existing project. Recommended for users already familiar with Unity and the Perception package. If this is the first time exploring our toolset, we highly recommend briefly going through the **[Perception Synthetic Data Tutorial](Tutorial/TUTORIAL.md)** below!
|
||||
|
||||
**[🌟 Perception Synthetic Data Tutorial 🌟](Tutorial/TUTORIAL.md)**
|
||||
Ideal for those new to either Unity, the Perception package, or synthetic data in general. Detailed instructions covering all the important steps: installing the Unity Editor, creating your first synthetic data generation project, adding domain randomization, visualizing, and analyzing your generated datasets. **No prior experience required.**
|
||||
|
||||
**[Human Pose Labeling and Randomization Tutorial](HumanPose/TUTORIAL.md)**
|
||||
Step by step instructions for using the keypoint, pose, and animation randomization tools included in the Perception package. We recommend that you complete the Perception Tutorial above before diving into this guide!
|
||||
|
||||
**[Frequently Asked Questions](FAQ/FAQ.md)**
|
||||
Check out our FAQ for a list of common questions, tips, tricks, and sample code for common code patterns.
|
||||
|
||||
**[Verifying Datasets with Dataset Insights](Tutorial/DatasetInsights.md)**
|
||||
Introduction to Unity's [Dataset Insights](https://github.com/Unity-Technologies/datasetinsights) – a python package for downloading, parsing and analyzing synthetic datasets.
|
||||
|
||||
## Reference Documentation
|
||||
|
||||
In-depth documentation on specific components of the package. For the full set of feature-based documentation, take a look at the [Features](Features/index.md) page.
|
||||
|
||||
| Feature | Description |
|
||||
|-----------------------------------------------------|----------------------------------------------------------------------------------------------------------|
|
||||
| [Labeling](GroundTruthLabeling.md) | A component that associates a GameObject and its descendants with a set of "labels." |
|
||||
| [Label Config](GroundTruthLabeling.md#label-config) | An asset that defines a taxonomy of labels for ground truth generation |
|
||||
| [Perception Camera](PerceptionCamera.md) | Captures RGB images and ground truth from a [Camera](https://docs.unity3d.com/Manual/class-Camera.html). |
|
||||
| [Dataset Capture](DatasetCapture.md) | Ensures sensors are triggered at proper rates and accepts data for the JSON dataset. |
|
||||
| [Randomization](Randomization/index.md) | The Randomization tool set lets you integrate domain randomization principles into your simulation. |
|
||||
| [Output Endpoint](Features/CustomEndpoints.md) | Currently supported output endpoints are: No Output, Perception endpoint, and Solo endpoint. |
|
||||
|
||||
## Community and Support
|
||||
|
||||
For setup problems or discussions about leveraging the Perception package in your project, please create a new thread on the **[Unity Computer Vision forums](https://forum.unity.com/forums/computer-vision.626/)** with details such as operating system, reproduction steps, etc. If you run into any other problems with the Perception package or have a specific feature request, please open a **[GitHub Issue](https://github.com/Unity-Technologies/com.unity.perception/issues)**.
|
||||
|
||||
For any other questions or feedback, connect directly with the Computer Vision team at [computer-vision@unity3d.com](mailto:computer-vision@unity3d.com).
|
||||
|
||||
## Projects using Perception!
|
||||
|
||||
### SynthDet
|
||||
<img src="images/synthdet.png"/>
|
||||
|
||||
[**SynthDet**](https://github.com/Unity-Technologies/SynthDet) is an end-to-end solution for training a 2D object detection model using synthetic data.
|
||||
|
||||
### Robotics Object Pose Estimation Demo
|
||||
<img src="images/robotics_pose.png"/>
|
||||
|
||||
The [**Robotics Object Pose Estimation**](https://github.com/Unity-Technologies/Robotics-Object-Pose-Estimation) project demonstrates pick-and-place with a robot arm in Unity. It includes using ROS with Unity, importing URDF models, collecting labeled training data using the Perception package, and training and deploying a deep learning model.
|
||||
|
||||
## Local development
|
||||
The repository includes a test project for local development located at `TestProjects/PerceptionHDRP`.
|
||||
|
||||
### Suggested IDE Setup
|
||||
For closest standards conformity and best experience overall, JetBrains Rider or Visual Studio w/f JetBrains Resharper are suggested. For optimal experience, allow navigating to code in all packages included in your project. In your Unity Editor, navigate to `Preferences` → `External Tools` and check `Generate all .csproj files.`
|
||||
|
||||
## License & Citation
|
||||
The Perception package is licensed under [Apache License Version 2.0](LICENSE.md). If you find this package useful, consider citing it using:
|
||||
```
|
||||
@misc{unity-perception2022,
|
||||
title={Unity {P}erception Package},
|
||||
author={{Unity Technologies}},
|
||||
howpublished={\url{https://github.com/Unity-Technologies/com.unity.perception}},
|
||||
year={2020}
|
||||
}
|
||||
```
|
Загрузка…
Ссылка в новой задаче