LogiX

From Neos Wiki
Jump to navigation Jump to search
This page is a translated version of the page LogiX and the translation is 100% complete.
Other languages:
English • ‎čeština • ‎日本語 • ‎한국어

LogiXはNeosのヴィジュアルプログラミングシステム(コードをそのまま用いたものというより視覚的に組むことができるもの)です。Logixノードは、カスタムのプログラム可能な動作をオブジェクトに追加するために使用されます。 LogiXノードで間を接続します。

NeosではLogixチップを装備することで、LogixノードとLogiXにアクセスできます


RubikLogix.png

  • NeosのLogiXノードブラウザ


ノードメニュー

Actions Assets Audio Avatar Color Components Debug
Flow Formatting Input Input Devices Interaction Locomotion Math
Meta Network Operators Physics Playback References Rendering
Slots String Tools Transactions Transform UI Undo
Users Utility Variables Visualization World Cache Delay Value
Demultiplex Display Display Impulse Impulse Relay Multiplex Pick Random Relay
Updating Relay

LogiXの基礎知識

インパルス(Impulses)

インパルスは、Logixのノードと入力値を瞬時に評価するもので、"オーナー"ユーザーのローカルで実行されます。

インパルスはローカルで実行され、インパルスのオーナーユーザーは、その瞬間にデータを評価します。インパルスはデータモデルの変更を引き起こすノードを通過することができ、それは他のプレイヤーにも同期されます。値を書き込んだり、スロットのトランスフォームを変更したり、データモデルに値やトランスフォーム/階層/スロットの変化を「設定」するその他の操作は、同期されます。


Values(数値)

これらのデータ値は、コンポーネント内のフィールドからインターフェイスを介して、またはLogixノードの出力として取得されます。一般的なC#システムで存在する型やNeos内独特の型があります。 値がどのように計算されるかによって、これらデータ値はプレイヤー毎に異なる形で表示されることがあります(これは、フィールドが上書き(ドライブ、Drive)されている場合や、ローカルユーザを含めたものを入力として使用されている場合に最も顕著に現れます)。 種類(Types)

ノード

ノードはLogixプログラムを作成するものであり、さまざまな計算や操作を行います。 一部のノードは、入力値に基づいて計算を実行し、出力を簡単に提供します。その他のノードは、操作をトリガーまたは影響するためにインパルスを必要とする「パススルー」ノードです。 多くの場合、パススルーノードはデータモデルの変更を実行しますが、常にそうであるとは限りません。

パススルーノードは、対応するインパルスパススルー出力を使用して紐付けて、操作の順序を制御できます。

パススルーノードやイベントなどのインパルスを生成するノードは、付随する出力インパルスの評価コンテキスト内でのみ有効なデータを提示するデータ出力を持つことができます - ノードがトリガーされたのと同じインパルスを使用してそれらを処理しなければ、データは消えてしまいます。

オーバーロード

Logixノードは入力に対して1種類の型しか受け付けません。これは、複数のLogix演算子が必要であることを意味します(例えばint32のaddやfloatのaddなど)。しかし、オーバーロードがあるため、ユーザーはこれを気にする必要はありません。

LogixでLogix tooltipを使用してピンを割り当てる際、ピンのタイプが接続しようとしているワイヤの型と一致しない場合、互換性のあるピンを持つ同じ操作を表す別のコンポーネントを見つけるための検索が行われます。見つかった場合、ノードが置き換えられ、ワイヤが割り当てられます。見つからない場合は、castノードが作成されるか、割り当てが失敗してワイヤが接続されません。

多くのノードは、multiplex nodeのような入力でオーバーロードをサポートしており、いくつかのノードはx nodeのように奇妙にオーバーロードします。

オーバーロードの動作を確認するには、floatを+ nodeに割り当ててから、ワイヤーを取り外して同じノードにintを割り当てます。 ノードは自動的にfloatオーバーロード(おそらくスポーンされたもの)に変換され、そのワイヤーが接続されるとintオーバーロードに変換されます。 最初のピンにfloatを接続し、次に2番目のピンにintを接続すると、代わりにcast nodeが作成されることに注意してください。