Page 3 of 5

Re: Vulcan Productions Class 86 (as-built)

Posted: Mon Jun 28, 2021 1:08 am
by gptech
ronhessar40 wrote: Sun Jun 27, 2021 8:59 pm Theoretically speaking, how legal/easy would it be to alias most sounds, cabview/controls, and some physics to the AP Class 86?
Certainly legal, as pointing to the AP files does not involve distributing them. It would be polite though to contact AP to gain official approval and you never know, you may even get some advice.
To get your 85 to use the 86 cab you just edit the locos .bin file to reference the AP cab:

Code: Select all

					<InteriorInterface>
						<cControlContainerBlueprint-cInteriorInterface>
							<InteriorGeometryID d:type="cDeltaString">Kuju\RailSimulator\RailVehicles\Diesel\Class47\Default\CabView\[00]class47_cab</InteriorGeometryID>
							<NumberOfCabs d:type="cDeltaString">eDoubleCab</NumberOfCabs>
							<InteriorCamera>
								<iBlueprintLibrary-cAbsoluteBlueprintID>
									<BlueprintSetID>
										<iBlueprintLibrary-cBlueprintSetID>
											<Provider d:type="cDeltaString">Kuju</Provider>
											<Product d:type="cDeltaString">RailSimulator</Product>
										</iBlueprintLibrary-cBlueprintSetID>
									</BlueprintSetID>
									<BlueprintID d:type="cDeltaString">RailVehicles\Diesel\Class47\Default\CabView\Class 47 Cab camera.xml</BlueprintID>
								</iBlueprintLibrary-cAbsoluteBlueprintID>
							</InteriorCamera>
for example would be edit to whatever the AP 86 uses.

Re: Vulcan Productions Class 86 (as-built)

Posted: Mon Jun 28, 2021 4:29 am
by ronhessar40
Thanks for this tip. I am trying to wrap my head around the BP editor and have ultimately decided to use the basic RSC 86 cab, since it would be more accessible. I don't want someone to have to pay upwards of $30 just to get the class 85! (even if you do get a shiny, detailed and realistic 86 with it ;) )

With that being said, how are most TS addons distributed? I've got no idea how to write an installer .exe, but looking at some other addons I guess I have no choice!

Re: Vulcan Productions Class 86 (as-built)

Posted: Mon Jun 28, 2021 5:54 am
by gptech
ronhessar40 wrote: Mon Jun 28, 2021 4:29 am I've got no idea how to write an installer .exe, but looking at some other addons I guess I have no choice
There are choices.... .rwp package, a straight forward .zip, a self extracting WinRAR/7-Zip archive (which many wonderful .exe installers are, or at least based upon)

Don't worry about distribution though, until you have something to distribute!
ronhessar40 wrote: Mon Jun 28, 2021 4:29 am have ultimately decided to use the basic RSC 86 cab, since it would be more accessible. I don't want someone to have to pay upwards of $30 just to get the class 85!
..and that restores my faith in freeware.....if anybody wants the enhanced version they can apply it themselves. Of course that assumes they can.....many can't, and putting my cynical head on that's because the TS user base has been "dumbed down" to believe they absolutely need somebody to do all that for them.

Re: Vulcan Productions Class 86 (as-built)

Posted: Mon Jun 28, 2021 8:21 am
by xguerra
You're basically looking for sort of the same thing the Class 82 from the no-name developer did, which used the RSC/WCML-N 86 cab and the class 82 body.

It's dead-easy to create the right blueprint to run the 85 in the same way if you just mirror each entry as it exists in the 86 blueprint. But it can be time consuming.

Some exceptions though that you will have to work out based on the exact characteristics of the 85:
- physical properties (collision boxes, weight, pivot, friction etc)
- coupling positions
- bogie pivot positions
- any animations that you have created (pantograph, wipers, lights etc)

But 90% of it will probably be the same as the 86.

If you want the 85 fan sound to replace the 86 one that's a hurdle of a slightly different nature but it's no problem to go through it step by step.

