Transform/Drivers

Last-modified: 2025-01-16 (木) 18:35:17


コンポーネント

  1. AutoLookAtUser
  2. AxisAligner
  3. AxisPanner
  4. AxisRotationAligner

  5. BooleanReferenceDriver<T>
  6. BooleanSwitcher
  7. BooleanUserOverrideGather
  8. BooleanValueDriver<T>
  9. BoundingBoxDriver

  10. CircleAligner
  11. ColorToColorX
  12. ConstantLerpValue<T>

  13. CopyGlobalScale
  14. CopyGlobalTransform

  15. DynamicBlendShapeDriver

  16. FlipAtUser

  17. Float2Driver
  18. Float3Driver
  19. Float4Driver

  20. LinearAngleMapper
  21. LinearColorMapper
  22. LinearMapper1D
  23. LinearMapper2D
  24. LinearMapper3D
  25. LinearMapper4D
  26. LinearRotationMapper

  27. LineTransform
  28. LookAt
  29. LookAtUser

  30. MirrorTransform
  31. MultiBoolConditionDriver

  32. NullableSourceDriver<T>
  33. NumericUserOverrideGather<T>

  34. ObjectGridAligner
  35. ObjectScroller

  36. Panner1D
  37. Panner2D
  38. Panner3D
  39. Panner4D

  40. PositionAtUser
  41. PositionDeltaDriver

  42. RaycastDriver
  43. RayDriver
  44. ReferenceCast<I,O>
  45. ReferenceCopy<T>
  46. ReferenceEqualityDriver<T>
  47. ReferenceUserOverride<T>
  48. RelativePositioner
  49. RemoteConnectionPointDriver

  50. ScaleAligner
  51. Scaler
  52. ScaleTransition
  53. SmoothTransform
  54. SmoothValue<T>
  55. SphereAligner
  56. Spinner
  57. StringConcatenationDriver

  58. TextureSizeDriver
  59. TimeIntDriver

  60. UnwrappableBoxDriver
  61. UserDistanceValueDriver<T>
  62. UserInterfacePositioner
  63. UserRefToSyncRefAdapter
  64. UVAtlasAnimator

  65. ValueCopy<T>
  66. ValueEqualityDriver<T>
  67. ValueGradientDriver<T>
  68. ValueUserOverride<T>
  69. VirtualParent

  70. Wiggler
  71. Wobbler1D
  72. Wobbler2D
  73. Wobbler3D
  74. Wobbler4D


Resoniteのドライブ(駆動)処理について

  • 駆動処理は、連続的に値欄を制御します。
  • 書込み(Write)処理と異なり、駆動中は基本的に他からの制御ができません。
  • 駆動中の値欄は、紫色になるので一目で判別できます。


書込みと駆動の違いについて

  • 書込みは、誰かが実行すると即座にホストを経由して全ユーザーに同期されます。
    ネットワークトラフィックが発生する為、総合的な処理負荷は高めです。

    また、連続で大量に複数人が書込み処理を行うと、ホストのネットワーク等にすっごい負荷がかかるので、全体的に動作がカクカクしちゃうかもしれません。
    なるべく、このような処理は避けた方が良いです。(Fluxを使用する際に留意する必要があります。)

  • 駆動は、基本的にネットワークを介しての同期はしません。各自のPCで計算処理を実行します。
    インスペクターでの設定変更や状態の変化等が発生すると、良い感じに計算してくれます。(Fluxは毎フレーム計算しちゃうぽい。)
    連続で大量に処理させる場合は、書込み処理よりも負荷が少ないです。

    ただし、各自のPCで計算するので、常に全員が同じ値になっているとは限りません。
    それぞれのユーザーで違う値にする事も可能です。(ローカル処理)

    ゲームワールド等、同期の正確性が問われる場合は書込み処理の方が良い事もあります。

コンポーネントとFluxどちらを使うべきか?

  • どちらでもOKです!
    まずは、とりあえず動く物を作ってモノづくりを楽しみましょう!
    少しずつ、遊びながら学んでいくのが大事です。
  • 上達してきたら、処理の最適化や負荷の軽減等も考えましょう。
    基本的にはコンポーネントを使用する事で容量や処理負荷を抑えることができます。
    しかし複雑なシステムになってくると、そうは言ってられません。使えるものは何でも使っていきましょう。

    単純なギミックや処理はコンポーネントで実装して、複雑なギミックはFluxも併用するのがお勧めです。

書込み処理と駆動処理どちらを使うべきか?

  • とくに考えなくてもいいかも。
    まずは、とりあえず動く物を作ってモノづくりを楽しみましょう!

    正確に同期させる必要がある場合は、書込み処理を使用しましょう。(ただし、連続で大量に書込みするのは避けましょう。)

  • 上達してきたら、処理の最適化や負荷の軽減等も考えましょう。

    常に自動で動いている物や、簡単な計算はコンポーネントで行い、各自に計算させます。
    Fluxの駆動処理は負荷が高いので、なるべく少なくしましょう。

    誰かが操作する物(例えばボタンを押す)は、操作した人に計算させてから、計算結果を書込み処理で同期させます。
    何かを実行する計算を各自で計算させるよりも、実行した本人に計算させてから、その結果を書込み処理で全員に同期させる方がエコです。