Elvas Tower: Animating Ancillary Signal Parts in OR - Elvas Tower

Jump to content

  • 3 Pages +
  • 1
  • 2
  • 3
  • You cannot start a new topic
  • You cannot reply to this topic

Animating Ancillary Signal Parts in OR Has OR special modeling requirements? Rate Topic: -----

#11 User is offline   scottb613 

  • Vice President
  • Group: Status: First Class
  • Posts: 2,973
  • Joined: 06-July 09
  • Gender:Male
  • Location:Downeast Maine (soon)
  • Simulator:ORTS
  • Country:

Posted 26 April 2015 - 05:31 PM

Hi Rick,

I can't help much more with your signal issue - but - I have been using 3DC for a while - if you ever hit a roadblock and want to compare notes - just ping me with a PM and I'll be glad to try and help... Best of luck - sir...

Regards,
Scott

#12 User is offline   rickloader 

  • Conductor
  • Group: Status: First Class
  • Posts: 488
  • Joined: 05-February 13
  • Gender:Male
  • Location:Southampton uk
  • Simulator:Open Rails
  • Country:

Posted 27 April 2015 - 01:38 AM

James, thanks for your help. I think your analysis is correct. I have an animated theatre box signal with 17 sub objects, and because each part is a subobject in sigcfg, (head 1,2,3 etc )OR displays the signal corrrectly. ( a uk theatre box has mechanical numbers that rotate into the display aperture, showing the route signalled)
A solution may be to make my animated ancillary parts into sigcfg sub objects. I can easily modify the sigcfg in the OR folder. So there maybe no need to modify OR code, especially as I expect you are very busy on the OR V1 preparations.
I will try this and report back.
Scott, thanks for your kind offer: I do sometimes get stuck with 3dc.
Best wishes, rick

#13 User is online   James Ross 

  • Open Rails Developer
  • Group: Status: Elite Member
  • Posts: 5,490
  • Joined: 30-June 10
  • Gender:Not Telling
  • Simulator:Open Rails
  • Country:

Posted 19 December 2016 - 01:21 PM

I've got a test build based on X3708 which might fix this issue:

Attached File  Open Rails X3708 animated-signal-parts 1.zip (1.1MB)
Number of downloads: 557

#14 User is offline   rickloader 

  • Conductor
  • Group: Status: First Class
  • Posts: 488
  • Joined: 05-February 13
  • Gender:Male
  • Location:Southampton uk
  • Simulator:Open Rails
  • Country:

Posted 19 December 2016 - 04:31 PM

Thank you James for remembering this problem.
Your test build now displays the both the animated and extra non animated parts in the signal shape that were previously invisible in OR, but shown in msts. Thanks!
But the animated parts now shown still don`t move, although the signal arm (head1 etc) does of course. I can live with this.

Over on UKTS there is a thread about uk theatre and clack box signals - maybe relevant?

In running the x3708 test, I`ve just noticed the UK combined Home and Distant signals are now working correctly. This is very welcome, and I`m sure will be appreciated by uk modellers
Thanks again, rick

#15 User is offline   Jovet 

  • Open Rails Developer
  • Group: Status: Elite Member
  • Posts: 2,246
  • Joined: 14-January 08
  • Gender:Male
  • Location:Omaha, Nebraska.
  • Simulator:MSTS/Open Rails
  • Country:

Posted 20 December 2016 - 09:23 AM

View Postrickloader, on 19 December 2016 - 04:31 PM, said:

Your test build now displays the both the animated and extra non animated parts in the signal shape that were previously invisible in OR, but shown in msts. Thanks!
But the animated parts now shown still don`t move, although the signal arm (head1 etc) does of course. I can live with this.
Over on UKTS there is a thread about uk theatre and clack box signals - maybe relevant?

This is interesting to me.... I've not had any issues with animation with my signals and switchstands. Both use a complex hierarchy of permanent and optional parts. But my shapes are created in Gmax...not sure if that makes a difference.