I imagine you have but the stuff in the TS dev documentation is very useful to look at for guidelines on having your model set up correctly and then what you need in the blueprint.
https://sites.google.com/a/railsimdev.c ... nce-manual

I do have some experience in blueprints so could help answer any queries you have.
I don't have access to the forum private message system currently but I've notified the admins and hopefully it will be restored in the next day or so. I also have a website (see signature).

Matt Wilson, who I believe you helped with the 86/0 bogies, also knows a lot about models and blueprints and I'm sure would be able to help as well.

Re: Vulcan Productions Class 86 (as-built)

Posted: Mon Jun 28, 2021 3:19 pm
by ronhessar40
Thank you guys. I have fiddled with a new blueprint using BPE and the most noticeably changed item is the Engine sim blueprint; if I’m not mistaken that is all that’s needed to change the max power between the 86 and 85? I’ve altered a handful of values, otherwise putting in the same values as the 86.

One finick to keep in mind is the 85 had dynamic braking up until 1965-ish after which it was removed. I’ll keep that implementation the same as the 86 for the early variants.

Another big grey area is animations. I love how the AP 40 has scrolling blinds, and I’d made my own for .. another sim https://youtu.be/U0lrehXlq4A .. but I’m not sure how these animations are set up for TS. There is a bone for every vertex pair, I think running up to 130-ish bones. How would I import/name/parent these things in Blender for the proper BAN file to be made?

Another thing is pantographs. Well, 2 things! I would like for the spring on the old Faiveley pantograph to stretch out, effectively making the cylinder longer by an inch or two in the animation. Does TS support this? I had done it in TRainz by parenting the two cylinder caps’ vertices to two different bones, then animating one bone accordingly to stretch.
The second pantograph thing is, well, there are two pantographs! How do I configure it so that only the trailing pantograph is used at all times.

For baked animations where every object has its own keyframes, do there need to be lattices bones used?

Re: Vulcan Productions Class 86 (as-built)

Posted: Mon Jun 28, 2021 7:48 pm
by xguerra
At least as you're using Blender I could probably help you in part.
Presumably you have the Train Simulator Briage Plugin for Blender which gives you all you need to have the correct model properties.
If not, you'll need it.
http://jujumatic.free.fr/
Also comes with some documentation on all the features that will be very useful.
ronhessar40 wrote: Mon Jun 28, 2021 3:19 pmAnother big grey area is animations. I love how the AP 40 has scrolling blinds, and I’d made my own for .. another sim https://youtu.be/U0lrehXlq4A .. but I’m not sure how these animations are set up for TS. There is a bone for every vertex pair, I think running up to 130-ish bones. How would I import/name/parent these things in Blender for the proper BAN file to be made?
I believe that's done with the Scrolling UV method.

