Преглед на файлове

Merge branch 'master' of https://github.com/stride3d/stride-docs

tebjan преди 3 години
родител
ревизия
5fd49b04b8
променени са 100 файла, в които са добавени 2570 реда и са изтрити 29 реда
  1. 1728 0
      GUIDELINES.jp.md
  2. 5 1
      build/deploy.ps1
  3. 1 0
      build/stride-doc.PublishSettings
  4. 0 1
      build/xenko-doc.azurewebsites.net.PublishSettings
  5. 0 1
      build/xenko-doc.azurewebsites.net.PublishSettings.staging
  6. 2 2
      en/manual/animation/animation-scripts.md
  7. 2 2
      en/manual/animation/custom-blend-trees.md
  8. 61 2
      en/manual/animation/procedural-animation.md
  9. 1 1
      en/manual/audio/non-spatialized-audio.md
  10. 1 1
      en/manual/get-started/install-stride.md
  11. 1 1
      en/manual/graphics/effects-and-shaders/custom-shaders.md
  12. 2 2
      en/manual/graphics/effects-and-shaders/shading-language/index.md
  13. 11 9
      en/manual/graphics/graphics-compositor/custom-scene-renderers.md
  14. 2 0
      en/manual/graphics/post-effects/ambient-occlusion.md
  15. 2 0
      en/manual/graphics/post-effects/anti-aliasing.md
  16. 2 0
      en/manual/graphics/post-effects/bloom.md
  17. 2 0
      en/manual/graphics/post-effects/bright-filter.md
  18. 2 0
      en/manual/graphics/post-effects/depth-of-field.md
  19. 32 0
      en/manual/graphics/post-effects/fog.md
  20. 2 0
      en/manual/graphics/post-effects/index.md
  21. 2 0
      en/manual/graphics/post-effects/lens-flare.md
  22. 2 0
      en/manual/graphics/post-effects/light-streaks.md
  23. 3 0
      en/manual/graphics/post-effects/media/fog-effect-1.png
  24. 3 0
      en/manual/graphics/post-effects/media/fog-effect-2.png
  25. 3 0
      en/manual/graphics/post-effects/media/outline-effect-1.png
  26. 3 0
      en/manual/graphics/post-effects/media/outline-effect-2.png
  27. 33 0
      en/manual/graphics/post-effects/outline.md
  28. 1 0
      en/manual/ui/add-a-ui-to-a-scene.md
  29. 1 1
      en/template/partials/footer.tmpl.partial
  30. 3 0
      en/tutorials/csharpbeginner/add-component.md
  31. 2 0
      en/tutorials/csharpbeginner/child-entities.md
  32. 2 0
      en/tutorials/csharpbeginner/cloning-entities.md
  33. 2 0
      en/tutorials/csharpbeginner/delta-time.md
  34. 3 0
      en/tutorials/csharpbeginner/editor-properties.md
  35. 2 0
      en/tutorials/csharpbeginner/entity.md
  36. 2 0
      en/tutorials/csharpbeginner/get-component.md
  37. 8 2
      en/tutorials/csharpbeginner/index.md
  38. 3 0
      en/tutorials/csharpbeginner/instantiating-prefabs.md
  39. 2 0
      en/tutorials/csharpbeginner/keyboard-input.md
  40. 3 0
      en/tutorials/csharpbeginner/linear-interpolation.md
  41. 3 0
      en/tutorials/csharpbeginner/loading-content.md
  42. 2 0
      en/tutorials/csharpbeginner/mouse-input.md
  43. 2 0
      en/tutorials/csharpbeginner/removing-entities.md
  44. 4 0
      en/tutorials/csharpbeginner/transform-position.md
  45. 3 0
      en/tutorials/csharpbeginner/virtual-buttons.md
  46. 1 0
      jp-build.ps1
  47. 104 0
      jp/index.md
  48. 1 1
      jp/manual/animation/additive-animation.md
  49. 1 1
      jp/manual/animation/animation-properties.md
  50. 1 1
      jp/manual/animation/animation-scripts.md
  51. 141 0
      jp/manual/animation/custom-attributes.md
  52. 3 0
      jp/manual/animation/media/111.png
  53. 3 0
      jp/manual/animation/media/112.png
  54. 3 0
      jp/manual/animation/media/113.png
  55. 3 0
      jp/manual/animation/media/2d-animations-select-sprite-borders.jpg
  56. 3 0
      jp/manual/animation/media/2d-animations-select-sprite-borders.mp4
  57. 3 0
      jp/manual/animation/media/2d-animations-select-sprites-sprite-sheet.png
  58. 3 0
      jp/manual/animation/media/2d-animations-sprite-navigation-tools.png
  59. 3 0
      jp/manual/animation/media/2d-animations-sprite-sheet-frames.png
  60. 3 0
      jp/manual/animation/media/add-animation-asset.png
  61. 3 0
      jp/manual/animation/media/add-animation-script-component.png
  62. 3 0
      jp/manual/animation/media/add-animation-start-script.png
  63. 3 0
      jp/manual/animation/media/add-animation-to-list.png
  64. 3 0
      jp/manual/animation/media/add-animation.png
  65. 221 0
      jp/manual/animation/media/adjust sprite border.tscproj
  66. 3 0
      jp/manual/animation/media/animation-asset-added.png
  67. 3 0
      jp/manual/animation/media/animation-script-added.png
  68. 3 0
      jp/manual/animation/media/animations-add-animation-component-to-entity.png
  69. 3 0
      jp/manual/animation/media/animations-add-animation-pick-an-asset-up.png
  70. 3 0
      jp/manual/animation/media/animations-added-to-component.png
  71. 3 0
      jp/manual/animation/media/animations-additive-animations-0.png
  72. 3 0
      jp/manual/animation/media/animations-additive-animations-1.png
  73. 3 0
      jp/manual/animation/media/animations-additive-animations-2.png
  74. 3 0
      jp/manual/animation/media/animations-additive-animations-3.png
  75. 3 0
      jp/manual/animation/media/animations-additive-animations-4.png
  76. 3 0
      jp/manual/animation/media/animations-additive-animations-add-additive-animation-asset.png
  77. 3 0
      jp/manual/animation/media/animations-additive-animations-animation-start.png
  78. 3 0
      jp/manual/animation/media/animations-additive-animations-choose-base-file.png
  79. 3 0
      jp/manual/animation/media/animations-additive-animations-choose-play-mode.png
  80. 3 0
      jp/manual/animation/media/animations-additive-animations-choose-skeleton-and-preview-model.png
  81. 3 0
      jp/manual/animation/media/animations-additive-animations-choose-source-file.png
  82. 3 0
      jp/manual/animation/media/animations-additive-animations-difference-clip.png
  83. 3 0
      jp/manual/animation/media/animations-additive-animations-intro-pic.png
  84. 3 0
      jp/manual/animation/media/animations-additive-animations-intro-pic.psd
  85. 3 0
      jp/manual/animation/media/animations-additive-animations-linearblend-blending.png
  86. 3 0
      jp/manual/animation/media/animations-additive-animations-preview-animations.jpg
  87. 3 0
      jp/manual/animation/media/animations-additive-animations-preview-animations.mp4
  88. 3 0
      jp/manual/animation/media/animations-additive-animations-select-add-blending.png
  89. 3 0
      jp/manual/animation/media/animations-additive-animations-start2.png
  90. 3 0
      jp/manual/animation/media/animations-additive-sample.gif
  91. 3 0
      jp/manual/animation/media/animations-import-animations-animation-preview.jpg
  92. 3 0
      jp/manual/animation/media/animations-import-animations-animation-preview.mp4
  93. 3 0
      jp/manual/animation/media/animations-import-animations-asset-preview-tab.png
  94. 3 0
      jp/manual/animation/media/animations-import-animations-choose-preview-models.jpg
  95. 3 0
      jp/manual/animation/media/animations-import-animations-choose-preview-models.mp4
  96. 3 0
      jp/manual/animation/media/animations-import-animations-preview-animation-pick-an-asset.png
  97. 3 0
      jp/manual/animation/media/animations-import-mesh-choose-asset-type-animations.png
  98. 3 0
      jp/manual/animation/media/animations-index1.png
  99. 3 0
      jp/manual/animation/media/animations-intro-pic.png
  100. 3 0
      jp/manual/animation/media/animations-intro-pic.psd

+ 1728 - 0
GUIDELINES.jp.md

