Fandom

武装突袭 Wiki

BIS_fnc_setPitchBank

简体 | 繁體

4,827个页面创建
于此维基上
添加新页面
评论0 Share

您使用了广告屏蔽软件!


Wikia通过广告运营为用户提供免费的服务。我们对用户通过嵌入广告屏蔽软件访问网站进行了使用调整。

如果您使用了广告屏蔽软件,将无法使用我们的服务。请您移除广告屏蔽软件,以确保页面正常加载。

  

Click on the images for descriptions

Introduced in

Game:
Arma 2
Version:
1.00

Description

Description:

/************************************************************
	Set Pitch and Bank

Parameters: [object, pitch, bank]
Returns: nothing

Rotates an object, giving it the specified pitch and bank,
in degrees.

Pitch is 0 when the object is level; 90 when pointing straight
up; and -90 when pointing straight down.

Bank is 0 when level; 90 when the object is rolled to the right,
-90 when rolled to the left, and 180 when rolled upside down.

Note that the object's yaw can be set with the setdir command,
which should be issued before using this function, if required.

The pitch/bank can be leveled out (set to 0) by using the
setdir command.

Example: [player, 45, -45] call BIS_fnc_setPitchBank
************************************************************/

//extract parameters
(Placeholder description extracted from the function header by BIS_fnc_exportFunctionsToWiki)

Example 1:</dt>
Example needed</dd>
See also:</dt>

setVectorDirAndUp</dd>

Notes

Only post proven facts here. Report bugs on the feedback tracker. Use the talk page or the forums for discussions.
Add New Note | How To

Notes

Posted on Aug 4, 2014 – 13:35
ffur2007slx2_5
(A3 1.24) attachTo limits BIS_fnc_setPitchBank, here’s an alternative function to break that limitation (code originated from bapedibupa): _obj attachTo [_logic,[0,0,2]]; [_obj,[120,-78,37]] call fnc_SetPitchBankYaw; // pitch: 120, bank: -78, yaw: 37 fnc_SetPitchBankYaw = {

   private ["_object","_rotations","_aroundX","_aroundY","_aroundZ","_dirX","_dirY","_dirZ","_upX","_upY","_upZ","_dir","_up","_dirXTemp",
   "_upXTemp"];
   _object = _this select 0; 
   _rotations = _this select 1; 
   _aroundX = _rotations select 0; 
   _aroundY = _rotations select 1; 
   _aroundZ = (360 - (_rotations select 2)) - 360; 
   _dirX = 0; 
   _dirY = 1; 
   _dirZ = 0; 
   _upX = 0; 
   _upY = 0; 
   _upZ = 1; 
   if (_aroundX != 0) then { 
       _dirY = cos _aroundX; 
       _dirZ = sin _aroundX; 
       _upY = -sin _aroundX; 
       _upZ = cos _aroundX; 
   }; 
   if (_aroundY != 0) then { 
       _dirX = _dirZ * sin _aroundY; 
       _dirZ = _dirZ * cos _aroundY; 
       _upX = _upZ * sin _aroundY; 
       _upZ = _upZ * cos _aroundY; 
   }; 
   if (_aroundZ != 0) then { 
       _dirXTemp = _dirX; 
       _dirX = (_dirXTemp* cos _aroundZ) - (_dirY * sin _aroundZ); 
       _dirY = (_dirY * cos _aroundZ) + (_dirXTemp * sin _aroundZ);        
       _upXTemp = _upX; 
       _upX = (_upXTemp * cos _aroundZ) - (_upY * sin _aroundZ); 
       _upY = (_upY * cos _aroundZ) + (_upXTemp * sin _aroundZ); 		
   }; 
   _dir = [_dirX,_dirY,_dirZ]; 
   _up = [_upX,_upY,_upZ]; 
   _object setVectorDirAndUp [_dir,_up]; 

};

Bottom Section

更多维基

随机维基