You have a (flat plane) node on the model with a fixed frame size (aka each digit window on the headcode box) and that uses a texture that has all the digits lined up vertically.
And using some settings in Blender (it's explained in the Briage manual) you can scroll the visible frame up and down the texture.

The problem is that I believe you can then control when to stop and start on call (aka from one digit to the next) but don't know how it's done exactly.
It can be noted that in practice it is much more straightforward to setup a non-scrolling headcode blind, where you simply jump straight from one digit to the other in a single frame, and there are a couple of ways of doing that.

In the case of the class 40 as well, I think each blind reel is its own seperate model rather than being intergrated into the main loco model.

Matt Wilson is very good with blinds and might be able to tell you exactly how to set it up.
ronhessar40 wrote: Mon Jun 28, 2021 3:19 pmAnother thing is pantographs. Well, 2 things! I would like for the spring on the old Faiveley pantograph to stretch out, effectively making the cylinder longer by an inch or two in the animation. Does TS support this? I had done it in TRainz by parenting the two cylinder caps’ vertices to two different bones, then animating one bone accordingly to stretch.
The second pantograph thing is, well, there are two pantographs! How do I configure it so that only the trailing pantograph is used at all times.
Using Blender animation for TS works on the keyframe principle.

In the case of the cylinder, if you want it to grow rather than simply shift position then I would suggest using keyframe animation steps to increase the scale of the object in whichever direction (XYZ) you want it to grow.

As for the pantograph end, TS has that sort of pantograph control set up already. In Blender, you will have to animate the pantographs such that at keyframe 0, the no.1 end pantograph (as if you were running in reverse) is up, and at the end keyframe, the no.2 end pantograph is up (as if you were running forwards).
Then you export both pantograph movements as one animation file.

To know how to have this set up in the blueprint editor, the best / most simplest place to look is inside the .bin file of the default/Kuju DB Class 101 loco.
ronhessar40 wrote: Mon Jun 28, 2021 3:19 pmFor baked animations where every object has its own keyframes, do there need to be lattices bones used?
I'll be honest I'm not sure what lattice bones means.

I'm not sure "bones" is used as concept for rolling stock modelling in TS. Animated characters yes but trains don't think so.
At a basic level, the way I understand animating anything such as a pantograph for Train Simulator is you have a set of components/model nodes that make up the pantograph model. You have some grouped together where possible (if they're physically fixed together with no translating/rotating joins) and across a series of keyframe animations, you will perform a translation, rotation and/or scaling movement in XYZ directions. When you export the collective animations of these items together, that makes up your single animation file for that object.

Re: Vulcan Productions Class 86 (as-built)

Posted: Tue Jun 29, 2021 5:15 am
by ronhessar40
I think the flicking from one letter/number to the next in a single "keyframe" is the best method. But like you hinted earlier I'll cross that bridge when I get to it :o

I do want them to be alpha images for the letters so that I can stick an emissive textured plane behind to represent the 15w lightbulbs.''

Regarding the pantos, I'm not too sure I follow. How would the game know which panto is which, if each object or individual link/arm of the panto is separate, and animated? Is it down to a naming convention?

Also - I assume you mean that at frame 0, the front panto is up, and at frame 30 it's fully down, and at frame 0 the rear panto is down and at 30 its fully up, all in the same animation? Sorry for being so pesky, it's just that there are very little tutorials on doing this for TS and everything on the web is hidden under some obscure name! Thanks for the help.

Re: Vulcan Productions Class 86 (as-built)

Posted: Tue Jun 29, 2021 8:55 am
by xguerra
ronhessar40 wrote: Tue Jun 29, 2021 5:15 amI do want them to be alpha images for the letters so that I can stick an emissive textured plane behind to represent the 15w lightbulbs.'

Regarding the pantos, I'm not too sure I follow. How would the game know which panto is which, if each object or individual link/arm of the panto is separate, and animated? Is it down to a naming convention?

Also - I assume you mean that at frame 0, the front panto is up, and at frame 30 it's fully down, and at frame 0 the rear panto is down and at 30 its fully up, all in the same animation? Sorry for being so pesky, it's just that there are very little tutorials on doing this for TS and everything on the web is hidden under some obscure name! Thanks for the help.
Alpha'd lettering and emissive plane is no problem. If the front cab and rear cab emissive planes were named lights_fwdhead and lights_revhead respectively (as per naming conventions - see TS Dev Docs on Google Site), then they will automatically have an on and off node control when you use the headlight control.

Pantograph:

Apologies, I might have confused you as I was thinking of a different case (I've only ever built trams which are totally different). Following the DB101 example probably makes more sense.
So actually for a 2 pantograph loco you keyframe animate both pantographs separately (keyframe 0 - down to keyframe 30 - up) and export them as individual animations.

In the blueprint editor you have both animations listed in the Anim Set section under Render, call them something like "frontPanto" and "rearPanto".
Then under ControlValues you need to mirror this sort of control:

Control Name "Pantograph Control" is for the switch and the internal control. This allows the player to manually raise or lower the correct pantograph depending on direction of travel (default is forwards/no.1 end).

Control Name "FrontPantographControl" add the front pantograph animation and as it's a "core" control command it's already set up to raise or lower automatically based on travel direction.

Control Name "RearPantographControl" is the same as above but for the rear pantograph.

Apologies for the confusion.

Code: Select all

						<cControlContainerBlueprint-cControlValue d:id="55609536">
							<ControlName d:type="cDeltaString">PantographControl</ControlName>
							<DefaultValue d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</DefaultValue>
							<MinimumValue d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</MinimumValue>
							<MaximumValue d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</MaximumValue>
							<BriefDescription d:type="cDeltaString">Pantograph Up/Down</BriefDescription>
							<DetailedDescription d:type="cDeltaString">Pantograph Up/Down</DetailedDescription>
							<ApplyToConsist d:type="cDeltaString">eFalse</ApplyToConsist>
							<InterfaceElements>
								<cControlContainerBlueprint-cInteriorPushButton d:id="55611840">
									<ElementName d:type="cDeltaString">Untitled</ElementName>
									<DifficultyType d:type="cDeltaString">Expert</DifficultyType>
									<PickTransformName d:type="cDeltaString">pantograph</PickTransformName>
									<MovementType d:type="cDeltaString">PushButton</MovementType>
									<AnalogInputSensitivity d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</AnalogInputSensitivity>
									<DigitalInputSensitivity d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</DigitalInputSensitivity>
									<AnimationName d:type="cDeltaString">Kuju\RailSimulator\RailVehicles\Electric\BR101\Default\CabView\br101_pantograph</AnimationName>
									<AutoRelease d:type="cDeltaString">eFalse</AutoRelease>
								</cControlContainerBlueprint-cInteriorPushButton>
								<cControlContainerBlueprint-cInteriorLever d:id="55613760">
									<ElementName d:type="cDeltaString">PantographDisplay</ElementName>
									<DifficultyType d:type="cDeltaString">StopGo</DifficultyType>
									<PickTransformName d:type="cDeltaString"></PickTransformName>
									<MovementType d:type="cDeltaString">MoveLeftRight</MovementType>
									<AnalogInputSensitivity d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</AnalogInputSensitivity>
									<DigitalInputSensitivity d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</DigitalInputSensitivity>
									<AnimationName d:type="cDeltaString">Kuju\RailSimulator\RailVehicles\Electric\BR101\Default\CabView\br101_hs_aus_ein</AnimationName>
								</cControlContainerBlueprint-cInteriorLever>
								<cControlContainerBlueprint-cInteriorVisibilityObject d:id="55615552">
									<ElementName d:type="cDeltaString">Pantograph Down Light</ElementName>
									<DifficultyType d:type="cDeltaString">Expert</DifficultyType>
									<LowerVisibilityThreshold d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</LowerVisibilityThreshold>
									<UpperVisibilityThreshold d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</UpperVisibilityThreshold>
									<TransformName d:type="cDeltaString">hs_aus_lit</TransformName>
									<ThresholdType d:type="cDeltaString">Target</ThresholdType>
								</cControlContainerBlueprint-cInteriorVisibilityObject>
							</InterfaceElements>
						</cControlContainerBlueprint-cControlValue>
						<cControlContainerBlueprint-cControlValue d:id="55617216">
							<ControlName d:type="cDeltaString">FrontPantographControl</ControlName>
							<DefaultValue d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</DefaultValue>
							<MinimumValue d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</MinimumValue>
							<MaximumValue d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</MaximumValue>
							<BriefDescription d:type="cDeltaString"></BriefDescription>
							<DetailedDescription d:type="cDeltaString"></DetailedDescription>
							<ApplyToConsist d:type="cDeltaString">eFalse</ApplyToConsist>
							<InterfaceElements>
								<cControlContainerBlueprint-cExteriorAnimation d:id="55619520">
									<ElementName d:type="cDeltaString">Untitled</ElementName>
									<DifficultyType d:type="cDeltaString">Expert</DifficultyType>
									<AnimationID d:type="cDeltaString">frontPanto</AnimationID>
									<AnimStyle d:type="cDeltaString">Toggle</AnimStyle>
								</cControlContainerBlueprint-cExteriorAnimation>
							</InterfaceElements>
						</cControlContainerBlueprint-cControlValue>
						<cControlContainerBlueprint-cControlValue d:id="55620160">
							<ControlName d:type="cDeltaString">RearPantographControl</ControlName>
							<DefaultValue d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</DefaultValue>
							<MinimumValue d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</MinimumValue>
							<MaximumValue d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</MaximumValue>
							<BriefDescription d:type="cDeltaString"></BriefDescription>
							<DetailedDescription d:type="cDeltaString"></DetailedDescription>
							<ApplyToConsist d:type="cDeltaString">eFalse</ApplyToConsist>
							<InterfaceElements>
								<cControlContainerBlueprint-cExteriorAnimation d:id="55622464">
									<ElementName d:type="cDeltaString">Untitled</ElementName>
									<DifficultyType d:type="cDeltaString">Expert</DifficultyType>
									<AnimationID d:type="cDeltaString">rearPanto</AnimationID>
									<AnimStyle d:type="cDeltaString">Toggle</AnimStyle>
								</cControlContainerBlueprint-cExteriorAnimation>
							</InterfaceElements>
						</cControlContainerBlueprint-cControlValue>

Re: Vulcan Productions Class 86 (as-built)

Posted: Tue Jun 29, 2021 9:36 am
by Squatch
I have absolutely nothing to add do this discussion, in fact most of it might as well be written in Greek :D but it's both heartening and interesting to watch it develop! Keep up the good work.

Re: Vulcan Productions Class 86 (as-built)

Posted: Tue Jun 29, 2021 11:36 pm
by ronhessar40
xguerra wrote: Tue Jun 29, 2021 8:55 am
ronhessar40 wrote: Tue Jun 29, 2021 5:15 amI do want them to be alpha images for the letters so that I can stick an emissive textured plane behind to represent the 15w lightbulbs.'

Regarding the pantos, I'm not too sure I follow. How would the game know which panto is which, if each object or individual link/arm of the panto is separate, and animated? Is it down to a naming convention?

Also - I assume you mean that at frame 0, the front panto is up, and at frame 30 it's fully down, and at frame 0 the rear panto is down and at 30 its fully up, all in the same animation? Sorry for being so pesky, it's just that there are very little tutorials on doing this for TS and everything on the web is hidden under some obscure name! Thanks for the help.
Alpha'd lettering and emissive plane is no problem. If the front cab and rear cab emissive planes were named lights_fwdhead and lights_revhead respectively (as per naming conventions - see TS Dev Docs on Google Site), then they will automatically have an on and off node control when you use the headlight control.

Pantograph:

Apologies, I might have confused you as I was thinking of a different case (I've only ever built trams which are totally different). Following the DB101 example probably makes more sense.
So actually for a 2 pantograph loco you keyframe animate both pantographs separately (keyframe 0 - down to keyframe 30 - up) and export them as individual animations.

In the blueprint editor you have both animations listed in the Anim Set section under Render, call them something like "frontPanto" and "rearPanto".
Then under ControlValues you need to mirror this sort of control:

Control Name "Pantograph Control" is for the switch and the internal control. This allows the player to manually raise or lower the correct pantograph depending on direction of travel (default is forwards/no.1 end).

Control Name "FrontPantographControl" add the front pantograph animation and as it's a "core" control command it's already set up to raise or lower automatically based on travel direction.

Control Name "RearPantographControl" is the same as above but for the rear pantograph.

Apologies for the confusion.

Code: Select all

						<cControlContainerBlueprint-cControlValue d:id="55609536">
							<ControlName d:type="cDeltaString">PantographControl</ControlName>
							<DefaultValue d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</DefaultValue>
							<MinimumValue d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</MinimumValue>
							<MaximumValue d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</MaximumValue>
							<BriefDescription d:type="cDeltaString">Pantograph Up/Down</BriefDescription>
							<DetailedDescription d:type="cDeltaString">Pantograph Up/Down</DetailedDescription>
							<ApplyToConsist d:type="cDeltaString">eFalse</ApplyToConsist>
							<InterfaceElements>
								<cControlContainerBlueprint-cInteriorPushButton d:id="55611840">
									<ElementName d:type="cDeltaString">Untitled</ElementName>
									<DifficultyType d:type="cDeltaString">Expert</DifficultyType>
									<PickTransformName d:type="cDeltaString">pantograph</PickTransformName>
									<MovementType d:type="cDeltaString">PushButton</MovementType>
									<AnalogInputSensitivity d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</AnalogInputSensitivity>
									<DigitalInputSensitivity d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</DigitalInputSensitivity>
									<AnimationName d:type="cDeltaString">Kuju\RailSimulator\RailVehicles\Electric\BR101\Default\CabView\br101_pantograph</AnimationName>
									<AutoRelease d:type="cDeltaString">eFalse</AutoRelease>
								</cControlContainerBlueprint-cInteriorPushButton>
								<cControlContainerBlueprint-cInteriorLever d:id="55613760">
									<ElementName d:type="cDeltaString">PantographDisplay</ElementName>
									<DifficultyType d:type="cDeltaString">StopGo</DifficultyType>
									<PickTransformName d:type="cDeltaString"></PickTransformName>
									<MovementType d:type="cDeltaString">MoveLeftRight</MovementType>
									<AnalogInputSensitivity d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</AnalogInputSensitivity>
									<DigitalInputSensitivity d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</DigitalInputSensitivity>
									<AnimationName d:type="cDeltaString">Kuju\RailSimulator\RailVehicles\Electric\BR101\Default\CabView\br101_hs_aus_ein</AnimationName>
								</cControlContainerBlueprint-cInteriorLever>
								<cControlContainerBlueprint-cInteriorVisibilityObject d:id="55615552">
									<ElementName d:type="cDeltaString">Pantograph Down Light</ElementName>
									<DifficultyType d:type="cDeltaString">Expert</DifficultyType>
									<LowerVisibilityThreshold d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</LowerVisibilityThreshold>
									<UpperVisibilityThreshold d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</UpperVisibilityThreshold>
									<TransformName d:type="cDeltaString">hs_aus_lit</TransformName>
									<ThresholdType d:type="cDeltaString">Target</ThresholdType>
								</cControlContainerBlueprint-cInteriorVisibilityObject>
							</InterfaceElements>
						</cControlContainerBlueprint-cControlValue>
						<cControlContainerBlueprint-cControlValue d:id="55617216">
							<ControlName d:type="cDeltaString">FrontPantographControl</ControlName>
							<DefaultValue d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</DefaultValue>
							<MinimumValue d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</MinimumValue>
							<MaximumValue d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</MaximumValue>
							<BriefDescription d:type="cDeltaString"></BriefDescription>
							<DetailedDescription d:type="cDeltaString"></DetailedDescription>
							<ApplyToConsist d:type="cDeltaString">eFalse</ApplyToConsist>
							<InterfaceElements>
								<cControlContainerBlueprint-cExteriorAnimation d:id="55619520">
									<ElementName d:type="cDeltaString">Untitled</ElementName>
									<DifficultyType d:type="cDeltaString">Expert</DifficultyType>
									<AnimationID d:type="cDeltaString">frontPanto</AnimationID>
									<AnimStyle d:type="cDeltaString">Toggle</AnimStyle>
								</cControlContainerBlueprint-cExteriorAnimation>
							</InterfaceElements>
						</cControlContainerBlueprint-cControlValue>
						<cControlContainerBlueprint-cControlValue d:id="55620160">
							<ControlName d:type="cDeltaString">RearPantographControl</ControlName>
							<DefaultValue d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</DefaultValue>
							<MinimumValue d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</MinimumValue>
							<MaximumValue d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</MaximumValue>
							<BriefDescription d:type="cDeltaString"></BriefDescription>
							<DetailedDescription d:type="cDeltaString"></DetailedDescription>
							<ApplyToConsist d:type="cDeltaString">eFalse</ApplyToConsist>
							<InterfaceElements>
								<cControlContainerBlueprint-cExteriorAnimation d:id="55622464">
									<ElementName d:type="cDeltaString">Untitled</ElementName>
									<DifficultyType d:type="cDeltaString">Expert</DifficultyType>
									<AnimationID d:type="cDeltaString">rearPanto</AnimationID>
									<AnimStyle d:type="cDeltaString">Toggle</AnimStyle>
								</cControlContainerBlueprint-cExteriorAnimation>
							</InterfaceElements>
						</cControlContainerBlueprint-cControlValue>
Thanks. I found the dev reference file electric loco, and after a day's work have finally got a working loco that moves in TS. Tomorrow I'll actually learn animation and lighting for the wipers, panto, and ditch lights. If all is well then I can focus on the headcode script.

It's using the dummy cab from the demo model for the time being. Is it relatively easy to get the RSC cab and amazing tap changer aliased for my loco? Seems to be no way to alias in blueprint editor.....

Also, for the input mapper, do I have to override every default functionality, or can I just add the functionality for the new stuff? For example do I have to add "A for throttle up".

Re: Vulcan Productions Class 86 (as-built)

Posted: Wed Jun 30, 2021 4:45 am
by ronhessar40
xguerra wrote: Tue Jun 29, 2021 8:55 am

Alpha'd lettering and emissive plane is no problem. If the front cab and rear cab emissive planes were named lights_fwdhead and lights_revhead respectively (as per naming conventions - see TS Dev Docs on Google Site), then they will automatically have an on and off node control when you use the headlight control.

Pantograph:

Apologies, I might have confused you as I was thinking of a different case (I've only ever built trams which are totally different). Following the DB101 example probably makes more sense.
So actually for a 2 pantograph loco you keyframe animate both pantographs separately (keyframe 0 - down to keyframe 30 - up) and export them as individual animations.

In the blueprint editor you have both animations listed in the Anim Set section under Render, call them something like "frontPanto" and "rearPanto".
Then under ControlValues you need to mirror this sort of control:

Control Name "Pantograph Control" is for the switch and the internal control. This allows the player to manually raise or lower the correct pantograph depending on direction of travel (default is forwards/no.1 end).

Control Name "FrontPantographControl" add the front pantograph animation and as it's a "core" control command it's already set up to raise or lower automatically based on travel direction.

Control Name "RearPantographControl" is the same as above but for the rear pantograph.

Apologies for the confusion.
Thanks. I found the dev reference file electric loco, and after a day's work have finally got a working loco that moves in TS. Tomorrow I'll actually learn animation and lighting for the wipers, panto, and ditch lights. If all is well then I can focus on the headcode script.

It's using the dummy cab from the demo model for the time being. Is it relatively easy to get the RSC cab and amazing tap changer aliased for my loco? Seems to be no way to alias in blueprint editor..... I want to add that I don't want to copy that engine sim.lua into my own sim folder as to avoid any.. issues.. but I also want to have my own script for headcodes and cast numbers. This script should follow with or after the main script from the referenced 86 sim file. Is there a template that allows me to copy paste, then jump into my own code?

Also, for the input mapper, do I have to override every default functionality, or can I just add the functionality for the new stuff? For example do I have to add "A for throttle up".
[/quote]

Re: Vulcan Productions Class 86 (as-built)

Posted: Wed Jun 30, 2021 4:45 am
by ronhessar40
xguerra wrote: Tue Jun 29, 2021 8:55 am

Alpha'd lettering and emissive plane is no problem. If the front cab and rear cab emissive planes were named lights_fwdhead and lights_revhead respectively (as per naming conventions - see TS Dev Docs on Google Site), then they will automatically have an on and off node control when you use the headlight control.

Pantograph:

Apologies, I might have confused you as I was thinking of a different case (I've only ever built trams which are totally different). Following the DB101 example probably makes more sense.
So actually for a 2 pantograph loco you keyframe animate both pantographs separately (keyframe 0 - down to keyframe 30 - up) and export them as individual animations.

In the blueprint editor you have both animations listed in the Anim Set section under Render, call them something like "frontPanto" and "rearPanto".
Then under ControlValues you need to mirror this sort of control:

Control Name "Pantograph Control" is for the switch and the internal control. This allows the player to manually raise or lower the correct pantograph depending on direction of travel (default is forwards/no.1 end).

Control Name "FrontPantographControl" add the front pantograph animation and as it's a "core" control command it's already set up to raise or lower automatically based on travel direction.

Control Name "RearPantographControl" is the same as above but for the rear pantograph.

Apologies for the confusion.
Thanks. I found the dev reference file electric loco, and after a day's work have finally got a working loco that moves in TS. Tomorrow I'll actually learn animation and lighting for the wipers, panto, and ditch lights. If all is well then I can focus on the headcode script.

It's using the dummy cab from the demo model for the time being. Is it relatively easy to get the RSC cab and amazing tap changer aliased for my loco? Seems to be no way to alias in blueprint editor..... I want to add that I don't want to copy that engine sim.lua into my own sim folder as to avoid any.. issues.. but I also want to have my own script for headcodes and cast numbers. This script should follow with or after the main script from the referenced 86 sim file. Is there a template that allows me to copy paste, then jump into my own code?

Also, for the input mapper, do I have to override every default functionality, or can I just add the functionality for the new stuff? For example do I have to add "A for throttle up".

Re: Vulcan Productions Class 86 (as-built)

Posted: Wed Jun 30, 2021 8:13 am
by xguerra
Brilliant to hear that you got a moving loco in-game! Once over that hurdle it should get easier.

I'm not sure what specifically the control format is for tap changing but if you look at one of the .bin files for one of the RSC 86s, there should be no problem copying the control values like for like.

Matt could probably help you set up the cast autonumbers and the headcode blind switching.
I think it's mostly a matter of correct object names, but he also wrote his own input mapper that was slightly adapted from the AP/RSC 86 one such that he could add controls to switch each blind.

Re: Vulcan Productions Class 86 (as-built)

Posted: Wed Jun 30, 2021 4:44 pm
by ronhessar40
xguerra wrote: Wed Jun 30, 2021 8:13 am Brilliant to hear that you got a moving loco in-game! Once over that hurdle it should get easier.

I'm not sure what specifically the control format is for tap changing but if you look at one of the .bin files for one of the RSC 86s, there should be no problem copying the control values like for like.

Matt could probably help you set up the cast autonumbers and the headcode blind switching.
I think it's mostly a matter of correct object names, but he also wrote his own input mapper that was slightly adapted from the AP/RSC 86 one such that he could add controls to switch each blind.
Looking at the script for the VP 86 pack it’s simply a matter of showing or hiding nodes it seems, so nothing too unfamiliar :)

While I did get the 86 cab in my loco, it didn’t move or function and I think it could be down to me not putting the input logger bin in the respective folder. Keeping in mind that the rsc 86 cab is scripted to have a sprung tap changer handle. I have temporarily referenced the 86’s engine sim file as well, since that’s how this more complex script seems to be accessed.

A simple one, now: what’s the largest LOD distance usually used? maybe 5km? After which nothing is visible.

Re: Vulcan Productions Class 86 (as-built)

Posted: Wed Jun 30, 2021 7:05 pm
by xguerra
Usually for rolling stock you won't top 1000 / 1k.

Obviously smaller (detail) items will climb down from that to save a bit of memory but you don't have to go down too low in terms of LOD because the processing power for most PC setups is in a much higher band than it was at the onset of the software.