こんにちは。野崎です。
今回は「カスタムプロパティ1_ランプの作成」についてご説明いたします。
あまりプロパティを触らないような方ですと少し敷居が高く中々カスタムプロパティを使いこなせていない方もいらっしゃるのではないかと思います。カスタムプロパティを使えれば出来ることが一気に増えますので、あまりスクリプトは触らない方でも是非使ってみてください。使いこなせば非常に便利な機能です。
カスタムプロパティとは
ユーザー自身で作成したプロパティのことです。
「Edit Custom Properties」から作成することが出来ます。
利用用途は様々ですが、データを参照する場合に利用したり、そのカタログの状況やステータスなどの情報を持たせるために利用します。
とりあえず使ってみよう!
ということで、左のようなモデルを用意しました。使ったカタログは以下の通りです。
SampleCatalog / BeltConveyor / Belt 2000x607
SampleCatalog / Sensor / Sensor
Basic / Box (※Boxはシーン右クリック>新規>Basic>Boxから出せます)
非常に簡単なモデルです。この状態はまだ置いただけで何もカスタマイズはしていません。
これから、このセンサーに荷物が通ったらBoxが光るモデルを作ろうと思います。
ホームタブの「Edit Custom Properties」を押してカスタムプロパティを作ります。
プロパティ名は分かり易いものを付けます。ご自由に命名してください。このモデルでは例として「ChangeColor」という名前にしてみました。タイプは「Visual」にします。
Sensorの「ChangeColor」をBoxに繋げます。
Sensorイベントウィンドウの「OnBlocked」というイベントにスクリプトを追加するため、<New Script..>を押下します。
「Choose Script to Edit」のウィンドウが出てきます。
この画面で言語の選択やスクリプトの名前を入力することが出来ます。
言語は、利用しているものがあればその言語を、初心者の方は私と同じ「Jscript」を選択しておきましょう。
スクリプトの名前は分かり易いものなら何でも構いません。
終わったら「Create&Edit (作成して編集)」を押下します。
sender.ChangeColor.Material.Luminosity = 50;
wait(0.5);
sender.ChangeColor.Material.Luminosity = 0;
以上を追加しました。
非常に簡単なプログラムです。
ロジックは「Boxの明度を50%」にする→「0.5秒待つ」→「Boxの明度を0%」にする、です。
動作としては荷物がセンサーに当たった瞬間、Boxが光り、0.5秒後に元に戻る、というような動作です。
プログラム解説
Sender
これはプログラムを書いている本体を参照しています。
つまり、このモデルの場合、センサーのブロックイベントに入れていますので、センサーのことを指しています。
ChangeColor
先ほど作成したプロパティです。ChangeColorで繋いだものはBoxになりますので、この文字はBoxを指しています。
Material
これは、ChangeColorが参照しているBoxのMaterialプロパティのことです。
Materialプロパティは色や見た目などを変更することが出来ます。
Luminosity
これは、ChangeColorが参照しているBoxのMaterialプロパティの中のLuminosity(明度)のことになります。
少しややこしくなりましたが、つまり「Boxの明度」です。
=(イコール)
代入式です。左の指定されたプロパティに右の値を代入します。
50
明度の値です。80でも30でも構いませんが、ここでは50と設定しています。
見え辛い場合は値を大きくすると見えやすいです。
;(セミコロン)
Jscriptではプログラムの最後にセミコロンを打つ原則があります。日本語で言う「。」と同じです。
Wait(0.5);
これは0.5秒待つというコードになります。このコードを入れると、すぐ下のコードが0.5秒後に実行されます。
Sender.ChangeColor.Material.Luminosity = 0;
「センサー」の「ChangeColor(カスタムプロパティ)」の「マテリアル」の「明度」は「0」 という意味のコードです。
さいごに
モデルのダウンロード → BlogTestModel_1.demo3d(zip)
思いの外記事が細かくなってしまいましたが、Boxが光るプログラムが出来ましたので、これを応用すれば指示灯などを自分で作成することが出来ます。せっかく作成するので実際にモデルで使えるものが良いと思います。なので次回はセンサーを使って箱にラベルを貼ろうと思います。
今年もロジスティクスソリューションフェアに参加致します。
会期:2017年8月29日(火)~30日(水) 10:00~17:00
会場:東京ビッグサイト (小間)027
招待状は8月に入ってから送付致します。
招待状の申し込みは問い合わせから受け付けておりますが、枚数に限りがありますのでご了承ください。
次回の火曜は「カスタムプロパティ2_ロードにラベルを張る」について紹介致します。
かなり砕いて書いているつもりですが、分かり辛いところなどあればコメントやお問い合わせにてご質問受け付けています。
コメントをお書きください