Rosso Laboratory

Rosso Laboratory

主に鉄道模型シミュレーター(VRM)などの仮想鉄道アプリを扱うブログです。またHDR写真の記事も書いています。

単行車用照明管理スクリプト

久しぶりにスクリプトを書いてみました(^^)/

 

単行車は2両編成以上にした時に反転させることも考えて、先頭車と最後尾車はヘッドライトとテールライトを両方オンにしておく訳ですが、こうすると何故か全部点灯してしまって上手くいかない状況でした。

本当はこうなって欲しいのが

実際にはこうなってしまう

これを直すためのスクリプトで、編成に書き込みます。

 

#OBJID=xx
import vrmapi
def vrmevent_xx(obj,ev,param):
    di = obj.GetDict()
    if ev == 'init':
        di['car_list'] = obj.GetCarList()
        di['l'] = len(di['car_list'])
        n = 0
        for n in range(di['l']):
            lighton(di['car_list'][n])
(中略)
    elif ev == 'homekey':
        i = 0
        for i in range(di['l']):
            lighton(di['car_list'][i])
(省略)

def lighton(obj):
    n = obj.GetCarPos()
    if n==0:
        obj.SetHeadlight(False)
        obj.SetTaillight(False)
    elif n==1:
        obj.SetHeadlight(True)
        obj.SetTaillight(False)
    elif n==2:
        obj.SetHeadlight(False)
        obj.SetTaillight(True)

 

これで中間車は非点灯、先頭車はヘッドライトのみ、最後尾車はテールライトのみが点灯するようになります。