ProtoFlux/ja: Difference between revisions

From Resonite Wiki
Created page with "ProtoFlux Browser Version を参照するか、網羅的な一覧をご覧になりたい場合は Alphabetical list of all nodes をご覧ください。各ノードのページには、これら両方の一覧へのリンクが設けられています。"
Created page with "使い方"
 
(5 intermediate revisions by one other user not shown)
Line 2: Line 2:




[[File:Protoflux Logo Color 1080.png|alt=Protoflux|thumb|<span lang="en" dir="ltr" class="mw-content-ltr">The official ProtoFlux logo</span>]]
[[File:Protoflux Logo Color 1080.png|alt=Protoflux|thumb|公式のProtoFluxロゴ]]


ProtoFlux は、[[ProtoFlux Tool]] を使用して 3D 空間内で操作できるノードベースのスクリプト言語です。
ProtoFlux は、[[ProtoFlux Tool]] を使用して 3D 空間内で操作できるノードベースのスクリプト言語です。
Line 8: Line 8:
{{Quotation|ProtoFlux は、私たちのクリエイティブツール群の中でも最高峰に位置する視覚的プログラミング言語です。熟練の開発チームが設計したこの言語は、シンプルなインタラクションから複雑なゲームやシステムまでを迅速にプロトタイプ/構築できるようにし、リアルタイム共同編集と即時フィードバックを完全にサポートします。アバターやワールドのインタラクティブ性から、複雑なシステム、ゲーム開発に至るまで、あらゆるものを作り上げることができます。|https://resonite.com/features.html}}
{{Quotation|ProtoFlux は、私たちのクリエイティブツール群の中でも最高峰に位置する視覚的プログラミング言語です。熟練の開発チームが設計したこの言語は、シンプルなインタラクションから複雑なゲームやシステムまでを迅速にプロトタイプ/構築できるようにし、リアルタイム共同編集と即時フィードバックを完全にサポートします。アバターやワールドのインタラクティブ性から、複雑なシステム、ゲーム開発に至るまで、あらゆるものを作り上げることができます。|https://resonite.com/features.html}}


== <span lang="en" dir="ltr" class="mw-content-ltr">Usage</span> ==
== 使い方 ==


ProtoFlux はワールド内でノードとして表現されており、[[ProtoFlux Node Browser]] でノードを選択し、[[ProtoFlux Tool]] からスポーンさせることができます。  
ProtoFlux はワールド内でノードとして表現されており、[[ProtoFlux Node Browser]] でノードを選択し、[[ProtoFlux Tool]] からスポーンさせることができます。  
Line 16: Line 16:
[[:Category:ProtoFlux|ProtoFlux Browser Version]] を参照するか、網羅的な一覧をご覧になりたい場合は [[:Category:ProtoFlux:All|Alphabetical list of all nodes]] をご覧ください。各ノードのページには、これら両方の一覧へのリンクが設けられています。
[[:Category:ProtoFlux|ProtoFlux Browser Version]] を参照するか、網羅的な一覧をご覧になりたい場合は [[:Category:ProtoFlux:All|Alphabetical list of all nodes]] をご覧ください。各ノードのページには、これら両方の一覧へのリンクが設けられています。


<span lang="en" dir="ltr" class="mw-content-ltr">To begin using Protoflux first spawn then equip the [[ProtoFlux Tool]] from the folder mentioned above. Once equipped, the Protoflux node browser can be found in your [[Context menu]]. To select a node, double click the node with the Protoflux Tool. This will make the name of the node appear above the tool to show it has been selected. Then double click, to spawn the selected node.</span>
まず ProtoFlux を使い始めるには、前述のフォルダーから [[ProtoFlux Tool]] をスポーンして装備します。装備すると、[[Context menu]] に ProtoFlux ノードブラウザーが表示されます。ノードを選択するには、ProtoFlux Tool でそのノードをダブルクリックしてください。ノードが選択されると、ツールの上部にノード名が表示されます。その後、もう一度ダブルクリックして選択したノードをスポーンします。


<span lang="en" dir="ltr" class="mw-content-ltr">You can also quick select nodes that already exist by tapping Secondary while pointing at the node.</span>
すでに配置済みのノードを素早く選択するには、そのノードにレーザーを当てながら Secondary ボタンをタップしてください。


<span lang="en" dir="ltr" class="mw-content-ltr">Nodes can be connected by pointing the laser at a node's connection point and holding Primary (Trigger for most controllers, or Left Click), then dragging the wire and letting go of Primary while pointing at another node's connection point. They can then be cut by intersecting the red line that comes out the tip of the [[ProtoFlux Tool]] while holding Primary.</span>
ノードを接続するには、レーザーをノードの接続ポイントに向けた状態で Primary(ほとんどのコントローラーではトリガー、または左クリック)を押し続け、ワイヤーをドラッグして別のノードの接続ポイントに合わせたら Primary を離します。接続したワイヤーを切るには、Primary を押したまま [[ProtoFlux Tool]] の先端から伸びる赤い線でワイヤーを横切ってください。


=== <span lang="en" dir="ltr" class="mw-content-ltr">Interfacing With Components / Slots</span> ===
=== コンポーネントやスロットとのインターフェース(連携) ===


<span lang="en" dir="ltr" class="mw-content-ltr">To change or read the properties of a slot's or component's properties, grab with your controller (or right click) while pointing at a given field name with the [[ProtoFlux Tool]] (For example, point at and grab the spot where it says 'Position' on a slot). While grabbing the field with the [[ProtoFlux Tool]], open your [[Context menu]]. This will give you three options.</span>
スロットやコンポーネントのプロパティを変更・取得するには、[[ProtoFlux Tool]] で対象のフィールド名(たとえば、スロットの「Position」と表示されている部分)にレーザーを当てながら、コントローラーでつかむ操作(または右クリック)を行います。その状態で [[Context menu]] を開くと、3つのオプションが表示されます。


<span lang="en" dir="ltr" class="mw-content-ltr">[[Source]]: This will spawn a node that references the source of the property you were holding. This is used to both read the value of the field or to write to it using Protoflux.</span>
[[Source]]:このオプションを選ぶと、保持していたプロパティのソースを参照するノードがスポーンされます。ProtoFlux を使って、そのフィールドの値を読み取ったり、書き込んだりするために使用されます。


<span lang="en" dir="ltr" class="mw-content-ltr">[[Drive]]: This will spawn a node to allow you to continuously locally write a value to the variable you were holding.</span>
[[Drive]]:このオプションを選ぶと、保持していた変数に対してローカルで継続的に値を書き込むためのノードがスポーンされます。


<span lang="en" dir="ltr" class="mw-content-ltr">[[Reference]]: This will spawn a node to allow you to get the reference to the field of the given value. This is useful for nodes like [[ProtoFlux:Tween Value]] that require a reference to the value it is changing.</span>
[[Reference]]:このオプションを選ぶと、指定した値のフィールドへのリファレンスを取得するためのノードがスポーンされます。これは、[[ProtoFlux:Tween Value]] のように、変更対象の値へのリファレンスが必要なノードで役立ちます。




=== <span lang="en" dir="ltr" class="mw-content-ltr">Packing / Unpacking Protoflux</span> ===
=== Protofluxのパッキング/アンパッキング ===


<span lang="en" dir="ltr" class="mw-content-ltr">To pack Protoflux, hold Secondary while pointing at a group of Protoflux using the [[ProtoFlux Tool]]. The Protoflux should become light blue, this indicates it has been selected (This also makes the Protoflux that is selected act as one object, allowing you to easily move groups of Protoflux around).</span>
ProtoFlux をパックするには、[[ProtoFlux Tool]] を使って ProtoFlux のグループを指しながら Secondary を押し続けます。選択された ProtoFlux は淡い青色に変わり、選択状態になったことを示します(この状態では、選択された複数の ProtoFlux が一つのオブジェクトのように扱われ、グループを簡単に移動させることができます)。


<span lang="en" dir="ltr" class="mw-content-ltr">Once the Protoflux has been selected, make an empty [[Slot]] using the [[Inspector]]. This will be the slot the Protoflux is packed into. To then pack the Protoflux, grab the slot using the left side of the [[Inspector]] so that it's name is above the [[ProtoFlux Tool]]. While you are grabbing it, open your [[Context menu]] and select Pack Into. Once packed, the Protoflux will still function like normal, but will no longer show its visuals and will apply some optimizations.</span>
ProtoFlux を選択したら、[[Inspector]] を使って空の [[Slot]] を作成します。これが、ProtoFlux をパックする先のスロットになります。次に ProtoFlux をパックするには、[[Inspector]] の左側からそのスロットをつかみ、[[ProtoFlux Tool]] の上にスロット名が表示されるようにします。その状態で [[Context menu]] を開き、「Pack Into(パックする)」を選択します。パックされた ProtoFlux は通常どおり動作しますが、視覚的な表示は非表示になり、いくつかの最適化が適用されます。


<span lang="en" dir="ltr" class="mw-content-ltr">To then unpack it, grab the same slot you packed it into and open your context menu, while a [[ProtoFlux Tool]] is equipped. There should now be an option to unpack the Protoflux.</span>
パックした ProtoFlux をアンパックするには、パック先に使用した同じスロットをつかみ、[[ProtoFlux Tool]] を装備した状態で [[Context menu]] を開きます。すると、「Unpack(アンパック)」のオプションが表示されるはずです。




===  <span lang="en" dir="ltr" class="mw-content-ltr">Variables</span> ===
===  Variables(変数) ===


<span lang="en" dir="ltr" class="mw-content-ltr">In ProtoFlux, there are 3 types of generic variables:</span>
ProtoFlux には、3 種類の汎用変数(ジェネリック変数)があります。
* [[ProtoFlux:Data Model Store|<span lang="en" dir="ltr" class="mw-content-ltr">Data Model Store</span>]]
* [[ProtoFlux:Data Model Store|Data Model Store(データモデルストア)]]
* [[ProtoFlux:Store|<span lang="en" dir="ltr" class="mw-content-ltr">Store</span>]]
* [[ProtoFlux:Store|Store(ストア)]]
* [[ProtoFlux:Local|<span lang="en" dir="ltr" class="mw-content-ltr">Local</span>]]
* [[ProtoFlux:Local|Local(ローカル)]]


<span lang="en" dir="ltr" class="mw-content-ltr">The simplest type of variable is a Data Model Store. It's automatically synced to all users upon being written to. Most simple scripts can be done entirely with these, but it can impact performance if overused.</span>
最もシンプルな変数の種類は「Data Model Store(データモデルストア)」です。これは書き込みが行われると自動的にすべてのユーザーに同期されます。多くのシンプルなスクリプトはこれだけで完結できますが、使いすぎるとパフォーマンスに影響を与える可能性があります。


<span lang="en" dir="ltr" class="mw-content-ltr">The natural progression down the list is a Store. It's similar to standard variables in most languages. It does not get synced over the network, which alleviates the overhead of doing so, but could lead to desync.</span>
次に位置するのが「Store(ストア)」です。これは多くのプログラミング言語における通常の変数に近いもので、ネットワーク上では同期されません。そのため、同期処理によるオーバーヘッドが発生せず、軽量ですが、ユーザー間で状態がずれる(デシンク)可能性があります。


<span lang="en" dir="ltr" class="mw-content-ltr">Lastly, we have locals. They're instanced for different execution chains, so if your ProtoFlux is called twice at once, you can read from and write to the variable from both contexts, they will each use a unique instance of the variable that gets discarded when that execution ends.</span>
最後に「Local(ローカル)」があります。これは実行チェーンごとにインスタンス化される変数で、ProtoFlux が同時に2回呼び出された場合でも、それぞれのコンテキストから読み書きが可能です。それぞれの呼び出しは固有の変数インスタンスを使用し、実行が終了するとそのインスタンスは破棄されます。


=== <span lang="en" dir="ltr" class="mw-content-ltr">Impulses</span> ===
=== Impulses(インパルス) ===
<span lang="en" dir="ltr" class="mw-content-ltr">See [[Impulses]]</span>
[[Impulses]] を参照


[[Category:Features]]
[[Category:Features]]

Latest revision as of 03:45, 26 May 2025


Protoflux
公式のProtoFluxロゴ

ProtoFlux は、ProtoFlux Tool を使用して 3D 空間内で操作できるノードベースのスクリプト言語です。

ProtoFlux は、私たちのクリエイティブツール群の中でも最高峰に位置する視覚的プログラミング言語です。熟練の開発チームが設計したこの言語は、シンプルなインタラクションから複雑なゲームやシステムまでを迅速にプロトタイプ/構築できるようにし、リアルタイム共同編集と即時フィードバックを完全にサポートします。アバターやワールドのインタラクティブ性から、複雑なシステム、ゲーム開発に至るまで、あらゆるものを作り上げることができます。

https://resonite.com/features.html

使い方

ProtoFlux はワールド内でノードとして表現されており、ProtoFlux Node Browser でノードを選択し、ProtoFlux Tool からスポーンさせることができます。

ProtoFlux でスクリプトを開始するには、Inventory に含まれる Resonite Essentials フォルダーから ProtoFlux Tool を簡単にスポーンできます(ツール自体は Essentials フォルダー内の Tools フォルダーにあります)。

ProtoFlux Browser Version を参照するか、網羅的な一覧をご覧になりたい場合は Alphabetical list of all nodes をご覧ください。各ノードのページには、これら両方の一覧へのリンクが設けられています。

まず ProtoFlux を使い始めるには、前述のフォルダーから ProtoFlux Tool をスポーンして装備します。装備すると、Context menu に ProtoFlux ノードブラウザーが表示されます。ノードを選択するには、ProtoFlux Tool でそのノードをダブルクリックしてください。ノードが選択されると、ツールの上部にノード名が表示されます。その後、もう一度ダブルクリックして選択したノードをスポーンします。

すでに配置済みのノードを素早く選択するには、そのノードにレーザーを当てながら Secondary ボタンをタップしてください。

ノードを接続するには、レーザーをノードの接続ポイントに向けた状態で Primary(ほとんどのコントローラーではトリガー、または左クリック)を押し続け、ワイヤーをドラッグして別のノードの接続ポイントに合わせたら Primary を離します。接続したワイヤーを切るには、Primary を押したまま ProtoFlux Tool の先端から伸びる赤い線でワイヤーを横切ってください。

コンポーネントやスロットとのインターフェース(連携)

スロットやコンポーネントのプロパティを変更・取得するには、ProtoFlux Tool で対象のフィールド名(たとえば、スロットの「Position」と表示されている部分)にレーザーを当てながら、コントローラーでつかむ操作(または右クリック)を行います。その状態で Context menu を開くと、3つのオプションが表示されます。

Source:このオプションを選ぶと、保持していたプロパティのソースを参照するノードがスポーンされます。ProtoFlux を使って、そのフィールドの値を読み取ったり、書き込んだりするために使用されます。

Drive:このオプションを選ぶと、保持していた変数に対してローカルで継続的に値を書き込むためのノードがスポーンされます。

Reference:このオプションを選ぶと、指定した値のフィールドへのリファレンスを取得するためのノードがスポーンされます。これは、ProtoFlux:Tween Value のように、変更対象の値へのリファレンスが必要なノードで役立ちます。


Protofluxのパッキング/アンパッキング

ProtoFlux をパックするには、ProtoFlux Tool を使って ProtoFlux のグループを指しながら Secondary を押し続けます。選択された ProtoFlux は淡い青色に変わり、選択状態になったことを示します(この状態では、選択された複数の ProtoFlux が一つのオブジェクトのように扱われ、グループを簡単に移動させることができます)。

ProtoFlux を選択したら、Inspector を使って空の Slot を作成します。これが、ProtoFlux をパックする先のスロットになります。次に ProtoFlux をパックするには、Inspector の左側からそのスロットをつかみ、ProtoFlux Tool の上にスロット名が表示されるようにします。その状態で Context menu を開き、「Pack Into(パックする)」を選択します。パックされた ProtoFlux は通常どおり動作しますが、視覚的な表示は非表示になり、いくつかの最適化が適用されます。

パックした ProtoFlux をアンパックするには、パック先に使用した同じスロットをつかみ、ProtoFlux Tool を装備した状態で Context menu を開きます。すると、「Unpack(アンパック)」のオプションが表示されるはずです。


Variables(変数)

ProtoFlux には、3 種類の汎用変数(ジェネリック変数)があります。

最もシンプルな変数の種類は「Data Model Store(データモデルストア)」です。これは書き込みが行われると自動的にすべてのユーザーに同期されます。多くのシンプルなスクリプトはこれだけで完結できますが、使いすぎるとパフォーマンスに影響を与える可能性があります。

次に位置するのが「Store(ストア)」です。これは多くのプログラミング言語における通常の変数に近いもので、ネットワーク上では同期されません。そのため、同期処理によるオーバーヘッドが発生せず、軽量ですが、ユーザー間で状態がずれる(デシンク)可能性があります。

最後に「Local(ローカル)」があります。これは実行チェーンごとにインスタンス化される変数で、ProtoFlux が同時に2回呼び出された場合でも、それぞれのコンテキストから読み書きが可能です。それぞれの呼び出しは固有の変数インスタンスを使用し、実行が終了するとそのインスタンスは破棄されます。

Impulses(インパルス)

Impulses を参照