@@ -0,0 +1,1728 @@
+---
+breaks: false
+---
+
+# ガイドライン
+<!--
+# Guidelines
+-->
+
+日々の作業において、Stride ユーザーは、あなたの書いた記事を読んで Stride Game Engine について学習することになるでしょう。
+誰にでもわかりやすく、利用しやすいページを書くことを心がけてください。
+あなたの探求をお手伝いし、ドキュメントを統一し使いやすいものにするために、以下のガイドラインに沿って執筆してくださるようお願いします。
+<!--
+Stride users will be reading your articles to learn about the engine in their every day work. 
+Your goal is to write pages that are easy to understand and accessible to all. 
+To help you in your quest and to have an unified documentation easy to use,
+we ask you to follow to the below Guidelines when writing.
+-->
+
+* [執筆スタイル](#Style)
+  * [会話のトーン](#Tone)
+  * [二人称](#Person)
+  * [能動態](#ActiveVoice)
+  * [簡単な言葉](#SimpleVocabulary)
+* [ページの構成](#PagesContent)
+  * [「はじめに(Getting Started)」ページ](#GettingStarted)
+  * [チュートリアル ページ](#Tutorials)
+  * [セクション ヘッダー ページ](#SectionHeader)
+  * [参照ページ](#Reference)
+  * [HOWTOページ](#Howtos)
+  * [長い説明は避けよう](#LongExplanations)
+  * [長い文章は避けよう](#LongArticles)
+  * [画像とビデオを使おう](#UseImagesVideos)
+* [ページとファイルの構造](#FilesStructure)
+  * [ページの階層](#PagesHierarchy) 
+  * [ページの順序](#PagesOrder)
+  * [ファイルの階層](#FilesHierarchy)
+  * [ファイルの名前](#FilesName)
+* [書式](#Formatting)
+  * [テキストスタイル](#Styling)
+  * [用語の定義](#Definitions)
+    * [Stride 用語](#StrideTerms)
+    * [ビデオゲーム用語](#VideoGameTerms)
+    * [作業固有の用語](#JobTerms)
+  * [ページの参照](#References)
+  * [関連するトピック](#RelatedTopics)
+  * [API リファレンス](#APIReferences)
+  * [コードリファレンス](#CodeReference)
+  * [プレースホルダー](#Placeholders)
+  * [ラベル](#Labels)
+  * [備考](#Remarks)
+  * [プラットフォーム固有の補足](#PlatformRemarks)
+  * [通知事項](#Notices)
+  * [メディア](#Media)
+    * [ビデオ](#Videos)
+    * [画像](#Images)
+    * [ダイアグラム](#Diagrams)
+  * [表(テーブル)](#Tables)
+  * [箇条書き(リスト)](#Lists)
+  * [ヘッダー](#Headers)
+  * [大文字表記](#Capitalization)
+  
+注意:以下に述べる方向性はただのガイドラインであり、規則ではありません。
+特定の状況に適さない場合は、無視して構いません。
+<!--
+Note: The following directions are just guidelines not rules. 
+If they are not appropriate to your specific use-case, feel free to ignore them.
+-->
+
+# <a name="Style"> 執筆スタイル </a>
+<!--
+# <a name="Style"> Writing Style </a>
+-->
+
+## <a name="Tone"> 会話のトーン </a>
+<!--
+## <a name="Tone"> Conversation Tone </a>
+-->
+
+> **適切**
+>
+> ドキュメントは会話調にしたいと思っています。
+> 私たちのチュートリアルや解説を読んでいると、著者と会話をしているような感覚になることでしょう。
+> 読者として、形式張らず、くだけた、有益な体験をして、筆者が説明してくれるのを聞いているような感覚になるはずです。
+>
+> **不適切**
+>
+> 会話調の文体と、技術的な話題に対する学術的な扱いの文体が混在しています。
+> とても役に立つ情報ですが、それらの記事は私たちのドキュメントとは全く異なるスタイルで書かれています。
+> 学術雑誌を読むときのような、非常に異なるトーンとスタイルで書かれているのを目にします。
+> 非常に乾いた話題の、乾いた説明を読んでいるような気がします。 
+
+<!--
+> **Appropriate**
+> 
+> We want our documentation to have a conversational tone. You should feel as though you
+> are having a conversation with the author as you read any of our tutorials or explanations.
+> Your experience as a reader should be informal, conversational, and informative. You should
+> feel as though you are listening to the author explain the concepts to you.
+> 
+> **Inappropriate Style**
+>
+> One might see the contrast between a conversational style and the style one finds with
+> more academic treatments of technical topics. Those resources are very useful, but the authors
+> have written those articles in a very different style than our documentation. When one reads
+> an academic journal, one finds a very different tone and a very different style of writing.
+> One feels that they are reading a dry account of a very dry topic.  
+-->
+
+上段は、私たちの推奨する会話スタイルです。下段は、より学術的なスタイルです。すぐに違いがわかります。
+
+一方で、口語的になりすぎないように注意が必要です。
+"You gonna see", "We'll see", "We've" などの表現は避けるべきです。
+
+<!--
+The first paragraph above follows our recommendation conversational style. The second
+is a more academic style. You see the difference immediately. 
+
+One the other hand, you should be careful not to become too much colloquial too.
+Expressions like "You gonna see", "We'll see", "We've" are to avoid.
+-->
+
+##  <a name="Person"> 二人称 </a>
+<!--
+##  <a name="Person"> Second Person </a>
+-->
+
+> **適切**
+>
+> あなたは、記事を読者に直接話しかけているかのように書くべきです。
+> あなたは、二人称を頻繁に使うべきです。(この2つの文章で私が使ったように)
+> 二人称は必ずしも「あなた」という言葉を使うわけではありません。読者に直接向かって書きなさい。
+> 命令文を書きなさい。読者に何を学んでほしいかを伝えなさい。
+>
+> **不適切**
+>
+> 著者が、三人称で書くことを選択するかもしれません。
+> その場合、彼は、読者を表す代名詞や名詞を見つけなければなりません。
+> 読者は、この三人称スタイルが好ましくなく、読んでいて楽しくないと思うかもしれません。
+
+<!--
+> **Appropriate**
+> 
+> You should write your articles as though you are speaking directly to the reader. 
+> You should use second person often (as I just have in these two sentences). 
+> 2nd person doesn't always mean using the word 'you'. Write directly to the reader. 
+> Write imperative sentences. Tell your reader what you want them to learn.
+> 
+> **Inappropriate**
+> 
+> An author could also choose to write in 3rd person. In that model, an author must find 
+> some pronoun or noun to use when referring to the reader. A reader might often find 
+> this 3rd person style less engaging and less enjoyable to read.
+-->
+
+上段は、私たちの推奨するスタイルです。下段では三人称を使用しています。
+二人称で書いてください。あなたもその方が読みやすいと思ったのではないでしょうか。
+<!--
+The first paragraph follows our recommended style. The second uses 3rd person. 
+Please write in second person. You probably found that much easier to read.
+-->
+
+##  <a name="ActiveVoice"> 能動態 </a>
+<!--
+##  <a name="ActiveVoice"> Active Voice </a>
+-->
+
+能動態で記事を書きましょう。
+能動態とは、文の主語がその文の動作(動詞)を行うことを意味します。
+これは、主語が従わせられるように記述される受動態とは対照的です。
+次の2つの例を比べてみてください。
+<!--
+Write your articles in active voice. Active voice means that the subject of 
+the sentence performs the action (verb) of that sentence. It contrasts with passive voice, 
+where the sentence is arranged such that the subject of the sentence is acted upon. 
+Contrast these two examples:
+-->
+
+> **適切**
+> 
+> コンパイラは、ソースコードを実行ファイルに変換しました。
+>
+> **不適切**
+> 
+> ソースコードは、コンパイラによって実行ファイルに変換されました。
+
+<!--
+> **Appropriate**
+> 
+> The compiler transformed source code into an executable.
+
+> **Inappropriate**
+> 
+> The source code was transformed into an executable by the compiler.
+-->
+
+最初の文は、能動態を使っています。2つ目の文は、受動態で書かれています。
+(この2つの文も、それぞれのスタイルの例になっていますね。)
+
+能動態の方が読みやすいのでおすすめです。受動態は読みにくくなることがあります。
+
+<!--
+The first sentence uses active voice. The second sentence was written in passive voice. 
+(Those two sentences provide another example of each style).
+
+We recommend active voice because it is more readable. Passive voice can be more difficult to read.
+-->
+
+##  <a name="SimpleVocabulary"> 簡単な言葉 </a>
+<!--
+##  <a name="SimpleVocabulary"> Simple Vocabulary </a>
+-->
+
+記事を書くときは、Stride のユーザーは全員が英語を母国語としているわけではないことを覚えておいてください。
+あなたの記事を読む人はさまざまであり、あなたが知っている語彙を知らない可能性もあります。
+
+一般的に、「5年生の読解力」を目処に書いてみてください。
+
+<!--
+Keep in mind that Stride users are not all native English speaker when you write your articles.
+Your audience is international and they probably don't have the vocabulary you have.
+
+As a general rule try to *target a 5th grade reading level" when you write.
+-->
+
+#  <a name="PagesContent"> ページの構成 </a>
+<!--
+#  <a name="PagesContent"> Pages Content </a>
+-->
+
+Stride のドキュメントは、さまざまな種類のページで構成されます。
+期待される内容とページレイアウトは、その種類に強く依存します。
+記事を書く前にまずどんな種類のページにするのかを決め、それから、次に示す、内容とレイアウトのテンプレートに従ってください。
+
+ページの種類に基づく内容とレイアウトのガイドラインに加えて、
+このセクションの最後に、内容に関する一般的な推奨事項をいくつか挙げておきます。
+
+<!--
+Stride documentation is composed of different types of pages. The expected content and layout
+of the page directly depends on the type. Before writing your article, start by identifying the 
+type of page you are targeting, then follow the below templates for content and layout.
+
+In addition to content and layout guidelines based on the type of page, we finish this section 
+with a few generic recommendations for the content.
+-->
+
+##  <a name="GettingStarted"> 「はじめに(Getting Started)」ページ </a>
+<!--
+##  <a name="GettingStarted"> Getting Started Pages </a>
+-->
+
+「はじめに」の記事は、Stride の新規ユーザーの最初の一歩を導くことを目的としています。
+このページでは、基本的で本質的な話題のみをカバーし、その概念を深く説明する必要はありません。
+1ページに1つのテーマだけを取り上げてください。
+<!--
+Getting Started articles aim at guiding new Stride users in their first steps. Pages should cover only basic 
+and essential topics and don't need to explain concepts in depth. Only one subject should be covered per page.
+-->
+
+あらゆるタイプの読者を対象にしたページは、「はじめに」ページのルートページの直下に挿入してください。
+特定の読者をターゲットにするページは、読者を特定したページの下に挿入してください。
+Stride の新規ユーザーをフォローできるように、「はじめに」ページの順序を決めてください。
+<!--
+Pages targeting any kind of audience should be inserted directly under the Getting Started root page.
+Pages targeting a specific audience should be inserted under a page specifying the audience. Getting
+Started pages order should follow the progress of a Stride new user.
+-->
+
+「はじめに」ページは、次のような内容で構成されます。
+
+1. ページタイトル(そのページで扱っているテーマ)。
+2. その内容が重要である理由と、機能やツールの目的の簡単な説明。
+3. このページで読者が具体的に何をするかを説明する短い段落。
+4. 学習内容を説明する画像または動画(可能であれば)。
+5. サブタイトルとページの内容。
+
+<!--
+A Getting Started page consists of the following content:
+
+1. The page title (the subject dealt in the page).
+2. A short introduction explaining why the topic matters and the purposes of the feature or tool.
+3. A short paragraph explaining what the reader will concretely learn to do in the page.
+4. An image or a video illustrating what the user will learn (if possible).
+5. The sub-titles and the content of the page.
+-->
+
+例:
+```
+# Stride でシーンを設計する
+
+シーンはゲームに欠かせない要素です。
+シーンを使うと、ゲームの内容を複数の段階やモジュールに分割することができます。
+ここでは、Stride のエディターを使って、シーンを作る方法について学びます。
+
+[シーンイメージ](media/scene.png)
+
+## シーンに要素をドラッグ&ドロップする
+
+...
+```
+<!--
+Example:
+```
+# Design Scenes with Stride.
+
+Scenes are an essential element of your game. They allow you to divide the content of your game into levels and modules.
+In this article you will learn how to create and populate scenes from the editor in Stride.
+
+[Scene Image](media/scene.png)
+
+## Drag and drop elements in your scene
+
+...
+```
+-->
+
+##  <a name="Tutorials"> チュートリアル ページ </a>
+<!--
+##  <a name="Tutorials"> Tutorial Pages </a>
+-->
+
+チュートリアルの目的は、ユーザーによるゲームコンポーネントの作成に付き添うことです。
+各チュートリアルは、初期の状態(ほとんどの場合、空っぽのゲーム)から始まって、最終の状態(ミニゲームやゲームコンポーネントの完成)まで続きます。
+最終的に実現するまでの、主要なステップごとにページを作成してください。
+ページは時系列に並べて、次のページが前のページで終わったところから始まるようにします。
+チュートリアル用のフォルダを1つ作成してください。
+<!--
+The purpose of tutorials is to accompany users through the creation of a game component. Each tutorial 
+starts from a initial state (most of the time an empty game) and ends to a final state (mini game or 
+game component completed). A page should be created for each main step of the final realization.
+Pages should be ordered chronologically and next pages should start exactly were previous pages stop.
+A folder should be created for each tutorial. 
+-->
+
+チュートリアルのヘッダーページは、次のような内容にで構成されます。
+
+1. ページタイトル(チュートリアルの名前)。
+2. チュートリアルで実現することと、学べることに関する説明。
+3. チュートリアルの完了に必要となる知識(あれば)。
+4. 最終イメージの画像(可能であれば)。
+5. チュートリアルのサブページへのリンクを持った目次(順序付きリスト)。
+<!--
+A tutorial header page consists of the following content:
+
+1. The page title (name of the tutorial).
+2. A description of what will be realized and what can be learned from the tutorial. 
+3. The knowledge needed to be able to complete the tutorial (if any). 
+4. One or several images of the final realization (if possible). 
+5. A table of content with the links to the tutorial sub-pages (ordered list).
+-->
+
+例:
+```
+# 2Dゲームのチュートリアル
+
+このチュートリアルでは、簡単な2Dゲームをゼロから作成します。
+シーンの作成方法、要素間のコリジョン判定の方法、そしてゲームに UI を追加する方法について学びます。
+このチュートリアルは、Stride で新しいプロジェクトを作成する方法と、アセットをインポートする方法を知っていることを前提としています。
+
+[2Dゲームイメージ](media/my2dGame.png)
+
+1. [アセットをインポートする](ImportAsset.md)
+2. [レベルを作成する](CreateLevel.md)
+3. [コリジョンを追加する](AddCollisions.md)
+4. [UI を追加する](AddUI.md)
+```
+<!--
+Example
+```
+# My 2D game tutorial
+
+In this tutorial you will create a simple 2D game from scratch. You will learn how to create a scene,
+perform collisions between elements and add a UI to your game.
+This tutorial assumes that you know how to create a new project and import assets in Stride.
+
+[My 2D Game Image](media/my2dGame.png)
+
+1. [Import assets](ImportAsset.md)
+2. [Create your level](CreateLevel.md)
+3. [Add Collisions](AddCollisions.md)
+4. [Add a UI](AddUI.md)
+```
+-->
+
+チュートリアルページは、次のような内容で構成されます。
+
+1. ページタイトル(ページで実現すること)
+2. 前後のページへのリンク
+3. このページで実現することと学ぶことの説明。
+4. ページで実現することを示した画像(可能であれば)。
+5. ページのサブステップとその内容。
+6. チュートリアルの次のページへのリンクを持った紹介文。
+
+<!--
+A tutorial page consists of the following content:
+
+1. The page title (realization of the page) 
+2. Links to previous and next tutorial pages
+3. A description of what will be realized in the current page and what will be learned. 
+4. One or several pictures illustrating the realization of the page (if possible).
+5. The sub-steps and the content of the page.
+6. A sentence introducing the next page of the tutorial including a link.
+-->
+
+例:
+```
+# ゲームに UI を追加する
+
+前のページ [物理コリジョンを使う](UsePhysicsCollision.md) | 次のページ [ゲームを配布する](DeployYourGame.md)
+
+このページでは、ゲームに簡単なUIを追加していきます。
+Stride のデフォルトのデザインを使って UI を作成し、ゲームプレイと連動させる方法について学びます。
+
+[ゲームのUIのイメージ](media/MyGameUI.png)
+
+1. [UI コンポーネントを追加する](# Add a UI component)
+2. [UI を設定する](# Set the UI)
+3. [UI をゲームに関連付ける](# Make UI interact with your game)
+
+## UI コンポーネントを追加する
+
+...
+
+次のセクションでは、[ゲームを配布する方法](DeployYourGame.md)について学びましょう。
+
+```
+<!--
+Example
+```
+# Add UI to the game
+
+Previous [Use Physics Collisions](UsePhysicsCollision.md) | Next [Deploy your game](DeployYourGame.md)
+
+In this page you will add a simple UI to your game. You will learn how to create a UI using Stride default 
+design and make it interact with the gameplay.
+
+[My Game UI Image](media/MyGameUI.png)
+
+1. [Add a UI component](# Add a UI component)
+2. [Set the UI](# Set the UI)
+3. [Make UI interact with your game](# Make UI interact with your game)
+
+## Add a UI component 
+
+...
+
+In the next section we will see how you can [Deploy your game](DeployYourGame.md).
+
+```
+-->
+
+注意:それぞれの指示は、可能な限り、指示の前後の状態を示す2つの画像で囲みましょう。
+最初の指示の前に置いた画像が初期状態で、最後に置いた画像が最終の状態に対応します。
+<!--
+Note: as much as possible each instruction should be surrounded by two images showing the state 
+before and after the instruction. Image before the first instruction should correspond to the initial
+state and last image should correspond to the final state.
+-->
+
+##  <a name="SectionHeader"> セクション ヘッダー ページ </a>
+<!--
+##  <a name="SectionHeader"> Section Header Pages </a>
+-->
+
+セクションヘッダーは、ドキュメントフォルダに置かれるトップページです。
+ヘッダーページの目的は、セクションの話題を紹介し、エンジンの最適な機能を公開し、セクションの概要を提供することです。
+<!--
+Section headers are the top pages of the folders of the documentation. The goal of header pages is 
+to introduce the section topic, to expose the best features of the engine and to provide an overview of the section.
+-->
+
+ヘッダーページの内容は次の通りです。
+
+1. タイトルとしてのセクション名
+2. セクションの内容を説明する画像(サブフォルダの場合、この画像を省略できます)
+3. このセクションで紹介する内容を示す短い導入文。
+4. その話題における、エンジンの主な機能や最適な機能について公開する段落。
+5. このセクションを読解することで学べることついて説明する短い段落。
+6. 話題に関するすべての視点を与えるセクションの概要(目的、課題、基本概念)。
+<!--
+A header page consists of:
+
+1. The name of the section as title
+2. An image illustrating the section (for sub-folder this image can be skipped)
+3. A short introduction sentence explaining what is the section about.
+4. A paragraph exposing the main and best features of the engine on the topic.
+5. A short paragraph explaining what can be learned by reading this section. 
+6. An overview of the section giving a full insight of the topic (objectives, challenges, base concepts).
+-->
+
+注意: サブフォルダのヘッダの場合、セクションのヘッダページは概要やメインテーマへのリンクだけで十分な場合があります。
+<!--
+Note: for sub-folder headers only an overview or links to main subjects can be enough for a section header page.
+-->
+
+例:
+```
+# 物理演算
+
+![物理演算セクションのイメージ](media/PhysicSection.png)
+
+物理演算を使って、ゲーム内で物理シミュレーションを行うことができます。
+
+Stride は、Game Studio に完全に統合された物理演算システムを持っています。
+専用の物理エディタを使って、オブジェクトの物理形状を直接編集したり、モデルから自動的に生成したりすることができます。
+
+このセクションでは、オブジェクト間の衝突のシミュレーション、トリガー領域の追加、オブジェクトへの物理法則の適用などについて学びます。
+
+## 概要
+
+物理エンジンの目標は、ゲーム要素のアクションを生成して自動化する方法を提供し、それらが物理法則に従っているように見せることです。
+正確な物理シミュレーションは非常にコストがかかるので、物理的な振る舞いはすべて近似的に計算されます。
+
+# 物理形状
+
+![物理形状のイメージ](media/PhysicShapes.png)
+...
+
+# 物理オブジェクトの種類
+...
+```
+<!--
+Example
+```
+# Physics
+
+![Physic Section Image](media/PhysicSection.png)
+
+Physics allows you to make physics simulations in your game.
+
+Stride has a physic system fully integrated in its game studio. Its dedicated physic editor allows you to
+directly edit physic shapes of objects or to automatically generate them from the models. 
+
+In this section you will learn how to simulate collisions between objects, add trigger regions, apply 
+physic law on objects, etc.
+
+## Overview
+
+The goal of the physic engine is to provide ways to produce and automate actions on your game elements
+so that they seems to follow physic laws. Accurate physic simulations being very costly all physic behaviors
+have to be approximated. 
+
+# Physic Shapes
+
+![Physic Shapes Image](media/PhysicShapes.png)
+...
+
+# Physic Object Types
+...
+```
+-->
+
+##  <a name="Reference"> 参考ページ </a>
+<!--
+##  <a name="Reference"> Reference Pages </a>
+-->
+
+参考ページでは、特定のコンセプトや機能、要素について、深い説明を行います。
+<!--
+Reference pages explain in depth a specific concept, feature, or element.
+-->
+
+参考ページの内容は次の通りです。
+
+1. ページタイトル(コンセプトの名前)。
+2. コンセプトの定義と説明。
+3. コンセプトの標準的な使い方と、なぜその話題が重要なのかの説明。
+4. コンセプトを示す画像(可能であれば)。
+5. コンセプトのサブトピック(機能性、使用例など)。
+<!--
+A reference page consists of:
+
+1. The page title (name of the concept)
+2. The definition and explanation of the concept.
+3. The standard usages of the concept and a explanation why the topic matters.
+4. An image illustrating the concept (if possible)
+6. The sub-topics with the content (functionalities, usages samples, etc)
+-->
+
+例:
+```
+# マテリアル
+
+マテリアルとは、要素をどのようにレンダリングするかを定義するルールのセットです。
+
+モデル、パーティクル、スプライトに対してマテリアルを適用することで、要素の色、ライティング、シャドウイングを定義することができます。
+
+![マテリアルのイメージ](media/Material.png)
+
+1. オブジェクトジオメトリ
+
+...
+
+2. オブジェクトシェーディング
+...
+
+```
+<!--
+Example
+```
+# Materials
+
+A material is a set of rules defining how to render an element.
+
+You can use materials with model, particles system and sprites to define the color, lighting and shadowing
+of your element.
+
+![Material Image](media/Material.png)
+
+1. Object Geometry
+
+...
+
+2. Object Shading
+...
+
+```
+-->
+
+##  <a name="Howtos"> HOWTO ページ </a>
+<!--
+##  <a name="Howtos"> HOWTO Pages </a>
+-->
+
+HOWTO ページの目的は、何かを実現するための明確な手順を提供することです。
+各 HOWTO ページは、他の HOWTO ページから独立していて、読者を一つの目標に導くものでなければなりません。
+コンセプトを定義したり、説明したりすることは避けましょう。
+<!--
+The goal of the HOWTO pages is to provide a list of clear instructions to realize a specific thing. 
+Each HOWTO page should be independent from other HOWTO pages and guide the reader towards 
+a single target. It should not define nor explain any concept.
+-->
+
+HOWTO ページの内容は次の通りです。
+
+1. ページタイトル(ねらいを表す動詞で終わるフレーズ) <!--訳注:原文では動詞は「始まる」だが、日本語では「終わる」とした -->
+2. 説明を理解するために必要な知識。
+3. ページの目的と、何について学ぶか
+4. 最終イメージの画像(可能であれば)
+5. 主な手順とその説明、そして副題(副題には手順番号を付けましょう)
+<!--
+A HOWTO page consists of:
+
+1. The page title (phrase starting with a verb describing the target)
+2. The knowledge needed to understand the instructions.
+3. The goal of the page and what the user will learn to doc-audience
+4. An image of the final realization (if possible)
+5. The main steps and their explanations and sub-instructions (add the step number in the sub-title)
+-->
+
+例:
+```
+# UI にパーティクルを追加する
+
+前提条件:このページでは、パーティクルや UI の一般的な使い方を知っていることを前提とします。
+
+このページでは、UI にパーティクルを割り当てる方法について説明します。
+
+![UIに割り当てられたパーティクルのイメージ](media/ParticlesInUI.png)
+
+## 1. パーティクルエフェクトを作成する
+...
+
+## 2. UI を作成する
+...
+
+## 3. UI リンクコンポーネントを追加する
+...
+
+```
+<!--
+Example
+```
+# Add particles inside our UI
+
+Prerequisites: This page assumes that you know how to use particles and UI elements in general.
+
+In this page you will learn how to attach particles to an UI element.
+
+![Particles In UI Image](media/ParticlesInUI.png)
+
+## 1. Create your particle Effect.
+...
+
+## 2. Create your UI
+...
+
+## 3. Add a UI link component
+...
+
+```
+-->
+
+注意:それぞれの指示は、可能な限り、指示の前後の状態を示す2つの画像で囲みましょう。
+最初の指示の前に置いた画像が初期状態で、最後に置いた画像が最終の状態に対応します。
+<!--
+Note: as much as possible each instruction should be surrounded by two images showing the state 
+before and after the instruction. Image before the first instruction should correspond to the initial
+state and last image should correspond to the final state.
+-->
+
+##  <a name="LongExplanations"> 長い説明は避けよう </a>
+<!--
+##  <a name="LongExplanations"> Avoid Long Explanations </a>
+-->
+
+説明が長いと、読者は消化不良になってしまいます。ほとんどの場合、読者はそれらを無視してしまうか、
+あるいは説明の本質的なポイントを押さえることができなくなります。
+<!--
+Long explanation are quite indigestible for the reader. Most of the time, he simply skips them.
+If not, he is not able to remember the essential point of the explanation. 
+-->
+
+そのため、1つの段落では2つ以上のことを説明しないようにしましょう。
+説明は短くシンプルにして、可能であれば、説明文の横に、概念を示す画像や図を追加するようにしましょう。
+<!--
+To avoid this, try to never explain more than one concept in a simple paragraph.
+Try to keep your explanation short and simple and when possible add an image or a diagram 
+that corresponds to the concept next to your text.
+-->
+
+このことは、「はじめに」ページ、チュートリアルページ、HOWTO ページではさらに重要です。
+これらのページでは、コンセプトを数行で説明するか、あるいは説明するかわりにコンセプト専用のページを参照するようにしてください。
+<!--
+This guideline is even more important for Getting Started, Tutorials and HOWTO pages,
+where the text should correspond more to instructions than explanations about Stride concepts.
+In those pages, you should either try to explain the concept in a simple lline or replace the
+explanation by a reference to the page dedicated to the concept.
+-->
+
+##  <a name="LongArticles"> 長い文章は避けよう </a>
+<!--
+##  <a name="LongArticles"> Avoid Long Articles </a>
+-->
+
+8~10 画面よりも長い記事は避けるようにしましょう。
+記事が長いと、読者は読み始めることすら難しくなり、読者の学習を妨げてしまいます。
+記事の内容がこの画面数に収まらない場合は、記事を複数の記事に分割しましょう。
+<!--
+Try to avoid writing articles longer than 8 to 10 screen heights. Long articles discourage users 
+to start reading and make the navigation harder. If the content of your article cannot fit in
+the above number of screen, split your article into several articles.
+-->
+
+##  <a name="UseImagesVideos"> 画像とビデオを使おう </a>
+<!--
+##  <a name="UseImagesVideos"> Use Images & Videos </a>
+-->
+
+可能な限り、説明には画像やビデオを追加しましょう。読者は大変助かります。
+
+また、理にかなっている場合は、画像ではなく小さなビデオを使うことをお勧めします。
+ビデオは重いからといって、たくさんの矢印が描かれた図を使わなければならなかった時代は終わったと考えています。
+現在ではインターネットと圧縮技術のおかげで短いビデオならドキュメントに含めることができ、わかりやすさをさらに向上することができます。
+<!--
+Also whenever it makes sense, we recommend you to use small videos instead of images. 
+We believe that the time where we had to use diagrams with lots of arrows going in all directions
+because videos were too heavy is over. Nowadays Internet connections and compression algorithms 
+are good enough to include short videos in the documentation and increase even more the ease of
+understanding.
+-->
+
+### ビデオのエンコード方法
+<!--
+### How to encode videos
+-->
+
+いろんなブラウザやデバイスで再生できるように、ビデオのフォーマット要件は低くしましょう。
+H.264 baseline プロファイルなどを使います(ほぼどこでも再生できます)。
+<!--
+To make sure videos play well in different browsers and on different devices, stick to a format with low requirements, such as H264 baseline profile (which works almost everywhere).
+-->
+
+ビデオをこのフォーマットに変換するには、[ffmpeg](https://ffmpeg.org/download.html) を使用します。
+
+1. ffmpeg をダウンロードします。
+
+2. ff-prompt.bat を実行します。
+
+3. ff-prompt.bat のコマンドラインで、変換したいビデオがあるフォルダを指定します。
+
+4. 次のコマンドを実行します。``myvideo_original.mp4`` は変換したいビデオのファイル名に、``myvideo.mp4`` は変換後に出力されるファイル名に、それぞれ置き換えてください。
+
+```
+ffmpeg -i myvideo_original.mp4 -profile:v baseline -level 3.0 -an myvideo.mp4
+```
+<!--
+To convert a video to this format, process the file using [fmpeg](https://ffmpeg.org/download.html).
+
+1. Download the Ffmpeg package for your operating system.
+
+2. Run the ff-prompt.bat file.
+
+3. In the ff-prompt.bat command line, browse to the folder with the video you want to convert.
+
+4. Run the following command, replacing ``myvideo_original.mp4`` with the filename of the video you want to convert, and ``myvideo.mp4`` with the filename of the output file you want to create:
+
+```
+ffmpeg -i myvideo_original.mp4 -profile:v baseline -level 3.0 -an myvideo.mp4
+```
+-->
+
+続けて、モバイルユーザーがビデオをダウンロードする前にプレビューできるように、静的なサムネイルを生成します。これを行うには、次のコマンドを実行します。
+
+```
+ffmpeg -i myvideo.mp4 -vframes 1 -f image2 -y myvideo.jpg
+```
+<!--
+After you do this, generate a static thumbnail so that mobile users can preview the video before downloading. To do this, run:
+
+```
+ffmpeg -i myvideo.mp4 -vframes 1 -f image2 -y myvideo.jpg
+```
+-->
+
+### ビデオを埋め込む
+<!--
+### Embed videos
+-->
+
+次のコードを .md ファイルに記入します。
+ディレクトリ名とファイル名は、使用したいファイルに置き換えてください。
+
+```
+<p>
+    <video autoplay loop class="responsive-video" poster="folder/myvideo.jpg">
+       <source src="folder/myvideo.mp4" type="video/mp4">
+    </video>
+</p>
+```
+<!--
+Put this syntax in the .md file, replacing the directories and filenames with the files you want to use:
+
+```
+<p>
+    <video autoplay loop class="responsive-video" poster="folder/myvideo.jpg">
+       <source src="folder/myvideo.mp4" type="video/mp4">
+    </video>
+</p>
+```
+-->
+
+# <a name="FilesStructure"> ページとファイルの構造 </a>
+<!--
+# <a name="FilesStructure"> Pages & Files Structure </a>
+-->
+
+ドキュメントページの階層は目次ファイル [manual/toc.md](manual/toc.md) に記載し、このリポジトリのファイル階層から独立させます。一つの記事をドキュメントの異なる場所に必要に応じていくつも追加することもできますが、分かりやすいように、ドキュメントのページとリポジトリのファイルは同じ階層を保つようにしてください。
+<!--
+The hierarchy of the documentation pages is specified in the [manual/toc.md](manual/toc.md) file
+and is independent from the file hierarchy of this repository. For example, a single article can
+be added several times at different location in the documentation if needed. Nevertheless for ease
+we ask you to try to keep the same hierarchy between the documentation pages and this
+repository files.
+-->
+
+ドキュメントに新しいページを追加するには、[toc](manual/toc.md) ファイルの適切な場所に新しいエントリを追加してください。
+<!--
+To add a new page in the documentation, just add a new entry at the appropriate place in the 
+[toc](manual/toc.md) file.
+-->
+
+## <a name="PagesHierarchy"> ページの階層 </a>
+<!--
+## <a name="PagesHierarchy"> Pages Hierarchy </a>
+-->
+
+原則としては、ナビゲーションのしやすさを考えて、階層を深くすることは避けたいところです。
+可能な限り、深さは4段階までに収めることをお勧めします。
+
+> - はじめに
+>   - 共通事項
+>   - 想定する読者
+>      - トピック
+> - チュートリアル
+>   - 2D ゲーム
+>   - 3D ゲーム
+> - エンジン
+>   - トピック
+>   - サブカテゴリ
+>     - サブトピック
+>   - HOWTO
+>   - 何かをする
+
+<!--
+As a general rule, we want to avoid deep hierarchies for the ease of navigation. 
+As much as possible we recommend you not to go beyond 4 levels of depth.
+
+> Getting Started
+>   - Common Topic
+>   - Targeted Audience
+>      - Topic
+> Tutorials
+>   - My 2D game
+>   - My 3D game
+> Engine
+>   - Topic
+>   - Sub-Category
+>     - Sub-Topic
+>   - HOWTO
+>     - Do something
+-->
+
+ページの命名規則:
+* HOWTO フォルダの中にあるページの名前は動詞で終わり、目的(「ゲームでポストエフェクトを有効にする」など)を記述するようにしてください。 <!--訳注:原文では動詞で「始まる」だが、日本語では「終わる」とした -->
+<!--
+Page naming conventions:
+* The name of the pages under the HOWTO folder should start with a verb and describe an objective ('Activate post-effects to your game', etc)
+-->
+
+## <a name="PagesOrder"> ページの順序 </a>
+<!--
+## <a name="PagesOrder"> Pages Order </a>
+-->
+
+ページは、アルファベット順に並べる必要はありません。
+<!--
+Documentation pages don't necessary need to be alphabetically ordered.
+-->
+
+原則として、新しいページは次のように並べてください。
+
+1. 時系列に従うものはその順番に(「はじめに」/チュートリアル)。
+2. 重要なものから順番に(概要ページ→参考文献ページ→HOWTOs)。
+3. 重要度が同じであれば、アルファベット順に。
+
+<!--
+As a general rule, order your new pages as follow:
+
+1. Chronologically when there is a chronological order (Getting started / tutorial pages)
+2. Most important subjects first (Overview pages -> References pages -> HOWTOs) 
+3. When pages have the same importance, order them alphabetically.
+-->
+
+## <a name="FilesHierarchy"> ファイルの階層 </a>
+<!--
+## <a name="FilesHierarchy"> Files Hierarchy </a>
+-->
+
+記事ファイルは、フォルダを使って整理してください。
+可能な限りドキュメントと同じ階層にする、ということを尊重しましょう。
+セクションヘッダーに対応するファイルは、セクション名と同じ名前のフォルダの先頭に置いて、'index.md' という名前にしてください。**フォルダ名とファイル名は小文字のみで構成し、単語はダッシュで区切ってください。**
+<!--
+Article files should be organized into folders. As much as possible we will try to respect the
+same hierarchy as the documentation. Files corresponding to section header should be included at the 
+top of the folder having the same name and be named 'index.md'. Folder and file names should be
+composed of only **lower case letters, words should be separated by dashes**.
+-->
+
+記事内で参照されているメディアファイル(画像やビデオ)は 'media' という名前の専用フォルダに入れて、その専用フォルダは、参照している記事と同じフォルダの中に置くようにしてください。
+<!--
+Media files (images and videos) referenced in articles should be placed in a dedicated folder
+named 'media' and put next to the referencing articles.
+-->
+
+記事内で参照されているコードサンプルファイル(C#、スクリプトなど)は
+'code' という名前の専用フォルダに入れて、その専用フォルダは、参照している記事と同じフォルダの中に置くようにしてください。
+<!--
+Code sample files (C#, scripts, etc) referenced in articles should be placed in a dedicated 
+folder named 'code' and put next to the referencing articles.
+-->
+
+階層の例:
+
+> - graphic
+>   - index.md
+>   - overview.md
+>   - media
+>     - overview-image1.png
+>     - overview-image2.png
+>     - overview-video2.mp4
+>   - post-effects
+>     - index.md
+>     - media
+>       - post-effect-image1.png
+>     - code
+>       - post-effect-code.cs
+<!--
+Hierarchy example:
+
+> graphic
+>   - index.md
+>   - overview.md
+>   - media
+>     - overview-image1.png
+>     - overview-image2.png
+>     - overview-video2.mp4
+>   - post-effects
+>     - index.md
+>     - media
+>       - post-effect-image1.png
+>     - code
+>       - post-effect-code.cs
+-->
+
+## <a name="FilesName"> ファイルの名前 </a>
+<!--
+## <a name="FilesName"> Files Name </a>
+-->
+
+ファイル名には、**小文字**と**単語を区切るためのダッシュ**だけを使用するようにしてください。
+また、ファイルには可能な限り明示的で分かりやすい名前をつけて、ページ名の末尾には動詞か名詞をつけてください(現在分詞(動詞-ing形)は避けてください)。
+<!--
+File names should consist only of **lower case letters** and **dashes to separate the words**.
+Also as much as possible, you should give explicit and human-understandable names to files and 
+start the page name by either an active verb or a noun (avoid -ing form verbs).
+-->
+
+私たちの推奨事項は次の通りです。
+- セクションヘッダーファイルは、常に'index.md' という名前にします。
+- 記事ファイルは、ページのメインタイトルを使った名前にします(空白は除きます)。
+- メディアファイルは、ファイルの内容に沿ったシンプルな名前にします。
+<!--
+Our recommendations are the following:
+- Section Header files should always be named 'index.md'
+- Article files should be named using the main title of the page (without spaces)
+- Media files should have a simple name corresponding to the content of the file
+-->
+
+例:
+> **適切**  
+> index.md  
+> point-light.md  
+> point-light-diagram.png  
+>
+> **不適切**  
+> graphics-index.md  
+> PointLightFile1.md  
+> Img20150902.png  
+<!--
+Examples:
+> **Appropriate**  
+> index.md  
+> point-light.md  
+> point-light-diagram.png  
+>
+> **Inappropriate**  
+> graphics-index.md  
+> PointLightFile1.md  
+> Img20150902.png  
+-->
+
+#  <a name="Formatting"> 書式 </a>
+<!--
+#  <a name="Formatting"> Formatting </a>
+-->
+
+##  <a name="Styling"> テキストスタイル </a>
+<!--
+##  <a name="Styling"> Text Styling </a>
+-->
+
+ドキュメントを読みやすくするために、太字と斜体を適切に使用することが重要です。
+
+重要な単語や手順は、**太字**で表示します。
+
+UI 要素やウィンドウ名は、*斜体*で表示します。
+<!--
+In order to simplify the reading of the documentation, it is important that you properly use bold and italic styles.
+
+Put every important word or step in bold using the **Text in bold** syntax.
+
+Put every UI element or Window names in italic using the *Text in italic* syntax.
+-->
+
+##  <a name="Definitions"> 用語の定義 </a>
+<!--
+##  <a name="Definitions"> Definitions </a>
+-->
+
+記事を書くときに気をつけなければならないのは、ユーザーが知らない用語をきちんと定義することです。
+基本的には、次の3種類の用語を区別するようにします。
+<!--
+When you write your articles, you should be careful of properly defining all the terms that can be
+unknown by the user. We can basically distinguish the following three types of terms.
+-->
+
+###  <a name="StrideTerms"> Stride 用語 </a>
+<!--
+###  <a name="StrideTerms"> Stride Terms </a>
+-->
+
+アセット、ライブスクリプティング、グラフィックコンポジターなどの Stride 特有の用語は、必ず定義する必要があります。
+用語ごとに専用のページを作る必要はありません。
+簡単に説明できるのであれば、親ページの中で用語を定義しても構いません。
+エディタでの記述が終わったら、TODO タグに続けて virgile を追加してください。
+そして、記事の中で単語が最初に出てくる箇所にそれをリンクしてください。
+さらに、短い定義をページのメタデータとして追加します。
+これは後で定義のツールチップを作成するために使用されます。
+
+例:
+```
+TODO @virgile: update this
+```
+<!--
+These terms are specific to Stride and absolutely need to be defined. These are terms like Asset,
+Live Scripting, Graphic Compositor, etc. You don't necessary need to create a dedicated page for each term. 
+You can define the term in the middle of a parent page if the concept is simple to explain. 
+Add the following tagg TODO virgile when we are done in editor doc. 
+Then link it at least every first occurrence of the word in an article. 
+In addition add a shorter version of the definition as metadata in the page.
+This will be used later to create definition tooltips.
+
+Example
+
+```
+TODO @virgile: update this
+```
+-->
+
+###  <a name="VideoGameTerms"> ビデオゲーム用語 </a>
+<!--
+###  <a name="VideoGameTerms"> Video Game Terms </a>
+-->
+
+ビデオゲーム用語は、ゲームおよびグラフィック業界に特有の用語です。
+これらの用語は、Stride のドキュメントでは一文で簡潔に定義されていなければなりません。
+用語が Stride にとって重要なものである場合(例:フォワードレンダリングなど)は、その内容について詳しく説明します。
+重要でない場合には、外部サイト(wikipedia など)にリンクすることも可能です。
+簡潔な定義は、ドキュメントや Game Studio でツールチップを作る際に使われます。
+ページで最初に出現した箇所にのみ、リンクを貼ってください。
+<!--
+These terms are specific to the game and graphic industry. 
+They should be briefly defined in one sentence in the Stride documentation.
+If the topic is important for Stride (e.g.: Forward rendering, etc.) we will elaborate more on the matter.
+If not a link to an external site (wikipedia, etc) can also be used.
+The brief definition will be used to build tooltip in the documentation and Game Studio. 
+Only the first occurrence of the page should be linked.
+-->
+
+例:
+```
+TODO @virgile
+
+Stride では、@forward-rendering か @defferd-rendering のいずれかを選択することができます。(←専用ページへのリンク)
+
+レンダリングモデルにより、[シェーダー](http://wikipedia/shaders)は完全に異なります。(←外部リンク)
+
+より複雑なシェーダーは云々(←2回目にはリンクを貼らない)
+```
+<!--
+Example
+```
+TODO @virgile
+
+In Stride you can choose between @forward-rendering and @deffered-rendering. (<-link to a dedicated pages).
+
+Depending on the rendering model the [Shaders](http://wikipedia/shaders) are completely different. 
+(<- external reference)
+
+The more complex shaders are blablabla (<- second reference no link)
+```
+-->
+
+注意:想定する読者が「中級者」や「上級者」である場合には、基本的な用語の定義は不要です。
+<!--
+Note: If the expected audience for the page is 'Intermediate' or 'Advanced' basic term definitions can 
+be skipped. 
+-->
+
+###  <a name="JobTerms"> 作業固有の用語 </a>
+<!--
+###  <a name="JobTerms"> Job Specific Terms </a>
+-->
+
+作業固有の用語は、開発プロセスにおける役割に特有のものです。
+これらの用語を定義する必要があるのは、期待される読者が特定の仕事だけでなくより広い範囲に及んでいる場合や、Stride API で用語が使用される場合のみです。
+ほとんどの場合、外部ページへのリンクを使用してツールチップの定義を追加することで定義します。
+ページの最初の出現箇所のみ定義する必要があります。
+<!--
+These terms are specific to a role in the development process. They need to be defined only the when 
+the expected audience for the page is wider than just the specific job or when the term is used in the Stride API. Most of the time we will 
+define them by using a link to an external page and adding a tooltip definition. Only the first occurrence
+of the page has to be defined.
+-->
+
+##  <a name="References"> ページの参照 </a>
+<!--
+##  <a name="References"> Page References </a>
+-->
+
+読者を簡単にナビゲーションできるように、できるだけ他のドキュメントページへのクロスリファレンスを追加することをお勧めします。
+<!--
+We recommend you to add cross reference to other documentation pages as much as possible to ease
+to reader navigation. 
+-->
+
+クロスリファレンスを追加する手順は、次の通りです。
+
+1. 定義しているファイルの先頭に、uid を追加します。
+2. ページにリンクしたい箇所で、@uid ショートカットを使って参照します。
+<!--
+To add a cross reference proceed as follow:
+
+1. Add a uid at the top of the destination file
+2. Everytimes you want to link the page just reference it using the @uid shortcut.
+-->
+
+例:
+```
+material.md:
+---
+uid: material
+---
+
+# マテリアル
+...
+
+sprite.md:
+スプライトカラーに関する詳細については、@material を参照してください。
+```
+<!--
+Example
+```
+material.md:
+---
+uid: material
+---
+
+# Material
+...
+
+sprite.md:
+For more information about sprite color, read @material.
+```
+-->
+
+注意:詳細については、DocFX のドキュメントを参照してください。
+<!--
+Note: for more information please refer to DocFX documentation.
+-->
+
+## <a name="RelatedTopics"> 関連するトピック </a>
+<!--
+## <a name="RelatedTopics"> Related Topics </a>
+-->
+
+読者にトピックについての知識を深めてもらい、簡単にナビゲーションできるように、
+できるだけ記事の下部に関連するトピックへのリンクを追加することをお勧めします。
+<!--
+To encourage readers to learn more about a topic and also to ease their navigation,
+we recommend you as much as possible to add links to related topics at the bottom of your articles.
+-->
+
+次のように、doc-relatedtopics スタイルを使用します。
+```
+<div class="doc-relatedtopics">
+* [Page1](link-to-page1)
+* [Page2](link-to-page2)
+* [Page3](link-to-page3)
+</div>
+```
+<!--
+For this use the doc-relatedtopics style, as follow: 
+```
+<div class="doc-relatedtopics">
+* [Page1](link-to-page1)
+* [Page2](link-to-page2)
+* [Page3](link-to-page3)
+</div>
+```
+-->
+
+## <a name="APIReferences"> API リファレンス</a>
+<!--
+## <a name="APIReferences"> API References </a>
+-->
+
+API クラス、インターフェース、関数などについて言及する際には、API リファレンスへのリンクを追加しましょう。
+同じリンクを何度も追加するのを避けるために、関数名を動作動詞に置き換えることができます。
+<!--
+A link to the API reference should be added for EACH mention of an API class, interface, function, etc.
+To avoid to add too many times the same links, you can replace the function name by an action verb.
+-->
+
+API リファレンスへのリンクは、次のように行います。
+> @'MyNamespace.MyClass.MyFunction'
+<!--
+Adding a link to a reference API can be done the following way:
+> @'MyNamespace.MyClass.MyFunction'
+-->
+
+例:
+```
+サウンドを再生するには、@'Stride.Audio.SoundEffectInstance.Play' 関数を使用します。
+再生中の音を再び再生しても効果はありません。停止中の音を再生すると、初めから再生を再開します。
+```
+<!--
+Example:
+```
+Use the @'Stride.Audio.SoundEffectInstance.Play' function start playing a sound.
+Playing an ongoing sound has no effect. Playing a stopped sound restart the sound from beginning.
+```
+-->
+
+## <a name="CodeReference"> コードリファレンス </a>
+<!--
+## <a name="CodeReference"> Code References </a>
+-->
+
+サンプルコードを記事に含める際には、可能な限り小さくし、コメントを十分につけて、適切なフォーマットにしてください。
+記事にコードを挿入するには2つの方法があります。
+コード内容を適切な書式で記事内に直接追加する方法と、既存のコードファイルへの参照を追加する方法です。
+お勧めは直接追加する方法ですが、サンプルコードが複数の場所で何度も使用される場合には、コードファイルへの参照を使うことをお勧めします。
+メンテナンスという意味ではかなり効率的になります。
+<!--
+Code samples should be as small as possible, well commented and be properly formatted when included. 
+There are two different ways to insert some code in your article. First add the code content directly in your 
+article with the proper formatting or add a reference to an existing code file. 
+We recommend you to add the code sample directly in your article except when the code sample is used
+in several different places. In that case we recommend you to use a reference to a code file.
+It can be much more efficient in term of maintenance.
+-->
+
+例:
+> **コードを記事に直接含める場合**
+> 
+> \`\`\`cs  
+> Asset.Unload(asset);  
+> \`\`\`
+>
+> **外部のコードファイルを参照する場合**  
+> \[\!code-csharp\[Main\]\(index.cs?start=5&end=9\)\]  // index.cs ファイルの 5~9 行目が追加されます。
+<!--
+Example:
+> **Code directly included in the article**
+> 
+> \`\`\`cs  
+> Asset.Unload(asset);  
+> \`\`\`
+>
+> **Reference to an external code file**  
+> \[\!code-csharp\[Main\]\(index.cs?start=5&end=9\)\]  // add line 5 to 9 of file index.cs
+-->
+
+## <a name="Placeholders"> プレースホルダー </a>
+<!--
+## <a name="Placeholders"> Placeholders </a>
+-->
+
+分かりやすいように、プレースホルダーはすべて 'My' で始まるようにしてください。
+
+例:
+> Content.Load("MyFolder/MyAsset");
+<!--
+For ease of understanding make all placeholders start by 'My'.
+
+Example:
+> Content.Load("MyFolder/MyAsset");
+-->
+
+## <a name="Labels"> ラベル </a>
+<!--
+## <a name="Labels"> Labels </a>
+-->
+
+ラベルとは、対象読者のレベルを表すオプション情報です。
+ラベルは、読者が素早く理解できるように、ページの上部に表示します。
+
+トップレベルのタイトルの直後に配置してください。
+<!--
+Labels are optional info displayed at the top of the page so that readers can quickly understand intended target audience.
+
+Please place them right after the top-level title.
+-->
+
+ラベルにはいくつかの種類があります。
+
+* レベル(初級、中級、上級)を表す `label-doc-level`
+* 役割(アーティスト、プログラマー、デザイナー)を表す `label-doc-audience`
+* プラットフォーム(iOS, Android など)を表す `label-doc-platform`
+* その機能が導入されたバージョン(Stride 2.1 など)を表す `label-doc-version`
+<!--
+There are several kinds of labels:
+
+* Level (Beginner, Intermediate, Advanced) with `label-doc-level`
+* Audience (Artist, Programmer, Designer) with `label-doc-audience`
+* Platform (iOS, Android, etc.) with `label-doc-platform`
+* Version where the feature have been introduced (Stride 2.1, etc.)with `label-doc-version`
+-->
+
+例:
+```
+# Title
+
+<span class="label label-doc-level">初級</span>
+<span class="label label-doc-audience">アーティスト</span>
+
+## 概要
+
+……略……
+```
+<!--
+Example:
+```
+# Title
+
+<span class="label label-doc-level">Beginner</span>
+<span class="label label-doc-audience">Artist</span>
+
+## Overview
+
+Lorem ipsum...
+```
+-->
+
+## <a name="Remarks"> 備考 </a>
+<!--
+## <a name="Remarks"> Remarks </a>
+-->
+
+理解するために必要なくても応用上非常に有用な説明がある場合には、読者が読み飛ばすことができる余分な情報であることがわかるように、備考として追加してください。
+どのような情報であるかのヒントとして、注意、警告、ヒントなどのいくつかのタイプの備考を使用します。
+<!--
+Whenever you have explanations that is not necessary for the understanding of a concept but that
+can be very useful in application, add them as remarks so that the reader knows that it is extra information
+that can be skipped depending on his objective. We provide several types of remarks such as notes, warnings and
+tips to give an addition clue to the reader on what kind of extra information he is going to find.  
+-->
+
+次の構文を使って、注意、Tips、警告を追加することができます。
+
+```
+> [!NOTE]
+> 何らかの役立つ情報
+```
+<!--
+You can add note, tip and warnings using the following syntax:
+
+```
+> [!NOTE]
+> Some useful notes
+```
+-->
+
+利用可能なタイプは次の通りです。
+* NOTE
+* TIP
+* WARNING
+<!--
+Available types:
+* NOTE
+* TIP
+* WARNING
+-->
+
+書式は今後も改善されていきますのでご注意ください。
+<!--
+Note that current styling will be improved.
+-->
+
+## <a name="PlatformRemarks"> プラットフォーム固有の補足 </a>
+<!--
+## <a name="PlatformRemarks"> Platform Specific Remarks </a>
+-->
+
+特定のプラットフォームに固有の説明や備考がある場合には、次のような書式を使って読者に示してください。
+<!--
+Whenever there are explanations or remarks that are specific to a given platform, you should
+use the following formatting style to show the reader that the section can be skipped depending on 
+the targeted platform.
+-->
+
+次のスタイルクラスのいずれかを追加するだけです。
+```
+<div class="doc-android">Android に固有の情報</div>
+<div class="doc-iOS">iOS に固有の情報</div>
+<div class="doc-Windows">Windows に固有の情報</div>
+<div class="doc-Linux">Linux に固有の情報</div>
+```
+<!--
+To do this, simply add one of the following style classes:
+```
+<div class="doc-android">Android specific text</div>
+<div class="doc-iOS">iOS specific text</div>
+<div class="doc-Windows">Windows specific text</div>
+<div class="doc-Linux">Linux specific text</div>
+```
+-->
+
+## <a name="Notices"> 通知事項 </a>
+<!--
+## <a name="Notices"> Notices </a>
+-->
+
+重要な情報が欠けていたり、古くなっていたりする場合には、
+ページの上部に通知を追加して、読者に知らせるようにしましょう。
+<!--
+Whenever your page is missing some key information or is out-of-date, you should  
+add a notice at the top of the page to inform the reader.
+-->
+
+ページの上部に、次のタグのいずれかを追加するだけです。
+```
+<div class="doc-incomplete"/>  → 現在のページは不完全です。
+<div class="doc-outofdate"/> → 現在のページは古くなっています。
+```
+<!--
+To do this, simply add one of the following tag at the top of the page:
+```
+<div class="doc-incomplete"/>  -> The current page is incomplete
+<div class="doc-outofdate"/> -> The current page is out-of-date
+```
+-->
+
+これを記述すると、ページタイトルに自動的に 🔧 という文字が追加され、ユーザーに警告が表示されます。
+<!--
+Doing so will automatically add the 🔧 character to the page title to warn the user.
+-->
+
+## <a name="Media"> メディア </a>
+<!--
+## <a name="Media"> Media </a>
+-->
+
+次の構文を使って、記事にメディアを追加することができます。
+> \!\[グラフィックコンポーザーダイアグラム\]\(media/graphics-compositor.png\)  
+<!--
+You can add media content to your articles using the following syntax:
+> \!\[Graphics Compositor Diagram\]\(media/graphics-compositor.png\)  
+-->
+
+「グラフィックコンポーザーダイアグラム」は、画像ファイルが見つからなかった場合にフォールバックとして表示されるメッセージです。
+'media/graphics-compositor.png'は、ファイルの相対パスです。
+<!--
+'Graphic Compositor Diagram' is the message displayed as fall-back if the image file can't be find.
+'media/graphics-compositor.png' is the relative path to the file.
+-->
+
+メディアファイルを追加する際には、メディアファイルを作成する際に使用した「ソース」ファイルを、必ず一緒に含めるようにしてください。
+これにより、エンジン側で変更があった場合でも、画像、ダイアグラム、ビデオを迅速に更新することができます。
+ソースファイルとは、Photoshop ファイル、Visio ファイル、Adobe Premiere ファイルなどを指します。
+私たちが使うメディアを作成する際には、できるだけ無料または主流のツールを使用するようにしてください。
+<!--
+For each media file added, we kindly ask you to always include the 'source' file used to create 
+your media file next to it. This will allow us to quickly update the images, diagrams and videos 
+after some changes happen on the engine side. By source files we mean photoshop files, visio files, 
+adobe premiere files, etc. When you create your media, try as much as possible to use either free
+or mainstream tools.
+-->
+
+メディアの作成時には、ソースデータのサイズを変更しないようにしましょう。
+画面に合わせて縮小する必要がある場合でも、縮小されたメディアを自分で作成することは避けましょう。
+代わりに、画像は元の解像度のままにしておき、ドキュメントシステムが自動的にユーザーのために適応させるようにしてください。
+私たちがこれをお願いしているのは、ある時点でドキュメントの幅を変更したり、画像をズームインする方法を提供することになるかもしれないからです。
+唯一の例外は、重たいビデオです。ページの読み込みを高速化するために、軽くされた動画を作成していただきたいと思います。
+<!--
+Avoid to resize the source data when you create your media. Even if your media needs to be scaled down
+to fit the screen, avoid to create scaled-down media by yourself. Instead keep your image in the
+original resolution and let the documentation system automatically adapt it for the user. We are asking 
+this because at some point we may decide to change the width of our documentation or to provide 
+a way to zoom into images. The only exceptions to this are heavy videos. We would like you to create 
+a lighter version of the videos to speed up the loading of the pages.
+-->
+
+### <a name="Videos"> ビデオ </a>
+<!--
+### <a name="Videos"> Videos </a>
+-->
+
+できる限り、**MP4** 形式と **H.265** で暗号化された動画をご利用ください。
+
+動画の編集におすすめのソフトは、Adobe After Effect です。
+<!--
+As much as possible, we ask you to use the **MP4** format and the **H265** encryption for videos.
+
+Recommenced software to edit the videos is Adobe After Effect.
+-->
+
+### <a name="Images"> 画像 </a>
+<!--
+### <a name="Images"> Images </a>
+-->
+
+負荷の高い高解像度画像は **JPEG** 形式で、それ以外の画像(おそらくほとんどの画像がそうでしょう)は **PNG** 形式でお願いします。
+
+ソースファイルは、Photoshop, GIMP, Paint.NET の形式が望ましいです。
+<!--
+We ask you to use the **JPEG** format for heavy high resolution images to reduce the load time and
+and the **PNG** format all the others (probably most of the images).
+
+For the source files, we prefer the following formats: Photoshop, GIMP, Paint.net.
+-->
+
+### <a name="Diagrams"> ダイアグラム </a>
+<!--
+### <a name="Diagrams"> Diagrams </a>
+-->
+
+ダイアグラム(図)は、**PNG** 形式、またはベクター画像で描画してください。
+ドキュメントシステムは画像のサイズを自動的に調整しますので、サイズが調整されても図に含まれるテキストが読み取れるようにしてください。
+図が大きすぎて縮小できない場合は、読者がクリックしたときにフルサイズで表示するようにしてください。
+<!--
+Diagrams should be rendered as **PNG** or vector image. Since the documentation system automatically 
+adjust the size of the images be careful that all text that you include in diagrams are still
+readable after size readjustment. When a diagram is too big and can't be reduced, allow the reader to 
+click and open it in full size.
+-->
+
+次の構文を使用して、図をクリック可能にすることができます。
+TODO virgile
+<!--
+You can make diagrams clickable using the following syntax:
+TODO virgile
+-->
+
+図は、Visio などの標準的な画像編集ツールで作成してください。
+<!--
+Diagrams can be created with Visio or standard image editing tools.
+-->
+
+## <a name="Tables"> 表(テーブル) </a>
+<!--
+## <a name="Tables"> Tables </a>
+-->
+
+Markdown の構文に従って、ドキュメントに表(テーブル)を追加することができます。
+表は情報を見やすくすることができますが、時には適切に表示されないことがあります。
+そのため、ページを投稿する前に、スマートフォンのような小さな解像度の画面で試してみてください。
+<!--
+You can add tables to the documentation by following the markdown syntax. Tables can improve the
+way information is display but sometimes does not properly scale down. So be sure to try your page
+on small resolution screen like Smart-phones before submitting your page.
+-->
+
+## <a name="Lists"> 箇条書き(リスト) </a>
+<!--
+## <a name="Lists"> Lists </a>
+-->
+
+可能な限り、リストの項目には全文よりも短いフレーズを使用してください。
+そうすることで読みやすくなり、読む速度がスピードアップします。
+各項目は、大文字で始めてください。
+<!--
+When possible prefer a short phrase than a full sentence for each item of a list. This simplifies and
+speeds the reading up. Start each item with a capital letter.
+-->
+
+ステップ・バイ・ステップのプロセスを示すとき、または順序が重要なときは、箇条書きリストではなく順序付きのリストを使用してください。
+<!--
+When showing a step by step process or when order matters use ordered list rather of bullet points.
+-->
+
+例:
+> **適切**
+> 
+> リストの使い方:
+> - それぞれの最初の文字を大文字にする
+> - 短いフレーズで書く
+> 
+> **不適切**
+> 
+> リストの正しくない使い方:
+> - 各項目の最初の文字を大文字にする必要があります。
+> - 箇条書きを使うメリットを減らすような長文を書いてはいけません。
+<!--
+Example. 
+> **Appropriate**
+> 
+> How to use lists:
+> - Capitalize each first letter
+> - Write short phrases
+> 
+> **Inappropriate**
+> 
+> How NOT to use lists:
+> - you should capitalize the first letter of each item.
+> - you should not write long sentence that will reduce the benefit of using a bullet list.
+-->
+
+## <a name="Headers"> ヘッダー </a>
+<!--
+## <a name="Headers"> Headers </a>
+-->
+
+ヘッダの作成には、Markdown の '#' 記号を使用します。
+ページのトップタイトルのみ、h1 スタイルにしてください。
+他のすべてのタイトルはサブタイトルであり、h2~ に整形してください。
+<!--
+The markdown '#' mark should be used to make headers. Only top title of the page should have the h1 style.
+All other titles are sub-titles and should be formated into h2+.
+-->
+
+可能な限り、ヘッダー文は短くシンプルなものにしてください。
+また、可能な限り、ヘッダーの末尾には動詞や名詞を使用してください。<!--訳注:原文では「冒頭」だが、日本語では「末尾」とした -->
+現在分詞(動詞-ing形)は避けてください。
+<!--
+As much as possible header text should be short and simple. Whenever possible use a active verb 
+or a noun to start your header. Avoid verbs in -ing form.
+-->
+
+例:
+> \# トップタイトル: ヘッダーを書く方法  
+> \___  
+> \## サブタイトルを書く  
+> \### サブサブフォルダを書く  
+> \### サブサブフォルダを書く  
+> \## サブフォルダを書く  
+<!--
+Example
+> \# Top Title: How to write headers.  
+> \___  
+> \## Write a sub-Title
+> \### Write a sub-sub-folder  
+> \### Write a sub-sub-folder  
+> \## Write a sub-folder  
+-->
+
+## <a name="Capitalization"> 大文字表記 </a>
+<!--
+## <a name="Capitalization"> Letter Capitalization </a>
+-->
+
+タイトルが完全な文章に近い場合には、最初の単語の最初の文字だけを大文字にしてください。
+タイトルがいくつかの単語(1~5 個)で構成されている場合には、それぞれの単語の数文字を大文字にしてください。
+<!--
+When a title is close to a full sentence you should only capitalize first letter of first work.
+When a title is just composed of a few words (1 to 5) you should capitalize the few letter of each 
+word.
+-->
+
+ある事実を強く主張したいとき以外は、文中の単語をすべて大文字にしてはいけません。
+一般的に使われる単語は次の通りです。  
+ONLY, DO NOT, YES, NO, MAKE SURE TO, BE CAREFUL (TO/OF)
+<!--
+You should NEVER fully capitalize a word inside a sentence except when you want to strongly insist on 
+a fact. Words commonly used for this are: ONLY, DO NOT, YES, NO, MAKE SURE TO, BE CAREFUL (TO/ OF).
+-->

+ 5 - 1
build/deploy.ps1

@@ -8,9 +8,13 @@ $version = "4.0"
 Write-Host Executing `'WAWSDeploy.exe ../stride_doc.zip $deploymentProfile /v /t $version /d /p XXXXXXXXXXXXX`'
 Write-Host Executing `'WAWSDeploy.exe ../stride_doc.zip $deploymentProfile /v /t $version /d /p XXXXXXXXXXXXX`'
 ./WAWSDeploy.exe ../stride_doc.zip $deploymentProfile /v /t $version /d /p $deploymentPassword
 ./WAWSDeploy.exe ../stride_doc.zip $deploymentProfile /v /t $version /d /p $deploymentPassword
 
 
+# Find host URL from deployment profile
+[xml]$deploymentProfileXml = Get-Content $deploymentProfile
+$deployUrl = $deploymentProfileXml.publishData.publishProfile[0].destinationAppUrl
+
 # Process versions.json
 # Process versions.json
 Write-Host Updating list of versions
 Write-Host Updating list of versions
-$response = Invoke-RestMethod -Uri http://xenko-doc.azurewebsites.net/versions.json
+$response = Invoke-RestMethod -Uri $deployUrl/versions.json
 $response.versions = ($response.versions + $version) | select -Unique | Sort-Object -Property @{Expression={ new-object System.Version ($_) }; Descending = $True}
 $response.versions = ($response.versions + $version) | select -Unique | Sort-Object -Property @{Expression={ new-object System.Version ($_) }; Descending = $True}
 # Save file
 # Save file
 New-Item -Name "_siteroot" -ItemType "directory"
 New-Item -Name "_siteroot" -ItemType "directory"

+ 1 - 0
build/stride-doc.PublishSettings

@@ -0,0 +1 @@
+<publishData><publishProfile profileName="stride-doc - Web Deploy" publishMethod="MSDeploy" publishUrl="stride-doc.scm.azurewebsites.net:443" msdeploySite="stride-doc" userName="$stride-doc" destinationAppUrl="http://stride-doc.azurewebsites.net" SQLServerDBConnectionString="" mySQLDBConnectionString="" hostingProviderForumLink="" controlPanelLink="http://windows.azure.com" webSystem="WebSites"><databases /></publishProfile><publishProfile profileName="stride-doc - FTP" publishMethod="FTP" publishUrl="ftp://waws-prod-mwh-073.ftp.azurewebsites.windows.net/site/wwwroot" ftpPassiveMode="True" userName="stride-doc\$stride-doc" destinationAppUrl="http://stride-doc.azurewebsites.net" SQLServerDBConnectionString="" mySQLDBConnectionString="" hostingProviderForumLink="" controlPanelLink="http://windows.azure.com" webSystem="WebSites"><databases /></publishProfile><publishProfile profileName="stride-doc - Zip Deploy" publishMethod="ZipDeploy" publishUrl="stride-doc.scm.azurewebsites.net:443" userName="$stride-doc" destinationAppUrl="http://stride-doc.azurewebsites.net" SQLServerDBConnectionString="" mySQLDBConnectionString="" hostingProviderForumLink="" controlPanelLink="http://windows.azure.com" webSystem="WebSites"><databases /></publishProfile></publishData>

+ 0 - 1
build/xenko-doc.azurewebsites.net.PublishSettings

@@ -1 +0,0 @@
-<publishData><publishProfile profileName="xenko-doc - Web Deploy" publishMethod="MSDeploy" publishUrl="xenko-doc.scm.azurewebsites.net:443" msdeploySite="xenko-doc" userName="$xenko-doc" destinationAppUrl="http://xenko-doc.azurewebsites.net" SQLServerDBConnectionString="" mySQLDBConnectionString="" hostingProviderForumLink="" controlPanelLink="http://windows.azure.com" webSystem="WebSites"><databases/></publishProfile><publishProfile profileName="xenko-doc - FTP" publishMethod="FTP" publishUrl="ftp://waws-prod-bay-029.ftp.azurewebsites.windows.net/site/wwwroot" ftpPassiveMode="True" userName="xenko-doc\$xenko-doc" destinationAppUrl="http://xenko-doc.azurewebsites.net" SQLServerDBConnectionString="" mySQLDBConnectionString="" hostingProviderForumLink="" controlPanelLink="http://windows.azure.com" webSystem="WebSites"><databases/></publishProfile></publishData>

+ 0 - 1
build/xenko-doc.azurewebsites.net.PublishSettings.staging

@@ -1 +0,0 @@
-<publishData><publishProfile profileName="xenko-doc-staging - Web Deploy" publishMethod="MSDeploy" publishUrl="xenko-doc-staging.scm.azurewebsites.net:443" msdeploySite="xenko-doc__staging" userName="$xenko-doc__staging" destinationAppUrl="http://xenko-doc-staging.azurewebsites.net" SQLServerDBConnectionString="" mySQLDBConnectionString="" hostingProviderForumLink="" controlPanelLink="http://windows.azure.com" webSystem="WebSites"><databases /></publishProfile><publishProfile profileName="xenko-doc-staging - FTP" publishMethod="FTP" publishUrl="ftp://waws-prod-bay-029.ftp.azurewebsites.windows.net/site/wwwroot" ftpPassiveMode="True" userName="xenko-doc__staging\$xenko-doc__staging" destinationAppUrl="http://xenko-doc-staging.azurewebsites.net" SQLServerDBConnectionString="" mySQLDBConnectionString="" hostingProviderForumLink="" controlPanelLink="http://windows.azure.com" webSystem="WebSites"><databases /></publishProfile></publishData>

+ 2 - 2
en/manual/animation/animation-scripts.md

@@ -96,7 +96,7 @@ namespace AdditiveAnimation
 
 
 ## Override the animation blend tree
 ## Override the animation blend tree
 
 
-You an also override the animation blend tree and do all animation blending in the script. The templates *First-person shooter*, *Third-person platformer* and *Top-down RPG*, which use some advanced techniques, are examples of how to do this. For more information, see [custom blend trees](custom-blend-trees.md).
+You can also override the animation blend tree and do all animation blending in the script. The templates *First-person shooter*, *Third-person platformer* and *Top-down RPG*, which use some advanced techniques, are examples of how to do this. For more information, see [custom blend trees](custom-blend-trees.md).
 
 
 ## See also
 ## See also
 
 
@@ -110,4 +110,4 @@ You an also override the animation blend tree and do all animation blending in t
 * [Procedural animation](procedural-animation.md)
 * [Procedural animation](procedural-animation.md)
 * [Custom blend trees](custom-blend-trees.md)
 * [Custom blend trees](custom-blend-trees.md)
 * [Model node links](model-node-links.md)
 * [Model node links](model-node-links.md)
-* [custom attributes](custom-attributes.md)
+* [custom attributes](custom-attributes.md)

+ 2 - 2
en/manual/animation/custom-blend-trees.md

@@ -84,7 +84,7 @@ public class AnimationBlendTree : SyncScript, IBlendTreeBuilder
         // Build the animation blend tree (stack)
         // Build the animation blend tree (stack)
         blendStack.Add(AnimationOperation.NewPush(animEvaluatorWalk, timeWalk));    // Will PUSH animation state to be evaluated at the specified Time.
         blendStack.Add(AnimationOperation.NewPush(animEvaluatorWalk, timeWalk));    // Will PUSH animation state to be evaluated at the specified Time.
         blendStack.Add(AnimationOperation.NewPush(animEvaluatorRun, timeRun));      // Will PUSH another animation state to be evaluated at the specified Time.
         blendStack.Add(AnimationOperation.NewPush(animEvaluatorRun, timeRun));      // Will PUSH another animation state to be evaluated at the specified Time.
-        blendStack.Add(AnimationOperation.NewBlend(AnimationBlendOperation.LinearBlend, LerpFactor));   // Will POP the last two states, blend them with the factor and PUSH back the result.
+        blendStack.Add(AnimationOperation.NewBlend(CoreAnimationOperation.Blend, LerpFactor));   // Will POP the last two states, blend them with the factor and PUSH back the result.
 
 
         // NOTE
         // NOTE
         // Because the blending operations are laid out in a stack you have to pack the operations in this manner.
         // Because the blending operations are laid out in a stack you have to pack the operations in this manner.
@@ -108,4 +108,4 @@ public class AnimationBlendTree : SyncScript, IBlendTreeBuilder
 * [Additive animation](additive-animation.md)
 * [Additive animation](additive-animation.md)
 * [Procedural animation](procedural-animation.md)
 * [Procedural animation](procedural-animation.md)
 * [Model node links](model-node-links.md)
 * [Model node links](model-node-links.md)
-* [custom attributes](custom-attributes.md)
+* [custom attributes](custom-attributes.md)

+ 61 - 2
en/manual/animation/procedural-animation.md

@@ -7,13 +7,18 @@
 
 
 In some cases, this creates more effective and efficient animations. For example, imagine a shrink effect that happens when the player shoots a monster with a shrink weapon. Instead of creating a complex shrinking animation, you can access the entity [TransformComponent](xref:Stride.Engine.TransformComponent) and simply scale the enemy down to the required size.
 In some cases, this creates more effective and efficient animations. For example, imagine a shrink effect that happens when the player shoots a monster with a shrink weapon. Instead of creating a complex shrinking animation, you can access the entity [TransformComponent](xref:Stride.Engine.TransformComponent) and simply scale the enemy down to the required size.
 
 
-You can access multiple components to animate your models at runtime, including:
+The animation can animate a wide variety of components besides Skeleton bones, including:
 
 
 * [TransformComponent](xref:Stride.Engine.TransformComponent)
 * [TransformComponent](xref:Stride.Engine.TransformComponent)
 * [LightComponent](xref:Stride.Engine.LightComponent)
 * [LightComponent](xref:Stride.Engine.LightComponent)
 * [RigidBodyComponent](xref:Stride.Physics.RigidbodyComponent)
 * [RigidBodyComponent](xref:Stride.Physics.RigidbodyComponent)
+* [Custom components](xref:Stride.Engine.EntityComponent)
 
 
-## Code sample
+Stride's animation system works just like Blender or Maya's curve animation editor. Each bone/value is assigned a [curve](xref:Stride.Animations.AnimationCurve) composed of several [points](xref:Stride.Animations.KeyFrameData) that are interpolated either in linear, cubic or constant fashion.
+
+## Code samples
+
+### Transform component
 
 
 ```cs
 ```cs
 public class AnimationScript : StartupScript
 public class AnimationScript : StartupScript
@@ -69,6 +74,60 @@ public class AnimationScript : StartupScript
 }
 }
 ```
 ```
 
 
+
+### Light component's color
+
+```csharp
+public class AnimationLight : StartupScript
+{
+    public override void Start()
+    {
+        // Our entity should have a light component
+        var lightC = Entity.Get<LightComponent>();
+
+        // Create an AnimationClip and store unserializable types. Make sure you set its duration properly.
+        var clip = new AnimationClip { Duration = TimeSpan.FromSeconds(1) };
+        var colorLightBaseName = typeof(ColorLightBase).AssemblyQualifiedName;
+        var colorRgbProviderName = typeof(ColorRgbProvider).AssemblyQualifiedName;
+
+        // Point to the path of the color property of the light component
+        clip.AddCurve(
+            $"[LightComponent.Key].Type.({colorLightBaseName})Color.({colorRgbProviderName})Value", 
+            CreateLightColorCurve()
+        );
+
+        // Play the animation right away and loop it.
+        clip.RepeatMode = AnimationRepeatMode.LoopInfinite;
+        var animC = Entity.GetOrCreate<AnimationComponent>();
+        animC.Animations.Add("LightCurve",clip);
+        animC.Play("LightCurve");
+    }
+    private AnimationCurve CreateLightColorCurve()
+    {
+        return new AnimationCurve<Vector3>
+        {
+            InterpolationType = AnimationCurveInterpolationType.Linear,
+            KeyFrames =
+            {
+                CreateKeyFrame(0.00f, Vector3.UnitX), // Make the first keyframe a red color
+
+                CreateKeyFrame(0.50f, Vector3.UnitZ), // then blue
+
+                CreateKeyFrame(1.00f, Vector3.UnitX), // then red again
+            }
+        };
+    }
+
+    private static KeyFrameData<T> CreateKeyFrame<T>(float keyTime, T value)
+    {
+        return new KeyFrameData<T>((CompressedTimeSpan)TimeSpan.FromSeconds(keyTime), value);
+    }
+}
+```
+
+>[!NOTE]
+> If you need to animate a bone procedurally you must use the `NodeTransformations` field of the `Skeleton`.
+
 ## See also
 ## See also
 
 
 * [Animation index](index.md)
 * [Animation index](index.md)

+ 1 - 1
en/manual/audio/non-spatialized-audio.md

@@ -91,7 +91,7 @@ public class MySoundScript : SyncScript
     public override void Update()
     public override void Update()
     {
     {
         // If music isn't playing but should be, play the music.
         // If music isn't playing but should be, play the music.
-        if (PlayMusic & musicInstance.PlayState != SoundPlayState.Playing)
+        if (PlayMusic & musicInstance.PlayState != PlayState.Playing)
         {
         {
             musicInstance.Play();
             musicInstance.Play();
         }
         }

+ 1 - 1
en/manual/get-started/install-stride.md

@@ -8,7 +8,7 @@
  
  
     The **Stride Setup Wizard** opens.
     The **Stride Setup Wizard** opens.
 
 
-3. Stride requires .NET Framework 4.7.2. If you don't have this, Stride prompts you to install it.
+3. Stride depends on the .NET Runtime. If you don't have the particular version it needs, Stride prompts you to install it.
 
 
     ![Prerequisites installer](media/prerequisites-installer.png)
     ![Prerequisites installer](media/prerequisites-installer.png)
 
 

+ 1 - 1
en/manual/graphics/effects-and-shaders/custom-shaders.md

@@ -27,7 +27,7 @@ You can also use custom shaders to create custom post effects. For more informat
 
 
     ![Select class](media/rename-file.png)
     ![Select class](media/rename-file.png)
 
 
-    The Stride Visual Studio extension automatically generates a `.cs` file from the `.sdsl` file. The Solution Explorer lists it as a child of the `.xskl` file.
+    The Stride Visual Studio extension automatically generates a `.cs` file from the `.sdsl` file. The Solution Explorer lists it as a child of the `.sdsl` file.
 
 
     ![My shader](media/my-shader.png)
     ![My shader](media/my-shader.png)
 
 

+ 2 - 2
en/manual/graphics/effects-and-shaders/shading-language/index.md

@@ -6,11 +6,11 @@ Stride provides a superset of the [HLSL Shading language](http://msdn.microsoft.
 - **modularity** to provide a set modular shaders each focusing on a single rendering technique, more easily manageable
 - **modularity** to provide a set modular shaders each focusing on a single rendering technique, more easily manageable
 - **reusability** to maximize code reuse between shaders
 - **reusability** to maximize code reuse between shaders
 
 
-Stride Shading Language (XSL) is automatically transformed to an existing shading language (HLSL, GLSL, GLSL ES).
+Stride Shading Language (SDSL) is automatically transformed to an existing shading language (HLSL, GLSL, GLSL ES).
 
 
 ## In this section
 ## In this section
 
 
 - [Shader classes, mixins, and inheritance](shader-classes-mixins-and-inheritance.md)
 - [Shader classes, mixins, and inheritance](shader-classes-mixins-and-inheritance.md)
 - [Composition](composition.md)
 - [Composition](composition.md)
 - [Templates](templates.md)
 - [Templates](templates.md)
-- [Shader stage input/output automatic management](automatic-shader-stage-input-output.md)
+- [Shader stage input/output automatic management](automatic-shader-stage-input-output.md)

+ 11 - 9
en/manual/graphics/graphics-compositor/custom-scene-renderers.md

@@ -12,12 +12,13 @@ The @'Stride.Rendering.Compositing.SceneRendererBase' provides a default impleme
 public sealed class MyCustomRenderer : SceneRendererBase
 public sealed class MyCustomRenderer : SceneRendererBase
 {
 {
     // Implements the DrawCore method
     // Implements the DrawCore method
-    protected override void DrawCore(RenderContext context, RenderFrame output)
+    protected override void DrawCore(RenderContext context, RenderDrawContext drawContext)
     {
     {
         // Access to the graphics device
         // Access to the graphics device
-        var graphicsDevice = context.GraphicsDevice;
-        // Clears the currrent render target
-        graphicsDevice.Clear(output.RenderTargets[0], Color.CornflowerBlue);
+        var graphicsDevice = drawContext.GraphicsDevice;
+        var commandList = drawContext.CommandList;
+        // Clears the current render target
+        commandList.Clear(commandList.RenderTargets[0], Color.CornflowerBlue);
         // [...] 
         // [...] 
     }
     }
 }
 }
@@ -29,12 +30,13 @@ To develop a renderer and attach it to a method directly, use @'Stride.Rendering
 
 
 ```cs
 ```cs
 var sceneRenderer = new DelegateSceneRenderer(
 var sceneRenderer = new DelegateSceneRenderer(
-    (renderContext, frame) =>
+    (drawContext) =>
     {
     {
         // Access to the graphics device
         // Access to the graphics device
-        var graphicsDevice = context.GraphicsDevice;
-        // Clears the currrent render target
-        graphicsDevice.Clear(output.RenderTargets[0], Color.CornflowerBlue);
+        var graphicsDevice = drawContext.GraphicsDevice;
+        var commandList = drawContext.CommandList;
+        // Clears the current render target
+        commandList.Clear(commandList.RenderTargets[0], Color.CornflowerBlue);
         // [...] 
         // [...] 
    });
    });
 ```
 ```
@@ -42,4 +44,4 @@ var sceneRenderer = new DelegateSceneRenderer(
 ## See also
 ## See also
 
 
 * [Scene renderers](scene-renderers.md)
 * [Scene renderers](scene-renderers.md)
-* [Debug renderers](debug-renderers.md)
+* [Debug renderers](debug-renderers.md)

+ 2 - 0
en/manual/graphics/post-effects/ambient-occlusion.md

@@ -33,6 +33,8 @@
 ## See also
 ## See also
 
 
 * [Anti-aliasing](anti-aliasing.md)
 * [Anti-aliasing](anti-aliasing.md)
+* [Fog](fog.md)
+* [Outline](outline.md)
 * [Bloom](bloom.md)
 * [Bloom](bloom.md)
 * [Bright filter](bright-filter.md)
 * [Bright filter](bright-filter.md)
 * [Color transforms](color-transforms/index.md)
 * [Color transforms](color-transforms/index.md)

+ 2 - 0
en/manual/graphics/post-effects/anti-aliasing.md

@@ -22,6 +22,8 @@ Stride also includes **MSAA** (multisample anti-aliasing), but this isn't a post
 ## See also
 ## See also
 
 
 * [Ambient occlusion](ambient-occlusion.md)
 * [Ambient occlusion](ambient-occlusion.md)
+* [Fog](fog.md)
+* [Outline](outline.md)
 * [Bloom](bloom.md)
 * [Bloom](bloom.md)
 * [Bright filter](bright-filter.md)
 * [Bright filter](bright-filter.md)
 * [Color transforms](color-transforms/index.md)
 * [Color transforms](color-transforms/index.md)

+ 2 - 0
en/manual/graphics/post-effects/bloom.md

@@ -27,6 +27,8 @@ It uses the result of the [bright filter](bright-filter.md) effect as input.
 ## See also
 ## See also
 
 
 * [Anti-aliasing](anti-aliasing.md)
 * [Anti-aliasing](anti-aliasing.md)
+* [Fog](fog.md)
+* [Outline](outline.md)
 * [Ambient occlusion](ambient-occlusion.md)
 * [Ambient occlusion](ambient-occlusion.md)
 * [Bright filter](bright-filter.md)
 * [Bright filter](bright-filter.md)
 * [Color transforms](color-transforms/index.md)
 * [Color transforms](color-transforms/index.md)

+ 2 - 0
en/manual/graphics/post-effects/bright-filter.md

@@ -18,6 +18,8 @@ The **bright filter** extracts the brightest areas of an image. The bright filte
 ## In this section
 ## In this section
 
 
 * [Anti-aliasing](anti-aliasing.md)
 * [Anti-aliasing](anti-aliasing.md)
+* [Fog](fog.md)
+* [Outline](outline.md)
 * [Ambient occlusion](ambient-occlusion.md)
 * [Ambient occlusion](ambient-occlusion.md)
 * [Bloom](bloom.md)
 * [Bloom](bloom.md)
 * [Color transforms](color-transforms/index.md)
 * [Color transforms](color-transforms/index.md)

+ 2 - 0
en/manual/graphics/post-effects/depth-of-field.md

@@ -23,6 +23,8 @@ To create the effect, Stride creates several versions of the original image with
 ## See also
 ## See also
 
 
 * [Anti-aliasing](anti-aliasing.md)
 * [Anti-aliasing](anti-aliasing.md)
+* [Fog](fog.md)
+* [Outline](outline.md)
 * [Ambient occlusion](ambient-occlusion.md)
 * [Ambient occlusion](ambient-occlusion.md)
 * [Bloom](bloom.md)
 * [Bloom](bloom.md)
 * [Bright filter](bright-filter.md)
 * [Bright filter](bright-filter.md)

+ 32 - 0
en/manual/graphics/post-effects/fog.md

@@ -0,0 +1,32 @@
+# Fog
+
+<span class="label label-doc-level">Beginner</span>
+<span class="label label-doc-audience">Artist</span>
+
+The **fog** effect applies an exponential layer of colored fog throughout the scene based on depth.
+
+![media/fog-effect-1.png](media/fog-effect-1.png) 
+
+Fog is applied after anti-aliasing.
+
+## Properties
+
+![media/fog-effect-2.png](media/fog-effect-2.png) 
+
+| Property       | Description 
+| -------------- | ---- 
+| Density        | Density of the fog. This affects the opacity as it relates to fog depth.       
+| Color          | The color of the fog.
+| Fog Start      | Distance (scene depth) from the camera, where the fog should start.
+| Skip Background| Whether the fog should take into consideration the background image.
+
+## See also
+
+* [Anti-aliasing](anti-aliasing.md)
+* [Fog](fog.md)
+* [Ambient occlusion](ambient-occlusion.md)
+* [Bright filter](bright-filter.md)
+* [Color transforms](color-transforms/index.md)
+* [Depth of field](depth-of-field.md)
+* [Lens flare](lens-flare.md)
+* [Light streaks](light-streaks.md)

+ 2 - 0
en/manual/graphics/post-effects/index.md

@@ -44,6 +44,8 @@ You add and edit post effects in the [graphics compositor](../graphics-composito
 ## In this section
 ## In this section
 
 
 * [Anti-aliasing](anti-aliasing.md)
 * [Anti-aliasing](anti-aliasing.md)
+* [Fog](fog.md)
+* [Outline](outline.md)
 * [Ambient occlusion](ambient-occlusion.md)
 * [Ambient occlusion](ambient-occlusion.md)
 * [Bloom](bloom.md)
 * [Bloom](bloom.md)
 * [Bright filter](bright-filter.md)
 * [Bright filter](bright-filter.md)

+ 2 - 0
en/manual/graphics/post-effects/lens-flare.md

@@ -22,6 +22,8 @@ The artifacts are generally aligned along the line defined by the original brigh
 ## See also
 ## See also
 
 
 * [Anti-aliasing](anti-aliasing.md)
 * [Anti-aliasing](anti-aliasing.md)
+* [Fog](fog.md)
+* [Outline](outline.md)
 * [Ambient occlusion](ambient-occlusion.md)
 * [Ambient occlusion](ambient-occlusion.md)
 * [Bloom](bloom.md)
 * [Bloom](bloom.md)
 * [Bright filter](bright-filter.md)
 * [Bright filter](bright-filter.md)

+ 2 - 0
en/manual/graphics/post-effects/light-streaks.md

@@ -23,6 +23,8 @@ Similar to the [bloom effect](bloom.md), the **light streak** effect uses the re
 ## See also
 ## See also
 
 
 * [Anti-aliasing](anti-aliasing.md)
 * [Anti-aliasing](anti-aliasing.md)
+* [Fog](fog.md)
+* [Outline](outline.md)
 * [Ambient occlusion](ambient-occlusion.md)
 * [Ambient occlusion](ambient-occlusion.md)
 * [Bloom](bloom.md)
 * [Bloom](bloom.md)
 * [Bright filter](bright-filter.md)
 * [Bright filter](bright-filter.md)

+ 3 - 0
en/manual/graphics/post-effects/media/fog-effect-1.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:357cc27d0fce461239f268dee2f2e8a0fbc87b81c3924cb5f519d5b2eeb2b652
+size 61141

+ 3 - 0
en/manual/graphics/post-effects/media/fog-effect-2.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c1c242f0d9319ab1eddcbbe943d6dc150a28e372d5e49dcc94ae3e31dd435b63
+size 4349

+ 3 - 0
en/manual/graphics/post-effects/media/outline-effect-1.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6bf0c8a29e28f72f15114b3c8590f894caf2a6f089dfd02f740e10300a2dd732
+size 65699

+ 3 - 0
en/manual/graphics/post-effects/media/outline-effect-2.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c571cd827876ea63c790b7349895b17b7760a63bee08b35f66f828bcc63e2c7f
+size 4361

+ 33 - 0
en/manual/graphics/post-effects/outline.md

@@ -0,0 +1,33 @@
+# Outline
+
+<span class="label label-doc-level">Intermediate</span>
+<span class="label label-doc-audience">Artist</span>
+
+The **outline** effect applies a cartoon-like outline around 3d models rendered in the scene.
+
+![media/outline-effect-1.png](media/outline-effect-1.png) 
+
+Outline is applied before anti-aliasing.
+
+## Properties
+
+![media/outline-effect-2.png](media/outline-effect-2.png) 
+
+| Property       		| Description 
+| --------------------- | ---- 
+| Normal Weight  		| Weight applied to the normal buffer.    
+| Depth Weight   		| Weight applied to the depth buffer.
+| Normal Near Cutoff  	| Distance from the camera in which outlines are no longer rendered.
+
+## See also
+
+* [Anti-aliasing](anti-aliasing.md)
+* [Fog](fog.md)
+* [Outline](outline.md)
+* [Bloom](bloom.md)
+* [Bright filter](bright-filter.md)
+* [Color transforms](color-transforms/index.md)
+* [Depth of field](depth-of-field.md)
+* [Lens flare](lens-flare.md)
+* [Light streaks](light-streaks.md)
+* [Local reflections](local-reflections.md)

+ 1 - 0
en/manual/ui/add-a-ui-to-a-scene.md

@@ -76,6 +76,7 @@ public void InitializeUI()
 | Property           | Description
 | Property           | Description
 |--------------------|----------------
 |--------------------|----------------
 | Page               | The UI page displayed by the component
 | Page               | The UI page displayed by the component
+| Sampler		| Texture sampling method: Point (Nearest), Linear (**Default option** ), or Anisotropic
 | Full screen        | **Note:** We recommend you use this as other stuff is broken
 | Full screen        | **Note:** We recommend you use this as other stuff is broken
 | Resolution         | The UI resolution in pixels
 | Resolution         | The UI resolution in pixels
 | Size               | Gets or sets the actual size of the UI component in world units
 | Size               | Gets or sets the actual size of the UI component in world units

+ 1 - 1
en/template/partials/footer.tmpl.partial

@@ -3,7 +3,7 @@
 <footer>
 <footer>
   <div class="inner-footer">
   <div class="inner-footer">
     <p><a href="#top">Back to top</a></p>
     <p><a href="#top">Back to top</a></p>
-    <p>Copyright © 2019 Stride Team<br>Generated by <strong>DocFX</strong></p>
+    <p>Copyright © 2019-2021 .NET Foundation and Contributors<br>Supported by the <a href="https://dotnetfoundation.org" target="_blank">.NET Foundation</a></p>
   </div>
   </div>
 </footer>
 </footer>
 <script src="//stride3d.net/scripts/theme.js" type="text/javascript"></script>
 <script src="//stride3d.net/scripts/theme.js" type="text/javascript"></script>

+ 3 - 0
en/tutorials/csharpbeginner/add-component.md

@@ -6,6 +6,9 @@ This C# Beginner tutorial covers how to add and remove components. In the previo
 
 
 ![Add a component](media/adding-a-component.png)
 ![Add a component](media/adding-a-component.png)
 
 
+
+<iframe width="560" height="315" src="https://www.youtube.com/embed/KGuBSRyRmVo" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+
 ## Code
 ## Code
 ### AmmoComponent
 ### AmmoComponent
 This is the AmmoComponent. We will not attach it to the entity in the editor. Instead we will add it ourselves in the AddingAComponent script.
 This is the AmmoComponent. We will not attach it to the entity in the editor. Instead we will add it ourselves in the AddingAComponent script.

+ 2 - 0
en/tutorials/csharpbeginner/child-entities.md

@@ -6,5 +6,7 @@ This C# basics tutorial covers how to get an entities children. Since those chil
 
 
 ![Child entities](media/child-entities.png)
 ![Child entities](media/child-entities.png)
 
 
+<iframe width="560" height="315" src="https://www.youtube.com/embed/jf9x__cbiqI" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+
 ## Code
 ## Code
 [!code-csharp[ChildEntities](..\..\..\..\stride\samples\Tutorials\CSharpBeginner\CSharpBeginner\CSharpBeginner.Game\Code\ChildEntitiesDemo.cs)]
 [!code-csharp[ChildEntities](..\..\..\..\stride\samples\Tutorials\CSharpBeginner\CSharpBeginner\CSharpBeginner.Game\Code\ChildEntitiesDemo.cs)]

+ 2 - 0
en/tutorials/csharpbeginner/cloning-entities.md

@@ -6,5 +6,7 @@ This C# Beginner tutorial covers how to clone an existing entity and how to add
 
 
 ![Cloning entities](media/cloning-entities.png)
 ![Cloning entities](media/cloning-entities.png)
 
 
+<iframe width="560" height="315" src="https://www.youtube.com/embed/klcTyUDI1yg" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+
 ## Code
 ## Code
 [!code-csharp[Entity](..\..\..\..\stride\samples\Tutorials\CSharpBeginner\CSharpBeginner\CSharpBeginner.Game\Code\CloneEntityDemo.cs)]
 [!code-csharp[Entity](..\..\..\..\stride\samples\Tutorials\CSharpBeginner\CSharpBeginner\CSharpBeginner.Game\Code\CloneEntityDemo.cs)]

+ 2 - 0
en/tutorials/csharpbeginner/delta-time.md

@@ -6,5 +6,7 @@ This C# Beginner tutorial covers the retrieval and usage of delta time. A games
 
 
 ![Delta Time](media/deltatime.png)
 ![Delta Time](media/deltatime.png)
 
 
+<iframe width="560" height="315" src="https://www.youtube.com/embed/WMGY8JOqzeE" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+
 ## Code
 ## Code
 [!code-csharp[DeltaTime](..\..\..\..\stride\samples\Tutorials\CSharpBeginner\CSharpBeginner\CSharpBeginner.Game\Code\DeltaTimeDemo.cs)]
 [!code-csharp[DeltaTime](..\..\..\..\stride\samples\Tutorials\CSharpBeginner\CSharpBeginner\CSharpBeginner.Game\Code\DeltaTimeDemo.cs)]

+ 3 - 0
en/tutorials/csharpbeginner/editor-properties.md

@@ -6,6 +6,9 @@ This C# Beginner tutorial covers how to expose editor properties for Stride Game
 
 
 ![Editor properties](media/editor-properties2.png)
 ![Editor properties](media/editor-properties2.png)
 
 
+<iframe width="560" height="315" src="https://www.youtube.com/embed/GPiWbfsG5F0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+
+
 ## Code
 ## Code
 [!code-csharp[Entity](..\..\..\..\stride\samples\Tutorials\CSharpBeginner\CSharpBeginner\CSharpBeginner.Game\Code\PropertiesDEmo.cs)]
 [!code-csharp[Entity](..\..\..\..\stride\samples\Tutorials\CSharpBeginner\CSharpBeginner\CSharpBeginner.Game\Code\PropertiesDEmo.cs)]
 
 

+ 2 - 0
en/tutorials/csharpbeginner/entity.md

@@ -6,5 +6,7 @@ This C# Beginner tutorial covers how to get the entity object. When a script is
 
 
 ![Getting the entity example](media/getting-the-entity.png)
 ![Getting the entity example](media/getting-the-entity.png)
 
 
+<iframe width="560" height="315" src="https://www.youtube.com/embed/DUmZujopcY8" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+
 ## Code
 ## Code
 [!code-csharp[Entity](..\..\..\..\stride\samples\Tutorials\CSharpBeginner\CSharpBeginner\CSharpBeginner.Game\Code\GettingTheEntityDemo.cs)]
 [!code-csharp[Entity](..\..\..\..\stride\samples\Tutorials\CSharpBeginner\CSharpBeginner\CSharpBeginner.Game\Code\GettingTheEntityDemo.cs)]

+ 2 - 0
en/tutorials/csharpbeginner/get-component.md

@@ -6,6 +6,8 @@ This C# beginner tutorial covers how to get and remove components. Components ar
 
 
 ![Get a component](media/getting-a-component.png)
 ![Get a component](media/getting-a-component.png)
 
 
+<iframe width="560" height="315" src="https://www.youtube.com/embed/qRZG8qXkvDQ" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+
 ## Code
 ## Code
 ### AmmoComponent
 ### AmmoComponent
 This is the first component that we attach to an entity. In the second script, we will try to get this AmmoComponent.
 This is the first component that we attach to an entity. In the second script, we will try to get this AmmoComponent.

+ 8 - 2
en/tutorials/csharpbeginner/index.md

@@ -1,7 +1,13 @@
 # C# Beginner
 # C# Beginner
-These tutorials cover the beginner principles of using C# when working with the Stride game engine. Start here if you are new to Stride or programming. Although having some coding experience is useful, it is not mandatory to get started with these tutorials. You can create the C# beginner tutorial project by starting the Stride launcher. Create a new project and select the template: Tutorials -> C# beginner. Every single scene is loaded as a child scene and demonstrates a sample script. 
+These tutorials cover the beginner principles of using C# when working with the Stride game engine. Start here if you are new to Stride. Note: these tutorials are not a introduction to C# itself. Although having some coding experience is useful, it is not mandatory to get started with these tutorials. You can create the C# beginner tutorial project by starting the Stride launcher. Create a new project and select the template: Tutorials -> C# beginner. Every single scene is loaded as a child scene and demonstrates a sample script. 
 
 
-![Editor properties](media/csharp_beginner_tutorial_template.jpg)
+All tutorials have a Youtube video. You can watch the entire Beginners playlist here: https://www.youtube.com/playlist?list=PLRZx2y7uC8mNySUMfOQf-TLNVnnHkLfPi 
+
+<iframe width="560" height="315" src="https://www.youtube.com/embed/Z2kUQhSmdr0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+
+
+## Youtube Tutorial Series
+There is a YouTube series covering this CSharpBeginner course.  It is a great companion and may be found here: https://www.youtube.com/watch?v=Z2kUQhSmdr0&list=PLRZx2y7uC8mNySUMfOQf-TLNVnnHkLfPi
 
 
 # All tutorials 
 # All tutorials 
 <div class='tutorial'>
 <div class='tutorial'>

+ 3 - 0
en/tutorials/csharpbeginner/instantiating-prefabs.md

@@ -6,5 +6,8 @@ This C# Beginner tutorial covers how to instantiate prefabs. A prefab is a "mast
 
 
 ![Instantiating Prefabs](media/instantiating-prefabs.png)
 ![Instantiating Prefabs](media/instantiating-prefabs.png)
 
 
+<iframe width="560" height="315" src="https://www.youtube.com/embed/19u2QACzdAk" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+
+
 ## Code
 ## Code
 [!code-csharp[Instantiating Prefabs](..\..\..\..\stride\samples\Tutorials\CSharpBeginner\CSharpBeginner\CSharpBeginner.Game\Code\InstantiatingPrefabsDemo.cs)]
 [!code-csharp[Instantiating Prefabs](..\..\..\..\stride\samples\Tutorials\CSharpBeginner\CSharpBeginner\CSharpBeginner.Game\Code\InstantiatingPrefabsDemo.cs)]

+ 2 - 0
en/tutorials/csharpbeginner/keyboard-input.md

@@ -6,5 +6,7 @@ This C# Beginner tutorial covers how to handle keyboard input. We can check for
 
 
 ![Keyboard input](media/keyboard-input.png)
 ![Keyboard input](media/keyboard-input.png)
 
 
+<iframe width="560" height="315" src="https://www.youtube.com/embed/UvKizPFAego" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+
 ## Code
 ## Code
 [!code-csharp[Entity](..\..\..\..\stride\samples\Tutorials\CSharpBeginner\CSharpBeginner\CSharpBeginner.Game\Code\KeyboardInputDemo.cs)]
 [!code-csharp[Entity](..\..\..\..\stride\samples\Tutorials\CSharpBeginner\CSharpBeginner\CSharpBeginner.Game\Code\KeyboardInputDemo.cs)]

+ 3 - 0
en/tutorials/csharpbeginner/linear-interpolation.md

@@ -6,6 +6,9 @@ This C# Beginner tutorial covers linear interpolation which is often shortened t
 
 
 ![Linear interpolation](media/lerp.png)
 ![Linear interpolation](media/lerp.png)
 
 
+<iframe width="560" height="315" src="https://www.youtube.com/embed/jBXGvLBwXqI" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+
+
 ## Code
 ## Code
 The example consists of a simple timer that resets after a couple seconds. When the timer starts, a start position and a randomly generated target position are stored. A box will move between these two positions. Every frame a 'Lerp value' is calculated. The lerp value is used to determined what the current position of a moving box should be. Once the timer is done, the current position will become the start position and a new target position is again randomly generated.
 The example consists of a simple timer that resets after a couple seconds. When the timer starts, a start position and a randomly generated target position are stored. A box will move between these two positions. Every frame a 'Lerp value' is calculated. The lerp value is used to determined what the current position of a moving box should be. Once the timer is done, the current position will become the start position and a new target position is again randomly generated.
 [!code-csharp[Lerp](..\..\..\..\stride\samples\Tutorials\CSharpBeginner\CSharpBeginner\CSharpBeginner.Game\Code\LerpDemo.cs)]
 [!code-csharp[Lerp](..\..\..\..\stride\samples\Tutorials\CSharpBeginner\CSharpBeginner\CSharpBeginner.Game\Code\LerpDemo.cs)]

+ 3 - 0
en/tutorials/csharpbeginner/loading-content.md

@@ -6,6 +6,9 @@ This C# Beginner tutorial covers how to load content from code. Assets like mode
 
 
 ![Loading content](media/loading-content.png)
 ![Loading content](media/loading-content.png)
 
 
+<iframe width="560" height="315" src="https://www.youtube.com/embed/_c4Cv4k3YyI" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+
+
 ## Code
 ## Code
 With the L and U key you can either Load or Unload the model of a mannequin. If there is a model loaded, you can use the S key to spawn a new entity with the loaded mannequin model. The C clears all of the spawned entities in the scene. This demo demonstrates that when models are unloaded, any entities that reference the model are still existing in the scene.
 With the L and U key you can either Load or Unload the model of a mannequin. If there is a model loaded, you can use the S key to spawn a new entity with the loaded mannequin model. The C clears all of the spawned entities in the scene. This demo demonstrates that when models are unloaded, any entities that reference the model are still existing in the scene.
 [!code-csharp[Loading content](..\..\..\..\stride\samples\Tutorials\CSharpBeginner\CSharpBeginner\CSharpBeginner.Game\Code\LoadingContentDemo.cs)]
 [!code-csharp[Loading content](..\..\..\..\stride\samples\Tutorials\CSharpBeginner\CSharpBeginner\CSharpBeginner.Game\Code\LoadingContentDemo.cs)]

+ 2 - 0
en/tutorials/csharpbeginner/mouse-input.md

@@ -6,5 +6,7 @@ This C# Beginner tutorial covers how to handle mouse input. We can check for the
 
 
 ![Mouse input](media/mouse-input.png)
 ![Mouse input](media/mouse-input.png)
 
 
+<iframe width="560" height="315" src="https://www.youtube.com/embed/HuA80JIZ8hA" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+
 ## Code
 ## Code
 [!code-csharp[Entity](..\..\..\..\stride\samples\Tutorials\CSharpBeginner\CSharpBeginner\CSharpBeginner.Game\Code\MouseInputDemo.cs)]
 [!code-csharp[Entity](..\..\..\..\stride\samples\Tutorials\CSharpBeginner\CSharpBeginner\CSharpBeginner.Game\Code\MouseInputDemo.cs)]

+ 2 - 0
en/tutorials/csharpbeginner/removing-entities.md

@@ -6,5 +6,7 @@ This C# Beginner tutorial covers how to remove existing entities from the scene
 
 
 ![Cloning entities](media/removing-entity.png)
 ![Cloning entities](media/removing-entity.png)
 
 
+<iframe width="560" height="315" src="https://www.youtube.com/embed/TzwGe4RzAb4" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+
 ## Code
 ## Code
 [!code-csharp[Entity](..\..\..\..\stride\samples\Tutorials\CSharpBeginner\CSharpBeginner\CSharpBeginner.Game\Code\RemoveEntitiesDemo.cs)]
 [!code-csharp[Entity](..\..\..\..\stride\samples\Tutorials\CSharpBeginner\CSharpBeginner\CSharpBeginner.Game\Code\RemoveEntitiesDemo.cs)]

+ 4 - 0
en/tutorials/csharpbeginner/transform-position.md

@@ -6,5 +6,9 @@ This C# Beginner tutorial covers the Transform component of an entity. The Trans
 
 
 ![Transform Position](media/transform-position.png)
 ![Transform Position](media/transform-position.png)
 
 
+
+<iframe width="560" height="315" src="https://www.youtube.com/embed/2N6NhijZuJk" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+
+
 ## Code
 ## Code
 [!code-csharp[Entity](..\..\..\..\stride\samples\Tutorials\CSharpBeginner\CSharpBeginner\CSharpBeginner.Game\Code\TransformPositionDemo.cs)]
 [!code-csharp[Entity](..\..\..\..\stride\samples\Tutorials\CSharpBeginner\CSharpBeginner\CSharpBeginner.Game\Code\TransformPositionDemo.cs)]

+ 3 - 0
en/tutorials/csharpbeginner/virtual-buttons.md

@@ -6,5 +6,8 @@ This C# Beginner tutorial covers how to create virtual buttons. Lets say that yo
 
 
 ![Virtual buttons](media/virtual-buttons.png)
 ![Virtual buttons](media/virtual-buttons.png)
 
 
+<iframe width="560" height="315" src="https://www.youtube.com/embed/uWgson2IIhs" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+
+
 ## Code
 ## Code
 [!code-csharp[VirtualButtons](..\..\..\..\stride\samples\Tutorials\CSharpBeginner\CSharpBeginner\CSharpBeginner.Game\Code\VirtualButtonsDemo.cs)]
 [!code-csharp[VirtualButtons](..\..\..\..\stride\samples\Tutorials\CSharpBeginner\CSharpBeginner\CSharpBeginner.Game\Code\VirtualButtonsDemo.cs)]

+ 1 - 0
jp-build.ps1

@@ -32,6 +32,7 @@ Foreach ($post in $posts)
 }
 }
 
 
 Write-Host "End write files"
 Write-Host "End write files"
+Copy-Item jp/index.md jp_tmp -Force
 Copy-Item jp/manual -Recurse jp_tmp -Force
 Copy-Item jp/manual -Recurse jp_tmp -Force
 Copy-Item en/docfx.json jp_tmp -Force
 Copy-Item en/docfx.json jp_tmp -Force
 (Get-Content jp_tmp/docfx.json) -replace "_site/en","_site/jp" | Set-Content jp_tmp/docfx.json
 (Get-Content jp_tmp/docfx.json) -replace "_site/en","_site/jp" | Set-Content jp_tmp/docfx.json

+ 104 - 0
jp/index.md

@@ -0,0 +1,104 @@
+<style>
+	.sideaffix, .breadcrumb, style+h1 {
+		display: none;
+	}
+</style>
+
+# Stride documentation
+<ul class="stride-documentation-list col-md-8 col-sm-12 col-lg-7">
+	<li>
+		<a href="manual/index.html">
+			<div class="stride-documentation-image">
+				![マニュアル](media/stride-icon-manual.png "マニュアル")
+				<!--
+				![Manual](media/stride-icon-manual.png "Manual")
+				-->
+			</div>
+			<div class="stride-documentation-chapter">
+				<h2>
+					マニュアル
+					<!--
+					Manual
+					-->
+				</h2>
+				<div class="xi_arrowLink"></div>
+				<p class="hidden-xs">
+					Stride でプロジェクトを構築してタスクを行う方法について学びます。
+					ステップバイステップのチュートリアルも含まれます。
+					<!--
+					Learn how to build projects and complete tasks in Stride, including step-by-step tutorials
+					-->
+				</p>
+			</div>
+		</a>
+	</li>
+	<li>
+		<a href="api/index.html">
+			<div class="stride-documentation-image">
+				![API](media/stride-icon-api.png "API")
+			</div>
+			<div class="stride-documentation-chapter">
+				<h2>
+					API 
+				</h2>
+				<div class="xi_arrowLink"></div>
+				<p class="hidden-xs">
+					Stride の API について、メソッドやプロパティなどの関連情報を掲載しています。
+					<!--
+					Stride's API, with methods, properties, and other relevant information
+					-->
+				</p>
+			</div>
+		</a>
+	</li>
+	<li>
+		<a href="ReleaseNotes/index.html">
+			<div class="stride-documentation-image">
+				![リリースノート](media/stride-icon-release-notes.png "リリースノート")
+				<!--
+				![Release notes](media/stride-icon-release-notes.png "Release notes")
+				-->
+			</div>
+			<div class="stride-documentation-chapter">
+				<h2>
+					リリースノート
+					<!--
+					Release notes
+					-->
+				</h2>
+				<div class="xi_arrowLink"></div>
+				<p class="hidden-xs">
+					Stride の最新版の内容について(古いバージョンも)。
+					<!--
+					What's in the latest version of Stride (and older versions too)
+					-->
+				</p>
+			</div>
+		</a>
+	</li>
+	<li>
+		<a href="tutorials/index.html">
+			<div class="stride-documentation-image">
+				![チュートリアル](media/stride-icon-tutorials.png "チュートリアル")
+				<!--
+				![Release notes](media/stride-icon-tutorials.png "Tutorials")
+				-->
+			</div>
+			<div class="stride-documentation-chapter">
+				<h2>
+					チュートリアル
+					<!--
+					Tutorials
+					-->
+				</h2>
+				<div class="xi_arrowLink"></div>
+				<p class="hidden-xs">
+					Stride ゲームエンジンのチュートリアルです。
+					<!--
+					Tutorials for the Stride game engine
+					-->
+				</p>
+			</div>
+		</a>
+	</li>
+</ul>

+ 1 - 1
jp/manual/animation/additive-animation.md

@@ -1,4 +1,4 @@
-# 加算アニメーション
+# 加算アニメーション(Additive Animation)
 
 
 <span class="label label-doc-level">中級</span>
 <span class="label label-doc-level">中級</span>
 <span class="label label-doc-audience">デザイナー</span>
 <span class="label label-doc-audience">デザイナー</span>

+ 1 - 1
jp/manual/animation/animation-properties.md

@@ -1,4 +1,4 @@
-# アニメーションプロパティ
+# アニメーション プロパティ
 
 
 <span class="label label-doc-level">初級</span>
 <span class="label label-doc-level">初級</span>
 <span class="label label-doc-audience">デザイナー</span>
 <span class="label label-doc-audience">デザイナー</span>

+ 1 - 1
jp/manual/animation/animation-scripts.md

@@ -1,4 +1,4 @@
-# アニメーションスクリプト
+# アニメーション スクリプト
 
 
 <span class="label label-doc-level">中級</span>
 <span class="label label-doc-level">中級</span>
 <span class="label label-doc-audience">プログラマー</span>
 <span class="label label-doc-audience">プログラマー</span>

+ 141 - 0
jp/manual/animation/custom-attributes.md

@@ -0,0 +1,141 @@
+# カスタム属性
+<!--
+# Custom attributes
+-->
+
+<span class="label label-doc-level">中級</span>
+<!--
+<span class="label label-doc-level">Intermediate</span>
+-->
+
+Maya などのモデリング ツールで作成したカスタム属性をインポートすることができます。
+<!--
+You can import custom attributes created in modeling tools such as Maya. 
+-->
+
+現状では、カスタム**アニメーション**属性だけをインポートすることができます。それ以外のカスタム属性はインポートできません。
+<!--
+Currently, you can only import custom **animated** attributes. Attributes that aren't animated can't be imported.
+-->
+
+![Maya properties](media/custom-attributes-in-maya.png)
+
+## 1. カスタム属性をインポートする
+<!--
+## 1. Import custom attributes
+-->
+
+1. アニメーションをインポートします。手順については、[アニメーションのインポート](import-animations.md)をご覧ください。
+
+2. **アセットビュー**で、アニメーションアセットを選択します。
+
+    ![Assets in Asset View](media/assets-in-asset-view1.png)
+
+2. **プロパティグリッド**で、**[Import custom attributes]** を選択します。
+
+    ![Custom attributes](media/import-custom-attributes.png)
+
+    アセットが構築され、Stride は FBX ファイルからカスタム属性をインポートします。
+
+<!--
+1. Import the animation. For instructions, see [Import animations](import-animations.md).
+
+2. In the **Asset View**, select the animation asset.
+
+    ![Assets in Asset View](media/assets-in-asset-view1.png)
+
+2. In the **Property Grid**, select **Import custom attributes**.
+
+    ![Custom attributes](media/import-custom-attributes.png)
+
+    When the assets are built, Stride imports the custom attributes from the FBX file.
+-->
+
+## 2. スクリプトでカスタム属性のインポートを制御する
+<!--
+## 2. Control custom attributes with a script
+-->
+
+カスタム属性を読み取り、その値を別のプロパティにコピーするスクリプトを追加してみます。これは、独立したスクリプトでも、他の[アニメーションスクリプト](animation-scripts.md)の一部でも構いません。
+<!--
+Add a script to read the custom attributes and copy their value to another property. This can be a separate script, or part of another [animation script](animation-scripts.md).
+-->
+
+属性は、`NodeName_AttributeName` という形の名前で検索します。例えば、`myNode` にカスタム属性 `myAttribute` を設定している場合は、`myNode_myAttribute` という名前で検索します。
+<!--
+To look up an attribute, use `NodeName_AttributeName`. For example, if you have the node `myNode` with the custom attribute `myAttribute`, use `myNode_myAttribute`.
+-->
+
+### スクリプトの例
+<!--
+### Example script
+-->
+
+```cs
+using Stride.Animations;
+using Stride.Engine;
+using Stride.Rendering;
+using Stride.Audio;
+using Stride.Rendering.Materials;
+using System.Linq;
+
+namespace Sample
+{
+    public class HologramScript : SyncScript
+    {
+        public Material MyMaterial;
+
+        private AnimationComponent animationComponent;
+        private AnimationProcessor animationProcessor;
+
+        public override void Start()
+        {
+            base.Start();
+
+            animationComponent = Entity.GetOrCreate<AnimationComponent>();
+            animationProcessor = SceneSystem.SceneInstance.Processors.OfType<AnimationProcessor>().FirstOrDefault();
+        }
+
+        public override void Update()
+        {
+            if (animationProcessor == null || MyMaterial == null)
+                return;
+
+            // アニメーションがまだ再生されていない場合、結果が Null になることがあります。
+            // Animation result may be Null if animation hasn't been played yet.
+            var animResult = animationProcessor.GetAnimationClipResult(animationComponent);
+            if (animResult == null)
+                return;
+
+            // カスタムアニメーション属性の値を読み取ります。
+            // Read the value of the animated custom attribute:
+            float emissiveIntensity = 0;
+            unsafe
+            {
+                fixed (byte* structures = animResult.Data)
+                {
+                    foreach (var channel in animResult.Channels)
+                    {
+                        if (!channel.IsUserCustomProperty)
+                            continue;
+
+                        var structureData = (float*)(structures + channel.Offset);
+                        var factor = *structureData++;
+                        if (factor == 0.0f)
+                            continue;
+
+                        var value = *structureData;
+                        if (channel.PropertyName == "myNode_myProperty")
+                            emissiveIntensity = value;
+                    }
+                }
+            }
+
+            // 読み取った値をマテリアルパラメーターに割り当てます。
+            // Bind the material parameter:
+
+            MyMaterial.Passes[0].Parameters.Set(MaterialKeys.EmissiveIntensity, emissiveIntensity);
+        }
+    }
+}
+```

+ 3 - 0
jp/manual/animation/media/111.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:bfb9ec7e176c81521272ebdc1858e110d6138035f297949bc35636b305200ba9
+size 113381

+ 3 - 0
jp/manual/animation/media/112.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d2f2cde532ef8d1777480a0f614909fbf6fc57d1e74fc167234484b929a9c651
+size 42197

+ 3 - 0
jp/manual/animation/media/113.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d2f2cde532ef8d1777480a0f614909fbf6fc57d1e74fc167234484b929a9c651
+size 42197

+ 3 - 0
jp/manual/animation/media/2d-animations-select-sprite-borders.jpg

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:fdf7fa127fac30002636e4bd607ec7c9ec92c8cd568d2f02d79e0292ad19fd6c
+size 28634

+ 3 - 0
jp/manual/animation/media/2d-animations-select-sprite-borders.mp4

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e951688f169d7898898745bd2f18d95d490a04614fb8a3a16cc3df439853ec5d
+size 117536

+ 3 - 0
jp/manual/animation/media/2d-animations-select-sprites-sprite-sheet.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:fcbd24255ef52fe4cffe641331d7396f5daa85ba1dda5875b9843ccdb931b77f
+size 105792

+ 3 - 0
jp/manual/animation/media/2d-animations-sprite-navigation-tools.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f7ce5819c6411ea838ce93d198bf1eb4d42a81b969b24e1325c5a5289f874f5e
+size 3423

+ 3 - 0
jp/manual/animation/media/2d-animations-sprite-sheet-frames.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:849e41fded4aa0560023a540c9d23157c5a9c421c8a1d375b3393a3a9a735509
+size 20832

+ 3 - 0
jp/manual/animation/media/add-animation-asset.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:eb3da864a6ca1af0d034e9fadc2fd05819bcd6234d7e3a7b851f6e501edb8c6b
+size 21117

+ 3 - 0
jp/manual/animation/media/add-animation-script-component.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:36afba13954565e7bdf132d03aac11980e793036bbac05c485e8789a9c3972a0
+size 22650

+ 3 - 0
jp/manual/animation/media/add-animation-start-script.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:613e08ffeb52e60d9bc1d9e081dd4c906ba1384bb4c82565d6bbb4fcbf2f8a3e
+size 12062

+ 3 - 0
jp/manual/animation/media/add-animation-to-list.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a9170fa4b8a63fbe06bbbbf3616c3fef51b2891da3252a94d7d71f0715bf2387
+size 5601

+ 3 - 0
jp/manual/animation/media/add-animation.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:348790b22b08c059c3d22553c6627a6651725899df3723a73f38505b8c5e35a7
+size 4626

+ 221 - 0
jp/manual/animation/media/adjust sprite border.tscproj

@@ -0,0 +1,221 @@
+{
+  "title" : "",
+  "description" : "",
+  "author" : "",
+  "width" : 380.0,
+  "height" : 400.0,
+  "version" : "0.5",
+  "editRate" : 30,
+  "authoringClientName" :  {
+    "name" : "Camtasia Studio",
+    "platform" : "Windows",
+    "version" : "9.0"
+  },
+  "sourceBin" : [
+    {
+      "id" : 1,
+      "src" : "C:\\Users\\james.duffy\\Documents\\Camtasia Studio\\Rec 02-02-17.trec",
+      "rect" : [0, 0, 496, 540],
+      "lastMod" : "20170202T063606",
+      "sourceTracks" : [
+        {
+          "range" : [0, 211],
+          "type" : 0,
+          "editRate" : 30,
+          "trackRect" : [0, 0, 496, 540],
+          "sampleRate" : 29,
+          "bitDepth" : 0,
+          "numChannels" : 0,
+          "metaData" : "Rec 02-02-17.trec;"
+        }
+      ]
+    },
+    {
+      "id" : 2,
+      "src" : "C:\\Users\\james.duffy\\Documents\\Camtasia Studio\\Rec 02-02-17 1.trec",
+      "rect" : [0, 0, 496, 540],
+      "lastMod" : "20170202T063844",
+      "sourceTracks" : [
+        {
+          "range" : [0, 301],
+          "type" : 0,
+          "editRate" : 30,
+          "trackRect" : [0, 0, 496, 540],
+          "sampleRate" : 29,
+          "bitDepth" : 0,
+          "numChannels" : 0,
+          "metaData" : "Rec 02-02-17 1.trec;"
+        }
+      ]
+    }
+  ],
+  "timeline" : {
+    "id" : 3,
+    "sceneTrack" : {
+      "scenes" : [
+        {
+          "duration" : 6.7,
+          "title" : "",
+          "type" : "",
+          "csml" : {
+            "tracks" : [
+              {
+                "trackIndex" : 0,
+                "medias" : [
+                  {
+                    "id" : 4,
+                    "_type" : "ScreenVMFile",
+                    "src" : 2,
+                    "trackNumber" : 0,
+                    "attributes" : {
+                      "ident" : "Rec 02-02-17 1"
+                    },
+                    "parameters" : {
+                      "scale0" : {
+                        "type" : "double",
+                        "defaultValue" : 0.740740740740741,
+                        "interp" : "eioe"
+                      },
+                      "scale1" : {
+                        "type" : "double",
+                        "defaultValue" : 0.740740740740741,
+                        "interp" : "eioe"
+                      },
+                      "sourceCrop0" : {
+                        "type" : "double",
+                        "defaultValue" : 0.0,
+                        "interp" : "linr"
+                      },
+                      "sourceCrop1" : {
+                        "type" : "double",
+                        "defaultValue" : 0.0,
+                        "interp" : "linr"
+                      },
+                      "sourceCrop2" : {
+                        "type" : "double",
+                        "defaultValue" : 0.0,
+                        "interp" : "linr"
+                      },
+                      "sourceCrop3" : {
+                        "type" : "double",
+                        "defaultValue" : 0.0,
+                        "interp" : "linr"
+                      },
+                      "geometryCrop0" : {
+                        "type" : "double",
+                        "defaultValue" : 0.0,
+                        "interp" : "linr"
+                      },
+                      "geometryCrop1" : {
+                        "type" : "double",
+                        "defaultValue" : 0.0,
+                        "interp" : "linr"
+                      },
+                      "geometryCrop2" : {
+                        "type" : "double",
+                        "defaultValue" : 0.0,
+                        "interp" : "linr"
+                      },
+                      "geometryCrop3" : {
+                        "type" : "double",
+                        "defaultValue" : 0.0,
+                        "interp" : "linr"
+                      },
+                      "opacity" : {
+                        "type" : "double",
+                        "defaultValue" : 1.0,
+                        "interp" : "linr"
+                      },
+                      "cursorScale" : {
+                        "type" : "double",
+                        "defaultValue" : 1.0,
+                        "interp" : "linr"
+                      },
+                      "cursorOpacity" : {
+                        "type" : "double",
+                        "defaultValue" : 1.0,
+                        "interp" : "linr"
+                      }
+                    },
+                    "effects" : [
+
+                    ],
+                    "start" : 0,
+                    "duration" : 201,
+                    "mediaStart" : 0,
+                    "mediaDuration" : 301,
+                    "scalar" : "201/301",
+                    "metadata" : {
+                      "AutoAppliedSmartFocus" : "False",
+                      "WinSubProjectDisplayName" : "",
+                      "clipSpeedAttribute" : true
+                    },
+                    "animationTracks" : {
+
+                    }
+                  }
+                ]
+              },
+              {
+                "trackIndex" : 1,
+                "medias" : [
+                ]
+              }
+            ]
+          }
+        }
+      ]
+    },
+    "trackAttributes" : [
+      {
+        "ident" : "",
+        "audioMuted" : false,
+        "videoHidden" : false,
+        "metadata" : {
+          "IsLocked" : "False",
+          "WinTrackHeight" : "56"
+        }
+      },
+      {
+        "ident" : "",
+        "audioMuted" : false,
+        "videoHidden" : false,
+        "metadata" : {
+          "IsLocked" : "False",
+          "WinTrackHeight" : "56"
+        }
+      }
+    ],
+    "captionAttributes" : {
+      "enabled" : true,
+      "fontName" : "Arial",
+      "fontSize" : 13,
+      "backgroundColor" : [ 0, 0, 0, 191],
+      "foregroundColor" : [ 255, 255, 255, 255],
+      "lang" : "en",
+      "alignment" : 0,
+      "defaultFontSize" : true,
+      "opacity" : 0.5,
+      "backgroundEnabled" : true,
+      "backgroundOnlyAroundText" : true
+    },
+    "backgroundColor" : [ 0, 0, 0, 255]
+  },
+  "metadata" : {
+    "AutoSaveFile" : "",
+    "CanvasZoom" : 100,
+    "Date" : "2017-02-01 05:20:29 PM",
+    "IsAutoSave" : "0",
+    "Language" : "ENU",
+    "ProfileName" : "Stride documentation videos",
+    "ProjectDimensionsChanged" : "1",
+    "Title" : "adjust sprite border",
+    "audioNarrationNotes" : "",
+    "calloutStyle" : "Basic",
+    "canvasDetached" : "False",
+    "canvasPositionHeight" : "0",
+    "canvasPositionLeft" : "0",
+    "canvasPositionTop" : "0",
+    "canvasPositionWidth" : "0"
+  }
+}

+ 3 - 0
jp/manual/animation/media/animation-asset-added.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:240cdaa378c7cc881e419418bef36dcc1a98ff2a1256769fcd29efa23ae7ad95
+size 9237

+ 3 - 0
jp/manual/animation/media/animation-script-added.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3792feddff4a56ff15bb813a989f7a79a60a7e8de19d370c8ab0a25e135f0968
+size 14016

+ 3 - 0
jp/manual/animation/media/animations-add-animation-component-to-entity.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b187896841ea52b8309f59b14120e839e3197ee145f348ea09ed3e63a40d0265
+size 51152

+ 3 - 0
jp/manual/animation/media/animations-add-animation-pick-an-asset-up.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:dd19f84638b777b4c6bf4ef7244cc3d7b56cbf8355e3b88607fa32918a895531
+size 3343

+ 3 - 0
jp/manual/animation/media/animations-added-to-component.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:cccf88e724bb78b418ddb0da6346873163b8e20a906fdf06c8979d8f5f241b97
+size 12839

+ 3 - 0
jp/manual/animation/media/animations-additive-animations-0.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2fb55d3b4e9a3a8a1b2f67987659a458aa447acf52e21c9ef6052f0c06cd089f
+size 29334

+ 3 - 0
jp/manual/animation/media/animations-additive-animations-1.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:5357dad0a644231fb3aae444fa762ddf398fbe0fc19767f53c6b62a233f98b90
+size 2549

+ 3 - 0
jp/manual/animation/media/animations-additive-animations-2.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:90f1e53665b18e440e0d2c283f2c0214c02a2225f071ae019bcede60d4a56801
+size 5134

+ 3 - 0
jp/manual/animation/media/animations-additive-animations-3.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:bad8c0005afeb23ba853945afd30b5f7bc7ab272b30ff9a2aabb0786c925a0bb
+size 3138

+ 3 - 0
jp/manual/animation/media/animations-additive-animations-4.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f86b1604ae2efbe4bfc659cfaad1df01b98a3422902ddc698e6aa0d6f71dc418
+size 4633

+ 3 - 0
jp/manual/animation/media/animations-additive-animations-add-additive-animation-asset.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:62515f3e8d44603fe3e7ca913d01fe19be59885e6d3d076936ab310a7666f8dc
+size 51721

+ 3 - 0
jp/manual/animation/media/animations-additive-animations-animation-start.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:65d96a7ebfa8f91bca069b8a016096f155d2fcfb6879145999060229e41f9521
+size 27649

+ 3 - 0
jp/manual/animation/media/animations-additive-animations-choose-base-file.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:690ce70cd7c5571b435526bb7c606c02e65c4b2a9db14eb89c2d759867e9ce8d
+size 8167

+ 3 - 0
jp/manual/animation/media/animations-additive-animations-choose-play-mode.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2f35f4d55ec1d7d7a3d74f9a161d6fa779cfe332546a9811355dff4ce51d0eb3
+size 3538

+ 3 - 0
jp/manual/animation/media/animations-additive-animations-choose-skeleton-and-preview-model.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f36e27c56aa9f63869df2eb3b7063c52a449c835920987e55ed46365e8d60a8f
+size 9747

+ 3 - 0
jp/manual/animation/media/animations-additive-animations-choose-source-file.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:31213a7e7a78e4d6e0d0d6be6293532cd69f17566ab03aa2082836bd21f38be1
+size 8700

+ 3 - 0
jp/manual/animation/media/animations-additive-animations-difference-clip.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f83e2cf9c379e168f9cfd2e7a12ca00cc521df9cd9fc21095ad166af8631e4eb
+size 5170

+ 3 - 0
jp/manual/animation/media/animations-additive-animations-intro-pic.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ed9a5bba98d811674612a28357029a5c664c20a27ba294b4d72fbeb6f339908a
+size 175479

+ 3 - 0
jp/manual/animation/media/animations-additive-animations-intro-pic.psd

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8c5a61a31ba592d76a152540a20f777b6a50c767f037b1c0c5a8bbd6bf7927ee
+size 3413827

+ 3 - 0
jp/manual/animation/media/animations-additive-animations-linearblend-blending.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:dbae9ce35dc59b74714f05c4d614ac38c6c44186b0863766398d1b40ad2e5ac6
+size 4141

+ 3 - 0
jp/manual/animation/media/animations-additive-animations-preview-animations.jpg

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:de4c675d2b1ceedd808a400e0d09704218d97a86e8c54700c1d6a0d878bcc8a4
+size 13942

+ 3 - 0
jp/manual/animation/media/animations-additive-animations-preview-animations.mp4

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ac724ac3fec901fe3f3f9f8b0596b40c561c63b6c2f9f6b7ed3d5ef31ecf69c8
+size 225235

+ 3 - 0
jp/manual/animation/media/animations-additive-animations-select-add-blending.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4054d4bcac1df79ea9415a83f5730c800bd043673665ad4434b1849cc90ee044
+size 26403

+ 3 - 0
jp/manual/animation/media/animations-additive-animations-start2.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:00aad909f757e241b86d9be71cafa3eb1b0d066fed496585719df049e8844f5e
+size 28692

+ 3 - 0
jp/manual/animation/media/animations-additive-sample.gif

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:5e32b577e0a85b369155c1e09580d63e05afb7e0bba4414e86dd559f1269c119
+size 2249165

+ 3 - 0
jp/manual/animation/media/animations-import-animations-animation-preview.jpg

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:27767208a1b0897a0e97296b5f2a25bd0ffa6aa07904f5a8bcddebfd22d113e7
+size 11403

+ 3 - 0
jp/manual/animation/media/animations-import-animations-animation-preview.mp4

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d399bb73ff9437815f93df4f02b7df96e97a426e6ae87df6beaf20b28c289bb4
+size 32643

+ 3 - 0
jp/manual/animation/media/animations-import-animations-asset-preview-tab.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:271d917f3fe976df692a44bf10d67bb1443a3e732fe160fc4c62c7be28ddf98b
+size 71663

+ 3 - 0
jp/manual/animation/media/animations-import-animations-choose-preview-models.jpg

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4dc4e9b2807366860428c19fc276680608d16033326dcd11701a1b989b0bd903
+size 18375

+ 3 - 0
jp/manual/animation/media/animations-import-animations-choose-preview-models.mp4

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3c292e73de98b49bae6be125054a4aa5099796d82cd6fde75fc8220692fff530
+size 70623

+ 3 - 0
jp/manual/animation/media/animations-import-animations-preview-animation-pick-an-asset.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:104282024b8bc949178d4f06daa7104ce1fcf861391725edea7434fb61aed763
+size 28912

+ 3 - 0
jp/manual/animation/media/animations-import-mesh-choose-asset-type-animations.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e9a12aab16ce95092eceec91738ef8c781abe4c32a4d03c5faf9530cf5adf7ff
+size 60331

+ 3 - 0
jp/manual/animation/media/animations-index1.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d2a4356056d64593235fb90ee5e27ecee3098418f74b12ebf4ae09af2eafd5fb
+size 143609

+ 3 - 0
jp/manual/animation/media/animations-intro-pic.png

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:5060004c01f42c1c8cea681a189302a959f99bfd89b3384def88eba304db19da
+size 132180

+ 3 - 0
jp/manual/animation/media/animations-intro-pic.psd

@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2ff7dc856d7cc4634704da4399233dc5ba8a3895e4fb21b42e5af8d160227e9b
+size 2021812

Някои файлове не бяха показани, защото твърде много файлове са промени