Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // DAZ Studio version 4.5.1.56 filetype DAZ Script
- //each time we press a "turn" button we rotate by this many degrees
- var ROTATIONSTEP = 5;
- //each time we press a "tilt" button we rotate by this many degrees
- var TILTSTEP = 5;
- //each time we press a "up/down" button we move by this many centimeters
- var ALTITUDESTEP = 50;
- //each time we press a "forth/back" button we move by this many centimeters
- var SPEED = 50;
- var numselnodes = Scene.getNumSelectedNodes();
- var cam;
- var wDlg;
- var wRecordBtn;
- var butar = new Array();
- var butexts = new Array(
- "&q\nUp", "&w\nForth", "&z\nDown",
- "&a \nLeft", "&5\n-----", "&d\nRight",
- "&e\nTilt Up", "&s\nBack", "&c\nTilt Dn"
- );
- var butfuncs = new Array( bf7, bf8, bf9, bf4, bf5, bf6, bf1, bf2, bf3 );
- var wLblTilt;
- var wLblElevvar;
- var wLblHeading;
- var mytimer = 0;
- if( numselnodes > 0 )
- {
- cam = Scene.getSelectedNode( 0 );
- createdash();
- wDlg.exec();
- }
- else
- {
- MessageBox.critical("SELECT A CAMERA FIRST", "NOT FOUND", "OK");
- }
- //===================================================
- //
- //===================================================
- function createdash()
- {
- wDlg = new DzDialog;
- wDlg.caption = "FlyCam";
- var wDlgLyt = new DzVBoxLayout( wDlg );
- wDlgLyt.autoAdd = true;
- wDlgLyt.margin = 5;
- wDlgLyt.spacing = 5;
- var wDashboardGB = new DzGroupBox( wDlg );
- wDashboardGB.flat = true;
- var wDashboardLyt = new DzGridLayout( wDashboardGB );
- wDashboardLyt.margin = 5;
- wDashboardLyt.spacing = 5;
- var i;
- for( i = 0; i < 9; i++ )
- {
- butar[ i ] = new DzPushButton( wDashboardGB );
- butar[ i ].text = butexts[ i ];
- //butar[ i ].alignment = AlignCenter;
- butar[ i ].setFixedSize( 80, 64 );
- wDashboardLyt.addWidget( butar[ i ], i / 3, i % 3 );
- connect( butar[ i ], "pressed()", butfuncs[ i ] );
- }
- var ctl;
- wLblTilt = new DzLabel( wDashboardGB );
- ctl = cam.getXRotControl();
- var xRot = ctl.getValue();
- xRot = Math.floor( xRot );
- wLblTilt.text = "Tilt: " + xRot + "°";
- wDashboardLyt.addWidget( wLblTilt, i / 3, i % 3 );
- ++i;
- wLblElev = new DzLabel( wDashboardGB );
- ctl = cam.getYPosControl();
- var yPos = ctl.getValue();
- yPos = Math.floor( yPos );
- wLblElev.text = "Altitude: " + yPos;
- wDashboardLyt.addWidget( wLblElev, i / 3, i % 3 );
- ++i;
- wLblHeading = new DzLabel( wDashboardGB );
- ctl = cam.getYRotControl();
- var yRot = ctl.getValue();
- yRot = Math.floor( yRot );
- wLblHeading.text = "Heading: " + yRot + "°";
- wDashboardLyt.addWidget( wLblHeading, i / 3, i % 3 );
- var wDlgBtnsGB = new DzGroupBox( wDlg );
- wDlgBtnsGB.flat = true;
- var wDlgBtnsLyt = new DzGridLayout( wDlgBtnsGB );
- wDlgBtnsLyt.margin = 5;
- wDlgBtnsLyt.spacing = 5;
- wDlgBtnsLyt.setColStretch( 1, 1 );
- //record button
- wRecordBtn = new DzPushButton( wDlgBtnsGB );
- wRecordBtn.text = "(&o) RecordStart";
- wRecordBtn.minWidth = 80;
- wRecordBtn.maxHeight = 20;
- wDlgBtnsLyt.addWidget( wRecordBtn, 0, 2 );
- connect( wRecordBtn, "pressed()", RecordStart );
- var wCancelBtn = new DzPushButton( wDlgBtnsGB );
- //cancel button
- wCancelBtn.text = "(&p) Exit";
- wCancelBtn.minWidth = 80;
- wCancelBtn.maxHeight = 20;
- wDlg.setRejectButton( wCancelBtn );
- wDlgBtnsLyt.addWidget( wCancelBtn, 0, 3 );
- wDlg.width = wDlg.minWidth > 400 ? wDlg.minWidth : 400;
- wDlg.height = wDlg.minHeight;
- }
- //===================================================
- //
- //===================================================
- function RecordStart()
- {
- if( wRecordBtn.text == "RecordStop" )
- {
- killTimer( mytimer );
- wRecordBtn.text = "RecordStart";
- }
- else
- {
- wRecordBtn.text = "RecordStop";
- mytimer = startTimer( 1000, RecordNow );
- }
- }
- //===================================================
- //
- //===================================================
- function RecordNow()
- {
- Scene.setTime( Scene.getTime() + 4800 );
- }
- //===================================================
- //
- //===================================================
- function MoveUpDn( dir )
- {
- var ctl = cam.getYPosControl();
- var yPos = ctl.getValue();
- yPos += dir * ALTITUDESTEP;
- ctl.setValue( yPos );
- yPos = Math.floor( yPos );
- wLblElev.text = "Altitude: " + yPos;
- }
- //===================================================
- //
- //===================================================
- function TiltUpDn( dir )
- {
- var xRot = cam.getXRotControl().getValue();
- xRot += ( dir * TILTSTEP );
- cam.getXRotControl().setValue( xRot );
- xRot = Math.floor( xRot );
- wLblTilt.text = "Tilt: " + xRot + "°";
- }
- //===================================================
- //
- //===================================================
- function BackForth( dir )
- {
- var headingZ = cam.getWSRot().getZAxis();
- headingZ.x *= ( dir * -SPEED );
- headingZ.y *= ( dir * -SPEED );
- headingZ.z *= ( dir * -SPEED );
- var ctl = cam.getXPosControl();
- var xPos = ctl.getValue();
- xPos += headingZ.x;
- ctl.setValue( xPos );
- var ctl = cam.getYPosControl();
- var yPos = ctl.getValue();
- yPos += headingZ.y;
- ctl.setValue( yPos );
- var ctl = cam.getZPosControl();
- var zPos = ctl.getValue();
- zPos += headingZ.z;
- ctl.setValue( zPos );
- }
- //===================================================
- //
- //===================================================
- function Turn( dir )
- {
- var yRot = cam.getYRotControl().getValue();
- yRot += ( dir * ROTATIONSTEP );
- cam.getYRotControl().setValue( yRot );
- yRot = Math.floor( yRot );
- wLblHeading.text = "Heading: " + yRot + "°";
- }
- //===================================================
- function bf7()
- {
- MoveUpDn( +1 );
- }
- //===================================================
- function bf8()
- {
- BackForth( +1 );
- }
- //===================================================
- function bf9()
- {
- MoveUpDn( -1 );
- }
- //===================================================
- function bf4()
- {
- Turn( +1 );
- }
- //===================================================
- function bf5()
- {
- }
- //===================================================
- function bf6()
- {
- Turn( -1 );
- }
- //===================================================
- function bf1()
- {
- TiltUpDn( +1 );
- }
- //===================================================
- function bf2()
- {
- BackForth( -1 );
- }
- //===================================================
- function bf3()
- {
- TiltUpDn( -1 );
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement