コンポーネント
- AutoLookAtUser
- AxisAligner
- AxisPanner
- AxisRotationAligner
- BooleanReferenceDriver<T>
- BooleanSwitcher
- BooleanUserOverrideGather
- BooleanValueDriver<T>
- BoundingBoxDriver
- CircleAligner
- ColorToColorX
- ConstantLerpValue<T>
- CopyGlobalScale
- CopyGlobalTransform
- DynamicBlendShapeDriver
- FlipAtUser
- Float2Driver
- Float3Driver
- Float4Driver
- LinearAngleMapper
- LinearColorMapper
- LinearMapper1D
- LinearMapper2D
- LinearMapper3D
- LinearMapper4D
- LinearRotationMapper
- LineTransform
- LookAt
- LookAtUser
- MirrorTransform
- MultiBoolConditionDriver
- NullableSourceDriver<T>
- NumericUserOverrideGather<T>
- ObjectGridAligner
- ObjectScroller
- Panner1D
- Panner2D
- Panner3D
- Panner4D
- PositionAtUser
- PositionDeltaDriver
- RaycastDriver
- RayDriver
- ReferenceCast<I,O>
- ReferenceCopy<T>
- ReferenceEqualityDriver<T>
- ReferenceUserOverride<T>
- RelativePositioner
- RemoteConnectionPointDriver
- ScaleAligner
- Scaler
- ScaleTransition
- SmoothTransform
- SmoothValue<T>
- SphereAligner
- Spinner
- StringConcatenationDriver
- TextureSizeDriver
- TimeIntDriver
- UnwrappableBoxDriver
- UserDistanceValueDriver<T>
- UserInterfacePositioner
- UserRefToSyncRefAdapter
- UVAtlasAnimator
- ValueCopy<T>
- ValueEqualityDriver<T>
- ValueGradientDriver<T>
- ValueUserOverride<T>
- VirtualParent
- Wiggler
- Wobbler1D
- Wobbler2D
- Wobbler3D
- Wobbler4D
Resoniteのドライブ(駆動)処理について
- 駆動処理は、連続的に値欄を制御します。
- 書込み(Write)処理と異なり、駆動中は基本的に他からの制御ができません。
- 駆動中の値欄は、紫色になるので一目で判別できます。
書込みと駆動の違いについて
- 書込みは、誰かが実行すると即座にホストを経由して全ユーザーに同期されます。
ネットワークトラフィックが発生する為、総合的な処理負荷は高めです。また、連続で大量に複数人が書込み処理を行うと、ホストのネットワーク等にすっごい負荷がかかるので、全体的に動作がカクカクしちゃうかもしれません。
なるべく、このような処理は避けた方が良いです。(Fluxを使用する際に留意する必要があります。)
- 駆動は、基本的にネットワークを介しての同期はしません。各自のPCで計算処理を実行します。
インスペクターでの設定変更や状態の変化等が発生すると、良い感じに計算してくれます。(Fluxは毎フレーム計算しちゃうぽい。)
連続で大量に処理させる場合は、書込み処理よりも負荷が少ないです。ただし、各自のPCで計算するので、常に全員が同じ値になっているとは限りません。
それぞれのユーザーで違う値にする事も可能です。(ローカル処理)ゲームワールド等、同期の正確性が問われる場合は書込み処理の方が良い事もあります。
コンポーネントとFluxどちらを使うべきか?
- どちらでもOKです!
まずは、とりあえず動く物を作ってモノづくりを楽しみましょう!
少しずつ、遊びながら学んでいくのが大事です。
- 上達してきたら、処理の最適化や負荷の軽減等も考えましょう。
基本的にはコンポーネントを使用する事で容量や処理負荷を抑えることができます。
しかし複雑なシステムになってくると、そうは言ってられません。使えるものは何でも使っていきましょう。単純なギミックや処理はコンポーネントで実装して、複雑なギミックはFluxも併用するのがお勧めです。
書込み処理と駆動処理どちらを使うべきか?
- とくに考えなくてもいいかも。
まずは、とりあえず動く物を作ってモノづくりを楽しみましょう!正確に同期させる必要がある場合は、書込み処理を使用しましょう。(ただし、連続で大量に書込みするのは避けましょう。)
- 上達してきたら、処理の最適化や負荷の軽減等も考えましょう。
常に自動で動いている物や、簡単な計算はコンポーネントで行い、各自に計算させます。
Fluxの駆動処理は負荷が高いので、なるべく少なくしましょう。誰かが操作する物(例えばボタンを押す)は、操作した人に計算させてから、計算結果を書込み処理で同期させます。
何かを実行する計算を各自で計算させるよりも、実行した本人に計算させてから、その結果を書込み処理で全員に同期させる方がエコです。