VC - Seat View Swap

A quiet place for budding model makers to share thoughts, get answers to questions and request and share references.

Moderators: Guru's, The Ministry

Post Reply
Arny_01
Chipmunk
Chipmunk
Posts: 27
Joined: 01 Sep 2006, 20:54
Location: Brummagem
Contact:

VC - Seat View Swap

Post by Arny_01 »

Hi all,

A quick question, what I'm after is a simple toggle button (modeled and working) - but I want the toggles to swap between, Pilot (Left Seat) & Instructor (Right Seat):

View (for Pilot) eyepoint=8.50, 2.00, 1.75
Image
View (for Instructor) eyepoint=8.50, -2.00, 1.75
Image

Toggle I'm using is off the GW Reset Button:

<PartInfo>
<Name>GW_reset_button</Name>
<Animation>
<AnimLength>50</AnimLength>
<Parameter>
<Code>
(L:GW RESET, bool) 50 *
</Code>
</Parameter>
</Animation>
<MouseRect>
<Cursor>Hand</Cursor>
<MouseFlags>LeftSingle+RightSingle</MouseFlags>
<TooltipText>GW FIRE CONTROL RESET BUTTON - (TOGGLE SEAT VIEWS)</TooltipText>
<CallbackCode>
(L:GW RESET, bool) ! (>L:GW RESET, bool)
(L:GW RESET, bool) 1 ==
if{ (A:????????) } els { (A:????????) }
</CallbackCode>
</MouseRect>
</PartInfo>

I'm just unsure which SDK variable I need to be using to do this? STUPID
Anyone know?

Regards

Mike

Image

User avatar
Rick Piper
The Gurus
Posts: 4773
Joined: 18 Jun 2004, 17:20
Location: In front of screen learning 3ds max :/ ...............Done it :)

Re: VC - Seat View Swap

Post by Rick Piper »

Hi Mike

I am 99.99% sure that the eyepoint entries cannot be toggled for 2 or more positions.
tried it with hawk with zero success. :$

had to have a seprate aircraft.cfg which means another folder same as the first

If your Modelling for FSX you can set up a camera in the other seat.

the only varaiable is (A:Eyepoint Position) but it's only adjustable via Simconnect.

if you use a camera entry remember that in FSX the camera positions are in Meters so you will need to convert your eyepoints to meters :thumbsup:
you can then press "A" when your in the left seat and be transported to the Right seat

Regards
Rick

Arny_01
Chipmunk
Chipmunk
Posts: 27
Joined: 01 Sep 2006, 20:54
Location: Brummagem
Contact:

Re: VC - Seat View Swap

Post by Arny_01 »

Hi Rick

Many thanks as ever for the reply. Seems odd that something so obvious is not included within the SDK doesn't it?

I have had some success by using mulitples of the (>K:EYEPOINT_LEFT) & the (>K:EYEPOINT_RIGHT) Event IDs - but aint quite what I was after. :'(

Whilst this does work, to a degreee. As my two views are within the same cockpit - if you happen to reclick the same button twice (which is reachable from both seats) - ie: left click, folowed by another left click your view then moves outside the cabin! The code seems stupidly longwinded, I had just been hoping that there was an easier way! - it might need a bit more thought - else I spilt onto two seperate switches HELP

For an aircraft like your Hawk (where you have two sepearte cockpits and seperate view-transfer switches) you wouldn't have the problem of being able to reclick the same button twice (as once in the back - you wouldn't be able to reach the front switch etc) - you may want to consider something like it, if you put the multiple (>EYEPOINT_BACK) on a switch in the front and multiple (K:EYEPOINT_FORWARD) on the corresponding switch in the back.

(had to alter code below - to work off LeftSingle & RightSingle inputs)

<PartInfo>
<Name>GW_reset_button</Name>
<Animation>
<AnimLength>50</AnimLength>
<Parameter>
<Code>
(L:GW RESET, bool) 50 *
</Code>
</Parameter>
</Animation>
<MouseRect>
<Cursor>Hand</Cursor>
<MouseFlags>LeftSingle+RightSingle</MouseFlags>
<TooltipText>GW FIRE CONTROL RESET BUTTON - (TOGGLE SEAT VIEWS)</TooltipText>
<CallbackCode>
(M:Event) 'LeftSingle' scmp 0 ==
if{ (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT)
(>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT)
(>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT)
(>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT)
(>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT)
(>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT)
(>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT)
(>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT)
(>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT)
(>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT)
(>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT)
(>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT)
(>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT)
(>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT)
(>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT)
(>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT)
(>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT)
(>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT)
(>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT)
(>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT)
(>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT)
(>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT) (>K:EYEPOINT_LEFT)
0 (>L:GW RESET, bool) } els{ 0 }
(M:Event) 'RightSingle' scmp 0 ==
if{ (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT)
(>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT)
(>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT)
(>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT)
(>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT)
(>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT)
(>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT)
(>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT)
(>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT)
(>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT)
(>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT)
(>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT)
(>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT)
(>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT)
(>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT)
(>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT)
(>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT)
(>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT)
(>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT)
(>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT)
(>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT)
(>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT)
(>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT) (>K:EYEPOINT_RIGHT)
1 (>L:GW RESET, bool) } els{ 0 }
</CallbackCode>
</MouseRect>
</PartInfo>

Code seems crazy don't it - to do something so simple.

Regards

Mike

Image

User avatar
Rick Piper
The Gurus
Posts: 4773
Joined: 18 Jun 2004, 17:20
Location: In front of screen learning 3ds max :/ ...............Done it :)

Re: VC - Seat View Swap

Post by Rick Piper »

Hi Mike

i think you can shorten that by using the multily command

i am not xml savvy but something like (not 100% but you definately don't need every repeat seperate)

(>K:EYEPOINT_LEFT) 33 */

33 or however many there are as i didn't count them

Hawk is now too complex to have both interactive VCs in one model as i have more than 200 XML animations in each and 50 odd visibility tags too so it's not a problem now

main problem was the approximately 270 seperate Animated parts limit per model i hit in FSX which is not documented as far as i can see.
pretty easy to hit when you realise every digit on the Radios and Altimeters/kholsman etc are full 3d and the HSI had 17 animated parts till i gave up and projected the Internal part or it would not compile

ie: only projected the ILS/VOR tuner and the TACAN controller apart from the inner guts of the HSI as it's impossible to animate a 3d VOR needle in FSX as there is a bug in the FSX VOR code
so after just the needle you couldn't see any difference so did the whole inner assembly as a projected guage inside a 3d case with 3d knobs

I basically have any needle or gauge part that continuously moves in flight as a smooth 3d animated part
and anything static like radio numbers or other static internals as projected guages as they then do not affect the framerate in any way as they only move when you click them

a Lightning 2 seater will need very carefull management of how you animate it all if you are planning a full working VC

looks very good job so far :thumbsup:

Regards
Rick

Post Reply