スクリプト Material プラグイン

スクリプト Material プラグインでは、既存の Material プラグインだけを拡張できます。

スクリプト Material プラグインを宣言するには、<superclass>material として指定します。

スクリプト Material プラグインには、定義されたロールアウトが少なくとも 1 つ必要です

スクリプト Material プラグインでは、パラメータ ブロック内のパラメータに関連する[マテリアル] (Material)ボタンと[マップ] (Map)ボタンでボタンの picked イベント ハンドラは呼び出されません。代わりに、ボタンからパラメータブロックのパラメータへのリンクを設定し、このパラメータに対して set ハンドラを使用する必要があります。

スクリプト:

    -- this is a level 3 plug-in, the beginnings of a custom glass material.
    -- It extends Standard material and replaces its UI with a single
    -- rollout with 2 spinners and a color picker
    plugin material myGlass
    name:"Supa Glass"
    classID:#(695425,446581)
    extends:Standard replaceUI:true version:1
    (
      parameters main rollout:params
      (
        trans type:#float default:27 ui:trans
        refrac type:#float default:1.5 ui:refrac
        col type:#color default:blue ui:col
        on trans set val do delegate.opacity = val
        on refrac set val do delegate.ior = val
        on col set val do delegate.diffuse_color = val
      )
      rollout params "Glass Parameters"
      (
        spinner trans "Transparency: " fieldwidth:45 offset:[-90,0]
        spinner refrac "Index of Refraction: " fieldwidth:45 offset:[-90,0]
        colorpicker col "Base color: " align:#center
      )
      on create do
      (
        -- setup initial material
        delegate.opacityFalloff = 75
      )
    )