This is the hierarchy of one of my two-blade semaphore signals, for example:
http://msts.jovet.net/files/images/SemaphoreHeirarchy.png

The SignalSubObj entries are assigned to the ARM1 and ARM2 parts. All of the child parts animate correctly and display correctly. Hmmmmm.

#16 User is offline   rickloader 

  • Conductor
  • Group: Status: First Class
  • Posts: 488
  • Joined: 05-February 13
  • Gender:Male
  • Location:Southampton uk
  • Simulator:Open Rails
  • Country:

Posted 20 December 2016 - 01:52 PM

Thanks Joseph. That ancillary animated parts can work in ORTS is valuable info. I`m doing something wrong then.
Now, are you saying that the decorative animated child parts are also declared in the sigcfg as "SignalSubObj" ?
So your italicized eg cover1b is a signal subobject, and my operating rod should be also also? Certainly I can make them so: "decor" or similar

My sigcfg looks like this

SignalShape (
"SRStop.s"
"SR Stop"
SignalSubObjs ( 1
SignalSubObj ( 0
"HEAD1"
"Stop arm"
SigSubType ( SIGNAL_HEAD )
SignalFlags ( DEFAULT )
SigSubSType ( "SRStop" )
)
I think also your blue items having the animation keys is different to 3dc ,because in 3dc they are attached to the child group.
When I get a moment I will experiment
thanks, rick

#17 User is offline   Jovet 

  • Open Rails Developer
  • Group: Status: Elite Member
  • Posts: 2,246
  • Joined: 14-January 08
  • Gender:Male
  • Location:Omaha, Nebraska.
  • Simulator:MSTS/Open Rails
  • Country:

Posted 21 December 2016 - 12:05 AM

View Postrickloader, on 20 December 2016 - 01:52 PM, said:

Now, are you saying that the decorative animated child parts are also declared in the sigcfg as "SignalSubObj" ?
So your italicized eg cover1b is a signal subobject, and my operating rod should be also also? Certainly I can make them so: "decor" or similar

The child parts should (and do) animate automatically. The optional ones are declared as DECOR SignalSubObjs so they can appear as needed and are hidden otherwise. (e.g. only one Blade should be turned on per arm at a time)

Here's what the standard SignalShape entry looks like for the above shape:

	SignalShape (
		"JJHsig1UQ02.s"
		"UQ Semaphore 2-Arm Home [2-Tier]"
		SignalSubObjs ( 18
			SignalSubObj ( 0
				"ARM1"
				"Signal Arm 1 (Red-Ambr-Grn)"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( DEFAULT )
				SigSubSType ( "JJHSemUQ3PosRAG1" )
			)
			SignalSubObj ( 1
				"BLADE1S"
				"Arm 1 - Yellow/Square Blade"
				SigSubType ( DECOR )
				SignalFlags ( OPTIONAL DEFAULT )
			)
			SignalSubObj ( 2
				"BLADE1S2"
				"Arm 1 - Red/Square Blade"
				SigSubType ( DECOR )
				SignalFlags ( OPTIONAL )
			)
			SignalSubObj ( 3
				"COVER1B"
				"Arm 1 - Cover Amber Lens"
				SigSubType ( DECOR )
				SignalFlags ( OPTIONAL )
			)
			SignalSubObj ( 4
				"COVER1C"
				"Arm 1 - Cover Green Lens"
				SigSubType ( DECOR )
				SignalFlags ( OPTIONAL )
			)
			SignalSubObj ( 5
				"ARM2"
				"Signal Arm 2 (Red-Ambr-Grn)"
				SigSubType ( SIGNAL_HEAD )
				SignalFlags ( OPTIONAL DEFAULT )
				SigSubSType ( "JJHSemUQ3PosRAG2" )
			)
			SignalSubObj ( 6
				"BLADE2S"
				"Arm 2 - Yellow/Square Blade"
				SigSubType ( DECOR )
				SignalFlags ( OPTIONAL DEFAULT )
			)
			SignalSubObj ( 7
				"BLADE2S2"
				"Arm 2 - Red/Square Blade"
				SigSubType ( DECOR )
				SignalFlags ( OPTIONAL )
			)
			SignalSubObj ( 8
				"COVER2B"
				"Arm 2 - Cover Amber Lens"
				SigSubType ( DECOR )
				SignalFlags ( OPTIONAL )
			)
			SignalSubObj ( 9
				"COVER2C"
				"Arm 2 - Cover Green Lens"
				SigSubType ( DECOR )
				SignalFlags ( OPTIONAL )
			)
			SignalSubObj ( 10
				"PLATFORM1"
				"Show Top Platform"
				SigSubType ( DECOR )
				SignalFlags ( OPTIONAL DEFAULT )
			)
			SignalSubObj ( 11
				"PLATFORM2"
				"Show Lower Platform"
				SigSubType ( DECOR )
				SignalFlags ( OPTIONAL DEFAULT )
			)
			SignalSubObj ( 12
				"LADDERG"
				"Show Inclined Ladder Only"
				SigSubType ( DECOR )
				SignalFlags ( OPTIONAL )
			)
			SignalSubObj ( 13
				"NUMBER"
				"Show Number Plate"
				SigSubType ( NUMBER_PLATE )
				SignalFlags ( OPTIONAL )
			)
			SignalSubObj ( 14
				"GRADIENT"
				"Show Grade Plate"
				SigSubType ( GRADIENT_PLATE )
				SignalFlags ( OPTIONAL )
			)
			SignalSubObj ( 15
				"DUMMY"
				"Show Approach Medium (4th Aspect)"
				SigSubType ( USER1 )
				SignalFlags ( OPTIONAL )
			)
			SignalSubObj ( 16
				"DUMMY"
				"Show Advance Approach Medium"
				SigSubType ( USER2 )
				SignalFlags ( OPTIONAL )
			)
			SignalSubObj ( 17
				"DUMMY"
				"Two-Armed Signal"
				SigSubType ( USER4 )
				SignalFlags ( DEFAULT )
			)
		)
	)


As you can see, SignalSubObj #0 assigns the SignalType for the topmost arm. It's assigned to the shape part ARM1. ARM1 itself does not have any animation, but its child part PIVOT1 does. All of the other parts are children of PIVOT1 so they are subject to the animation performed on PIVOT1.

You might also notice that the second arm, in its entirety, is marked as optional in my above hierarchy diagram and the signal shape code above. When it's turned on, then ARM2, PIVOT2, and BLADE2 all appear at the same time (as they are all the same matrix in the shape file). All of the child parts of BLADE2 are separate and need additional DECOR entries to appear.

View Postrickloader, on 20 December 2016 - 01:52 PM, said:

I think also your blue items having the animation keys is different to 3dc ,because in 3dc they are attached to the child group.

I haven't played with 3DC in a long time, so I'm not quite sure how animation and shape matrices are setup in it. The effect might be the same, though, as all of the child parts (if you want to think of them as a group) are all subject to the animation of their parent parts. When exporting from Gmax, I can decide exactly which parts are what (for internal matrices) and which parts get combined together.

The bottom line is that animation should be applied to the named shape part which will then affect all of that part's child parts. This isn't something I've ever had trouble with in OR.

#18 User is online   James Ross 

  • Open Rails Developer
  • Group: Status: Elite Member
  • Posts: 5,490
  • Joined: 30-June 10
  • Gender:Not Telling
  • Simulator:Open Rails
  • Country:

Posted 21 December 2016 - 05:42 AM

View PostJovet, on 20 December 2016 - 09:23 AM, said:

This is interesting to me.... I've not had any issues with animation with my signals and switchstands. Both use a complex hierarchy of permanent and optional parts. But my shapes are created in Gmax...not sure if that makes a difference.

This is the hierarchy of one of my two-blade semaphore signals, for example:
http://msts.jovet.net/files/images/SemaphoreHeirarchy.png

The SignalSubObj entries are assigned to the ARM1 and ARM2 parts. All of the child parts animate correctly and display correctly. Hmmmmm.

The display difference is down to you declaring them as SignalSubObj, but rick not; MSTS seems to default to displaying unmatched SignalSubObj items so that's what I changed in the test build.

The animation in OR is done by applying it to the node specified for the SIGNAL_HEAD (e.g. ARM1) and all descendant nodes. I am not sure what MSTS does, but perhaps it animates all nodes except those inside other SIGNAL_HEAD nodes?

Jovet: I am slightly concerned that we might have broken that signal hierarchy in X3708, as we seem to now be requiring the SIGNAL_HEAD's node to have animation controllers.

#19 User is offline   Jovet 

  • Open Rails Developer
  • Group: Status: Elite Member
  • Posts: 2,246
  • Joined: 14-January 08
  • Gender:Male
  • Location:Omaha, Nebraska.
  • Simulator:MSTS/Open Rails
  • Country:

Posted 21 December 2016 - 08:40 AM

View PostJames Ross, on 21 December 2016 - 05:42 AM, said:

The display difference is down to you declaring them as SignalSubObj, but rick not; MSTS seems to default to displaying unmatched SignalSubObj items so that's what I changed in the test build.
The animation in OR is done by applying it to the node specified for the SIGNAL_HEAD (e.g. ARM1) and all descendant nodes. I am not sure what MSTS does, but perhaps it animates all nodes except those inside other SIGNAL_HEAD nodes?
Jovet: I am slightly concerned that we might have broken that signal hierarchy in X3708, as we seem to now be requiring the SIGNAL_HEAD's node to have animation controllers.

The animation in OR sounds identical to what MSTS does. Each part is animated in turn, like a domino effect, starting with the named part, and with the effects of animation of a parent part affecting its children in the same manner, before the children's own animation is performed. As I've said above, animation is one thing I've never had any trouble with in OR. It has always worked the same and correctly for me in OR as it does in MSTS.

I'm not sure what you mean by "unmatched SignalSubObj items." But I have now caught up properly on this thread and found rickloader's hierarchy screenshot. What rickloader's original and actual problem was is that his rods and other ancillary parts (BALANCEARM, ROD) are not children of HEAD1. Compare his screenshot to mine here. I also suggest that the mesh matrices don't appear to be right. For example, the meshes shown under HEAD1 should all have a "1" icon, but only the first two do. For BALANCEARM, only the first mesh shown has a "2". Whether this is the fault of the 3DC exporter or rickloader's setup of the shape hierarchy I don't know. The "4" mesh at the very end doesn't even have a name, which also seems very suspect. It's my understanding that one has to setup "fake animation" for all named parts that aren't animated that one wants to survive into the shape file when exporting from 3DC, but not having used it I can't advise for sure.

Note that all of the bright-orange box icons in Shape Viewer indicate a unique mesh matrix in the shape, but only the second through fifth have special icons with numbers (1-4). I have always suspected that Mr. Gausden elected not to make unique, numbered icons for the other 59 potential mesh matrices that a shape file could have.
;)

For his signal to display and animate correctly, BALANCEARM and/or ROD must be children of the SignalSubObj part HEAD1, either direct descendants or one a child of the other. They should also end up with the same "matrix numbers" in the Shape Viewer (e.g. "1" or "2" etc.) I don't see any reason why BALANCEARM and ROD would be made visible by MSTS. That's surprising and confusing. Named parts (and associated matrices that are not matrix #0) should not be visible unless they're invoked by a SignalSubObj.

I can confirm that my semaphore animation is now broken in X3710.

#20 User is offline   Csantucci 

  • Member, Board of Directors
  • Group: Status: Elite Member
  • Posts: 6,996
  • Joined: 31-December 11
  • Gender:Male
  • Country:

Posted 21 December 2016 - 10:04 AM

Hi Joseph,
pls. check whether following .exe patch to x3710 fixes your problem.


  • 3 Pages +
  • 1
  • 2
  • 3
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users