海归网首页   海归宣言   导航   博客   广告位价格  
海归论坛首页 会员列表 
收 藏 夹 
论坛帮助 
登录 | 登录并检查站内短信 | 个人设置 论坛首页 |  排行榜  |  在线私聊 |  专题 | 版规 | 搜索  | RSS  | 注册 | 活动日历
主题: [原创[分享][深夜无眠Secondlife对象编程语言LSL汉化] 第十一章中英文
回复主题   printer-friendly view    海归论坛首页 -> 海归商务 -> 项目找投资与合作           焦点讨论 | 精华区 | 嘉宾沙龙 | 白领丽人沙龙
  阅读上一个主题 :: 阅读下一个主题
作者 [原创[分享][深夜无眠Secondlife对象编程语言LSL汉化] 第十一章中英文   
文清
[博客]
[个人文集]





头衔: 海归上尉

年龄: 40
加入时间: 2006/12/21
文章: 883

海归分: 8578





文章标题: [原创[分享][深夜无眠Secondlife对象编程语言LSL汉化] 第十一章中英文 (1537 reads)      时间: 2007-1-21 周日, 09:23   

作者:文清项目找投资与合作 发贴, 来自【海归网】 http://www.haiguinet.com

[原创[分享][深夜无眠之游戏软件汉化成果] Secondlife对象编程语言LSL第十一章中英文
Chapter 11. Vehicles 交通工具
Custom Vehicles can be constructed and controlled using the LSL. This chapter will cover the basics of how vehicles work, the terms used when describing vehicles, and a more thorough examination of the api available.
用LSL可以创建和控制交通工具.这张将讲述交通工具基本原理,描述交通工具的术语,以及API函数的应用.
There are several ways to make sc<x>ripted ob<x>jects move themselves around. One way is to turn the ob<x>ject into a "vehicle". This feature is versatile enough to make things that slide, hover, fly, and float. Some of the behaviors that can be enabled are:
有很多方法可以编程控制对象移动.一个方法就是把对象编程”交通工具”.这个功能可以让物体侧身,盘旋,飞翔和漂浮.一些动作可以:
• deflection of linear and angular velocity to preferred axis of motion
• 通过改变线速度和角速度来选择运动坐标
• asymmetric linear and angular friction
• 非均匀线和角度摩擦
• hoveringover terrain/water or at a global height
• 盘旋在在梯田和水面,或者以全局高度盘旋
• bankingon turns 通过倾斜转弯
• linearand angularmotor for push and turning 线和角发动机,用来推和转
________________________________________
11.1. Overview 综述
Each sc<x>ripted ob<x>ject can have one vehicle behavior that is configurable through the llSetVehicleType, llSetVehicleFloatParam, llSetVehicleVectorParam, llSetVehicleRotationParam, llSetVehicleFlags, and llRemoveVehicleFlags library calls.
每一个被编程对象都可以带一个交通工具,交通工具在llSetVehicleType, llSetVehicleFloatParam, llSetVehicleVectorParam, llSetVehicleRotationParam, llSetVehicleFlags, and llRemoveVehicleFlags中调用并组合.
These sc<x>ript calls are described in more detail below, but the important thing to notice here is that the vehicle behavior has several parameters that can be adjusted to change how the vehicle handles. Depending on the values chosen the vehicle can veer like a boat in water, or ride like a sled on rails.
下面会详细讲述这些调用指令.最重要的是一定要注意一个交通工具行为有几个参数,来改变交通工具的控制.不同的值使交通工具既可以象水中的船一样漂转,有可以象轨道上雪橇一样.
Setting the vehicle flags allow you to make exceptions to some default behaviors. Some of these flags only have an effect when certain behaviors are enabled. For example, the VEHICLE_FLAG_HOVER_WATER_ONLY will make the vehicle ignore the height of the terrain, however it only makes a difference if the vehicle is hovering.
设定交通工具旗帜可以得到默认值以外的行为.一些旗帜只能在某些行为下有效.比如, VEHICLE_FLAG_HOVER_WATER_ONLY这个函数可以让交通工具不考虑梯田高度,但是它只在交通工具盘旋的状态下有效.
________________________________________
11.2. Warnings
Vehicles are a work in progress and will likely experience changes in future versions of Second Life. Some of the details of vehicle behavior may be changed as necessary to ensure stability and user safety. In particular, many of the limits and defaults described in the appendices will probably change and should not be relied upon in the long term.
在以后几个版本的secondlife中,交通工具会改善.有些行为细节会根据稳定性和用户安全而改善.特别地,附录中一些限制和默认设置并不会长期使用.
It is not recommended that you mix vehicle behavior with some of the other sc<x>ript calls that provide impulse and forces to the ob<x>ject, especially llSetBuoyancy, llSetForce, llSetTorque, and llSetHoverHeight.
建议交通工具和其它程序调用一起使用,比如脉冲函数,对象的力量函数.特别是这几个函数: llSetBuoyancy, llSetForce, llSetTorque, and llSetHoverHeight
While the following methods probably don't cause any instabilities, their behavior may conflict with vehicles and cause undesired and/or inconsistent results, so use llLookAt, llRotLookAt, llMoveToTarget, and llTargetOmegaat your own risk.
尽管下面这些方法不会引起不稳定,但这些行为可能可能让交通工具矛盾,引起不可预料的或者不连续的结果,比如这些函数: llLookAt, llRotLookAt, llMoveToTarget, and llTargetOmega
If you think you have found a bug relating to how vehicle's work, one way to submit the problem is to give a copy of the vehicle and sc<x>ript to Andrew Linden with comments or a notecard describing the problem. Please name all submissions "Bugged Vehicle XX" where XX are your Second Life initials. The vehicle and sc<x>ript will be examined at the earliest convenience.
如果交通工具有bug,一个办法是提交问题,这样给Andrew Linden这个交通工具的程序代码拷贝及其注释,或者标识问题.请把提交报告命名为: "Bugged Vehicle XX",这个XX是你的Second Life姓名缩写. Andrew Linden公司就会尽快改善这个交通工具.
________________________________________
11.3. Definitions 定义
The terms "roll", "pitch", and "yaw" are often used to describe the modes of rotations that can happen to a airplane or boat. They correspond to rotations about the local x-, y-, and z-axis respectively.
"roll转"; "pitch掷" "yaw侧" 用来描述飞机或者轮船的旋转.分别绕X.Y.Z轴一定角度..
z-axis .
yaw-axis /|\
| __. y-axis
._ ___| /| pitch-axis
_||\ \\ |\. /
\|| \_______\_|__\_/_______
| _ _ o o o o o o o |\_ ______\ x-axis
// ./_______,----,__________) / roll-axis
/_,/ // ./
/__,/

The right-hand-rule, often introduced in beginning physics courses, is used to define the direction of positive rotation about any axis. As an example of how to use the right hand rule, consider a positive rotation about the roll axis. To help visualize how such a rotation would move the airplane, place your right thumb parallel to the plane's roll-axis such that the thumb points in the positive x-direction, then curl the four fingers into a fist. Your fingers will be pointing in the direction that the plane will spin.
按照右手定则(高中物理学过的电磁定律),定义这里的顺时针选择规则.比如:绕一个旋转轴顺时针旋转.
.-.--.--.--. __
/ / / / _ \ / \
(-(- (- (- ( | _________|______\ axis of
\.\._\._\._) | | / rotation
| \:__,---. \|/
| | + positive
\ .,_.___.' rotation
\_ ^ `.__,/
| /
| |

Many of the parameters that control a vehicle's behavior are of the form: VEHICLE_BEHAVIOR_TIMESCALE. A behavior's "timescale" can usually be understood as the time for the behavior to push, twist, or otherwise affect the vehicle such that the difference between what it is doing, and what it is supposed to be doing, has been reduced to 1/e of what it was, where "e" is the natural exponent (approximately 2.718281828). In other words, it is the timescale for exponential decay toward full compliance to the desired behavior. When you want the vehicle to be very responsive use a short timescale of one second or less, and if you want to disable a behavior then set the timescale to a very large number like 300 (5 minutes) or more. Note, for stability reasons, there is usually a limit to how small a timescale is allowed to be, and is usually on the order of a tenth of a second. Setting a timescale to zero is safe and is always equivalent to setting it to its minimum. Any feature with a timescale can be effectively disabled by setting the timescale so large that it would take them all day to have any effect.
许多控制交通工具的参数是同一个形式:函数VEHICLE_BEHAVIOR_TIMESCALE.一个行为”时间刻度”可以指用时间来设定推.转或者用来影响交通工具,比如设定它现在的行为和把其改变1/e后该有的行为.e是自然指数因子.也就是说,其行为会按照自然指数衰减. 当想要交通工具动作改变快,就把时间刻度设置大一些,比如300(5分钟)会更大.注意,因为稳定性需要,时间刻度有个最小值限制.一般按照每秒10倍变化.把时间刻度设置为0等于把它设置到其最小值.任何功能都可以通过把时间刻度设置足够大而使之失效.因为刻度大,改变一个行为可能需要花费1天时间.
________________________________________
11.4. Setting the Vehicle Type 设置交通工具类
Before any vehicle parameters can be set the vehicle behavior must first be enabled. It is enabled by calling llSetVehicleTypewith any VEHICLE_TYPE_*, except VEHICLE_TYPE_NONE which will disable the vehicle. See the vehicle type constantssection for currently available types. More types will be available soon.
在任何交通工具行为必须先激活,才可以设定交通工具参数. 通过来任何类VEHICLE_TYPE_*的函数llSetVehicleType来激活. 函数VEHICLE_TYPE_NONE会使交通工具行为失效,不可以用来激活.参考交通工具类常量.更多的交通工具类会在以后提供.
Setting the vehicle type is necessary for enabling the vehicle behavior and sets all of the parameters to its default values. For each vehicle type listed we provide the corresponding equivalent code in long format. Is is importantto realize that the defaults are notthe optimal settings for any of these vehicle types and that they will definitely be changed in the future. Do not rely on these values to be constant until specified.
为激活交通工具行为,必须设定交通工具类,以及为其各种默认值设定参数. 我们提供了每种类的代码. 请注意每种类的默认值不是特定的,在将来会改变的.不用把这些值当成常量,而不去指定.
Should you want to make a unique or experimental vehicle you will still have to enable the vehicle behavior with one of the default types first, after which you will be able to change any of the parameters or flags within the allowed ranges.
如果想要制定交通工具,必须先在某一种默认类下激活交通工具行为,然后可以改变其参数,或者在允许范围内改变其旗帜.
Setting the vehicle type does not automatically take controls or otherwise move the ob<x>ject. However should you enable the vehicle behavior while the ob<x>ject is free to move and parked on a hill then it may start to slide away.
设定交通工具类不会自动去控制和移动对象.如果激活交通工具行为,而那个对象正好是在移动或者在一个山上,它就会移动飘游.
We're looking for new and better default vehicle types. If you think you've found a set of parameters that make a better car, boat, or any other default type of vehicle then you may submit your proposed list of settings to Andrew Linden via a sc<x>ript or notecard.
我们正在建立新的默认类. 如果你自行设计了一种汽交通工具,船或者其它任何交通工具的默认类,请把你参数设置历表发送给我们.
________________________________________
11.5. Linear and Angular Deflection 线和角偏转
理解此节内容最好参考(即坐标旋转,参看高三数学解析几何.)

A common feature of real vehicles is their tendency to move along "preferred axes of motion". That is, due to their wheels, wings, shape, or method of propulsion they tend to push or redirect themselves along axes that are static in the vehicle's local frame. This general feature defines a class of vehicles and included in this category a common dart is a "vehicle": it has fins in the back such that if it were to tumble in the air it would eventually align itself to move point-forward -- we'll call this alignment effect angular deflection.
所有的交通工具都可以绕着特定的轴旋转. 根据其轮胎,交通工具翼,形状或者其绕轴驱动力的不同方法而选择不同轴. 这个轴相对交通工具自身是静止得. 这个基本特征界定了交通工具的类别以及在这个标定中的交通工具: 交通工具身后部有鳍,这样在其需要在空气中翻筋斗的时候,可以让其对准点向前—我们定义这种对准为角偏转.
A wheeled craft exhibits a different effect: when a skateboard is pushed in some direction it will tend to redirect the resultant motion along that which it is free to roll -- we'll call this effect linear deflection.
不同的轮胎工艺,不同的结果.当滑板被推向某个方向的时候,它会朝它可以自由旋转的方向前进.我们将此效应称为:线性偏转.
So a typical Second Life vehicle is an ob<x>ject that exhibits linear and/or angular deflection along the "preferential axes of motion". The default preferential axes of motion are the local x- (at), y- (left), and z- (up) axes of the local frame of the vehicle's root primitive. The deflection behaviors relate to the x-axis (at): linear deflection will tend to rotate its velocity until it points along it's positive local x-axis while the angular deflection will tend to reorient the vehicle such that it's x-axis points in the direction that it is moving. The other axes are relevant to vehicle behaviors that are described later, such as the vertical attractor which tries to keep a vehicle's local z-axis pointed toward the world z-axis (up). The vehicle axes can be rotated relative to the ob<x>ject's actual local axes by using the VEHICLE_REFERENCE_FRAME parameter, however that is an advanced feature and is covered in detail in a later section of these documents.
一个典型的secondlife对象可以朝着其选择的轴进行线性或者角偏转. 在交通工具的原始部落的坐标下, 默认的轴,是本地轴X,左边Y轴,Z轴向上.偏转是相对于本地轴而言: 线性偏转会使旋转线速率变化,直至指向X轴正向,而角偏转则是使X轴按照其移动发现旋转.(即坐标旋转,参看高三数学解析几何.)
Depending on the vehicle it might be desirable to have lots of linear and/or angular deflection or not. The speed of the deflections are controlled by setting the relevant parameters using the llSetVehicleFloatParam sc<x>ript call. Each variety of deflection has a "timescale" parameter that determines how quickly a full deflection happens. Basically the timescale it the time coefficient for exponential decay toward full deflection. So, a vehicle that deflects quickly should have a small timescale. For instance, a typical dart might have a angular deflection timescale of a couple of seconds but a linear deflection of several seconds; it will tend to reorient itself before it changes direction. To set the deflection timescales of a dart you might use the lines below:
不同的交通工具,线性和角偏转不同. 通过函数llSetVehicleFloatParam 来设定相关参数改变偏转速度. 每个偏转速率都有一个时标参数,这个参数可以决定偏转变化快慢. 一般这个时标是针对全速偏转的指数衰减函数的系数. 因此, 时标越小,也就是指数函数系数小,一个交通工具偏转会越快. 例如,一个典型的投掷可能由好几秒钟的角偏转和几秒钟的线性偏转组成, 在它改变方向之前,它会自转. 用下面两行来设定一个投掷行为的时标:
llSetVehicleFloatParam(VEHICLE_ANGULAR_DEFLECTION_TIMESCALE, 2.0);
llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_TIMESCALE, 6.0);

Each variety of deflection has an "efficiency" parameter that is a slider between 0.0 and 1.0. Unlike the other efficiency parameters of other vehicle behaviors, the deflection efficiencies do not slide between "bouncy" and "damped", but instead slide from "no deflection whatsoever" (0.0) to "maximum deflection" (1.0). That is, they behave much like the deflection timescales, however they are normalized to the range between 0.0 and 1.0.
每一种偏转的速率有效率参数, 一个在0.0 到1.0的数字.不像其它设定交通工具行为的效率参数, 这个偏转参数不会在”完全弹性”和”阻尼”态, 而是从”没有任何偏转(0.0)”到”最大偏转(1.0)”. 它们类似偏转时标,变化范围从0.0 到 1.0
________________________________________
11.6. Moving and Steering the Vehicle移动和控制交通工具.
Once enabled, a vehicle can be pushed and rotated by external forces and/or from sc<x>ript calls such as llApplyImpulse, however linear and angular motors have been built in to make motion smoother and easier to control. Their directions can be set using the llSetVehicleVectorParam call. For example, to make the vehicle try to move at 5 meters/second along its local x-axis (the default look-at direction) you would put the following line in your sc<x>ript:
一旦激活,一个交通工具可以通过外力或者调用函数llApplyImpulse实现推行或者旋转.然而线性和角发动机是内嵌的,以使其运动更加平滑和易于控制.通过函数llSetVehicleVectorParam调用可以设定其方向.比如,实现一个交通工具沿其X轴,也就是观察到的当前轴方向每秒位移5米, 通过这个以下指令就可以:
llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, <5>);

The motor strength is not the full story, since you can also control how fast the motor engages (VEHICLE_LINEAR_MOTOR_TIMESCALE) and there is a parameter that causes the motor's effectiveness to decay over time (VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE).
除了上述有控制发动机的力量的函数, 还有函数(VEHICLE_LINEAR_MOTOR_TIMESCALE)控制其引擎速度. 发动机的效率随时间递减的参数函数为: (VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE)
Steering the vehicle involves setting the VEHICLE_ANGULAR_MOTOR_DIRECTION and related parameters. It is also possible to set some flags that allow the angular motor slave to your camera view when in mouselook.
控制一辆交通工具,涉及到设定函数VEHICLE_ANGULAR_MOTOR_DIRECTION及其相关参数. 也可以通过设定一些旗帜来允许角发动机为”Camera”“视角”服务.
For more details about the vehicle motors read the sections on the linear and angular motors below.
更多内容请参考线和角”Motor(发动机)”.
________________________________________
11.7. The Linear Motor 线Motor(发动机)”
The parameters that control the linear motor are:
控制线”Motor(发动机)”的参数如下:
• VEHICLE_LINEAR_MOTOR_DIRECTION
A vector. It is the velocity (meters/sec) that the vehicle will try to attain. It points in the vehicle's local frame, and has a maximum length of 40.
• 函数VEHICLE_LINEAR_MOTOR_DIRECTION,一个矢量.表征交通工具达到的速度.单位米/秒.起点在交通工具身上,最大长度为40

• VEHICLE_LINEAR_MOTOR_OFFSET
A vector. It is the offset point from the vehicle's center of mass at which the linear motor's impulse is applied. This allows the linear motor to also cause rotational torque. It is in the vehicle's local frame and its maximum length is 100 meters! No need to worry about stability -- if the vehicle starts to spin too fast (greater than about 4*PI radians per second) then angular velocity damping will kick in. The reason the offset is allowed to be so large is so that it can compete with the other vehicle behaviors such as angular deflection and the vertical attractor. Some of the other vehicle behaviors may drastically reduce the effective torque from the linear motor offset, in which case a longer leverage arm may help.
一个矢量.指与交通工具的中心点偏置的位移,线”Motor(发动机)”的启动就从这个中心点开始.这也是”Motor(发动机)”产生转力矩.这个矢量起始于交通工具身,最大长度达100米.而且无需担心稳定性---如果交通工具旋转过快(超过44*P弧度),角速度就会下降.这就是这个偏置可以大达100米的原因,因为这样它可以和其它交通工具的行为展开竞争.比如行为角偏差,垂直吸收. 其它一些交通工具行为可能引起线”Motor(发动机)”偏置,造成非常大的转力矩效应降低,这种情况下,平衡力臂可以缓冲这种降低.
• VEHICLE_LINEAR_MOTOR_TIMESCALE
A float. Determines how long it takes for the motor to push the vehicle to full speed. Its minimum value is approximately 0.06 seconds.
一个浮量.决定发动机推动交通工具达到全速需要的时间.最小值大约为0.06秒.
• VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE
A float. The effectiveness of the motor will exponentially decay over this timescale, but the effectiveness will be reset whenever the motor's value is explicitly set. The maximum value of this decay timescale is 120 seconds, and this timescale is always in effect.
一个浮量.发动机效率随时间刻度指数下降,但是如果发动机的值被明确设定的时候,发动机效率会被重置.最大衰减时标为120秒, 这个时标一直有效.
The flags that affect the linear motor are:
影响线发动机的旗帜:
• VEHICLE_FLAG_LIMIT_MOTOR_UP
Useful for "ground vehicles". Setting this flag will clamp the z-component of the linear motor (in world frame) to prevent it from defeating gravity.
对”地交通工具”有用.这个旗帜用来夹住线发动机的Z轴部件,以防止地心引力影响.这个Z轴是针对secondlife坐标而言.
Setting the motor speed is not enough to enable all interesting vehicles. For example, some will want a car that immediately gets up to the speed they want, while others will want a boat that slowly climbs up to its maximum velocity. To control this effect the VEHICLE_LINEAR_MOTOR_TIMESCALE parameter can be used. Basically the "timescale" of a motor is the time constant for the vehicle to exponentially accelerate toward its full speed.
设计一个优秀的交通工具,光设定发动机速度是不够的.比如,有人会想要一辆可以马上达到他想要的速度的交通工具,而有些人则想要一个船,一个可以慢慢达到其最大速度的船.函数VEHICLE_LINEAR_MOTOR_TIMESCALE可以用来设定参数以实现控”交通工具”还是”船”的控制.基本上,对于一辆指数增速到其全速的交通工具,其发动机的时标是一个常数.
What would happen if you were to accidentally set the vehicle's linear velocity to maximum possible speed and then let go? It would run away and never stop, right? Not necessarily: an automatic "motor decay" has been built in such that all motors will gradually decrease their effectiveness after being set.
如果不小心设定交通工具线速达到其可能最大值并让其发动了,这会产生什么现象呢?交通工具会跑远并永远停不下来吗? 事实并非如此.一个自动的”发动机衰减器”内嵌在这种发动机里,这样在设定好后,发动机会自动衰减其效率.
Each time the linear motor's vector is set its "grip" immediately starts to decay exponentially with a timescale determined by the VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE, such that after enough time the motor ceases to have any effect. This decay timescale serves two purposes. First, since it cannotbe set longer than 120 seconds, and is alwaysenabled it guarantees that a vehicle will not push itself about forever in the absence of active control (from keyboard commands or some logic loop in the sc<x>ript). Second, it can be used to push some vehicles around using a simple impulse model. That is, rather than setting the motor "on" or "off" depending on whether a particular key is pressed "down" or "up" the decay timescale can be set short and the motor can be set "on" whenever the key transitions from "up" to "down" and allowed to automatically decay.
每次线发动机矢量设定其方向盘,然后启动,并按照指数衰减,指数衰减时标则由函数VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE决定, 这样在一定时间后,发动机就静止了.这个衰减时标有两个用途.一呢,因为它最长不超过120秒,而且它永远设置为有效,以防止交通工具在没有控制(如键盘控制,或者通过程序指令控制)的情况下,永远前进不停止.第二个目的, 它可以用来推进某些交通工具达到一种脉冲模型效果. 而不是设定交通工具启动或者停止.这在通过特定键来”上””下”移动衰减时标值,以使交通工具在”发动”状态下,随着不同的衰减时标而随之自动衰减速度.
Since the motor's effectiveness is reset whenever the motor's vector is set, then setting it to a vector of length zero is different from allowing it to decay completely. The first case will cause the vehicle to try to reach zero velocity, while the second will leave the motor impotent.
既然发动机在交通工具矢量设定的时候,会被清零重置,那么设定它为矢量长度0就和其完全衰减不同. 前一种情况会使交通工具达到速度为0,而后一种情况则让发动机停止.
The two motor timescales have very similar names, but have different effects, so try not to get them confused. VEHICLE_LINEAR_MOTOR_TIMESCALE is the time for motor to "win", and VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE is the time for the motor's "effectiveness" to decay toward zero. If you set one when you think you are changing the other you will have frustrating results. Also, if the motor's decay timescale is shorter than the regular timescale, then the effective magnitude of the motor vector will be diminished.
两种发动机时标有类似的名字,但是不同的用途,因此不要混淆.函数VEHICLE_LINEAR_MOTOR_TIMESCALE是让发动机”赢”的时间,而函数VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE是让发动机的效率衰减到零的时间.错误的使用只有错误的结果.同时,发动机衰减时标比一般的时标短,发动机矢量的有效数量级会减少.
________________________________________
11.8. The Angular Motor 角发动机
The parameters that control the angular motor are:
控制角发动机的参数:
• VEHICLE_ANGULAR_MOTOR_DIRECTION
A vector. It is the angular velocity (radians/sec) that the vehicle will try to rotate. It points in the vehicle's local frame, and has a maximum value of 4*PI (two revolutions per second).
一个矢量.这是交通工具旋转的角速度矢量.它的原点在交通工具身,最大值4*PI,即每秒2周.
• VEHICLE_ANGULAR_MOTOR_TIMESCALE
A float. Determines how long it takes for the motor to spin the vehicle to full speed. Its minimum value is approximately 0.06 seconds.
一个浮量.觉得发动机使交通工具旋转到最大角速度的时间.最小值大约0.06秒.
• VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE
A float. The effectiveness of the motor will exponentially decay over this timescale, but the effectiveness will be reset whenever the motor's value is explicitly set. The maximum value of this decay timescale is 120 seconds, and this timescale is always in effect.
一个浮量.发动机效率会随这个时标指数衰减,但是同样在发动机被设定的时候,其效率会清零重置.这个衰减时标最大值为120秒,且它始终有效.
Like the linear motor the angular motor can be set explicitly, and has magnitude/direction, a timescale, and a decay timescale.
和线发动机一样,角发动机可以直接设置,有幅度/方向,时标,衰减时标等参数.
When it comes to actually steering a vehicle there are several ways to do it. One way would be for the sc<x>ript to grab keyboard input and to explicitly turn the motor on/off ba<x>sed on which keys are pressed. When steering this way you probably don't want it to turn very far or for very long. One way to do it using the angular motor would be to leave the decay timescale long, enable a significant amount of angular friction (to quickly slow the vehicle down when the motor is turned off) then set the angular motor to a large vector on a key press, and set it to zero when the key is released. That has the effect of making the vehicle unresponsive to external collisions, due to the angular friction.
当需要真正控制一辆交通工具的时候,有几种方法.一种是通过键盘控制,这种方法不适用于远和长距离的交通工具运行.另一种方法是通过角发动机,让衰减时标设置比较大,产生非常大的角摩擦(以使交通工具迅速减速和发动机停止),在通过按一下键盘来设置角发动机为一个比较大的矢量,当键盘松开后,它被设置为0.这可以让交通工具凭借其角摩擦,而不受外部碰撞干扰.
Another way to do it is to set the VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE to a short value and push the vehicle about with a more impulsive method that sets the motor fast on a key press down (and optionally setting the motor to zero on a key up) relying on the automatic exponential decay of the motor's effectiveness rather than a constant angular friction.
另一个方法是设定函数VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE到一个比较小的值,来推动交通工具以一种更加冲的方式前进,通过按住一个键给发动机加速,松开键让其发动机为0.这通过发动机的自动指数衰减实现,而不是一个角摩擦常数.
Finally, it may be possible to discard the angular motor entirely and use the VEHICLE_LINEAR_MOTOR_OFFSET. Whenever the offset has a component that is perpendicular to the direction of the linear motor the vehicle will rotate as it travels. Note, with the incorrect values for offset and strength the linear motor effect can easily cause the vehicle to tumble and spin uncontrollably, so experiement with small offsets first!.
最后,通过函数VEHICLE_LINEAR_MOTOR_OFFSET可以完全不使用角发动机.一旦偏置有部件和线发动机垂直,交通工具就会旋转.注意,错误的设定偏置和交通工具的线发动机力量,会很容易翻交通工具,或者使交通工具失去控制的旋转,所以,刚开始,最好一次比较小偏置的做实验.
Setting the angular motor to zero magnitude is different from allowing it to decay. When the motor completely decays it no longer affects the motion of the vehicle, however setting it to zero will reset the "grip" of the vehicle and will make the vehicle try to achieve zero angular velocity.
设定角发动机为0,和允许其衰减不同.当发动机完全衰减,它不再影响交通工具的运动,但是设定其角发动机为0,则会重置”方向盘”,让交通工具的角速度变为0.
Many real vehicles bank (roll about their forward axis) to effect a turn, such as motorcycles and airplanes. To make it easier to build banking vehicles there is banking behavior available which can be controlled by setting other parameters and is described in more detail here.
许多真实的交通工具以倾斜方式(绕其前进方向滚动)以达到转弯目的,比如摩托交通工具和飞机.为了更方便建立倾斜交通工具行为,有函数库倾斜行为,通过设定其它参数来控制倾斜. 这在后面后详细介绍.
It is also possible to make a vehicle turn in response to changing the camera view (right now this only works in mouselook).
________________________________________
11.9. Using the Camera to Steer
The vehicle can be instructed to rotate its forward axis to point in the same direction as the camera view. This is achieved by setting some flags that change how the VEHICLE_ANGULAR_MOTOR_DIRECTION is interpreted. When used properly this feature has the advantage of being able to provide simple and stable steering that is resilient to bad render frame rates on the client.
交通工具子可以通过”Camera”“视角”的方向来引导其前进.这通过设定一些旗帜,在函数VEHICLE_ANGULAR_MOTOR_DIRECTION中体现出来.当设定正确,这些特征可以提供简单和稳定的控制.
The flags that affect the angular motor are:
影响角发动机的旗帜:
• VEHICLE_FLAG_MOUSELOOK_STEER
Steer the vehicle using the mouse. Use this flag to make the angular motor try to make the vehicle turn such that its local x-axis points in the same direction as the client-side camera.
通过鼠标控制交通工具.这俄国旗帜可以让角发动机让交通工具转弯,比如让其本地X轴指向客户端”Camera”“视角”.
• VEHICLE_FLAG_MOUSELOOK_BANK
Same as above, but relies on banking. It remaps left-right motions of the client camera (also known as "yaw") to rotations about the vehicle's local x-axis (also known as "roll").
这个旗帜和上面那个相同,只是依靠倾斜.它改变客户”Camera”“视角”(偏航)的左右运动,来选择交通工具的本地X轴(滚动).
• VEHICLE_FLAG_CAMERA_DECOUPLED
Makes mouselook camera rotate independently of the vehicle. By default the client mouselook camera will rotate about with the vehicle, however when this flag is set the camera direction is independent of the vehicle's rotation.
是鼠标搜寻”Camera”“视角”独立于交通工具旋转.默认设置,客户鼠标搜寻”Camera”“视角”会绕交通工具旋转,却是在旗帜设定”Camera”“视角”方向独立于交通工具的旋转时.
When using the VEHICLE_FLAG_MOUSELOOK_STEER (or VEHICLE_FLAG_MOUSELOOK_BANK) the meaning of the VEHICLE_ANGULAR_MOTOR_DIRECTION parameter subtly changes. Instead of representing the "angular velocity" of the motor the components of the parameter scale the "measured angular velocity" (as determined by the rotation between the client's camera view direction and the forward-axis of the vehicle) to compute the "final angular velocity". That is, suppose you set the angular motor to <0>, then moved the camera view to be PI/4 radians to the left of the vehicle's forward axis, and down PI/8 toward the ground. The measured angular velocity would be <0> radians/second, but the final velocity would be <0>... the vehicle will turn left, but will not dip its nose down. Thus, by setting a component of the VEHICLE_ANGULAR_MOTOR_DIRECTION to zero, one can negate the pitch or yaw response of the motor, or even scale one to be much more responsive than the other.
当用函数VEHICLE_FLAG_MOUSELOOK_STEER (or VEHICLE_FLAG_MOUSELOOK_BANK)时候,函数VEHICLE_ANGULAR_MOTOR_DIRECTION的参数含义有所改变.不再代表角速度,而是测定的角速度,通过客户”Camera”“视角”方向和交通工具前进轴之间的偏转决定,这样来计算最后角速度.假设设定角发动机为<0>,然后移动”Camera”“视角”视野到PI/4 弧度到交通工具前进轴的左面,然后下降PI/8到地面.这个测定的角速度会是<0> 弧度/秒,最后的速度是<0>.这个交通工具转左,却不会鼻子朝下冲到地上.因此,通过设定函数的一个部件为0,可以消除发动机偏航或者堕落的效应,甚至可以更好的设定.
The VEHICLE_ANGULAR_MOTOR_TIMESCALE still has an effect when using mouselook control, and scales the global responsiveness of the angular motor. The VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE, on the other hand, is ignored when using mouselook controls.
函数VEHICLE_ANGULAR_MOTOR_TIMESCALE 在用到鼠标控制的时候,仍然有效.可以量衡角发动机的全局反馈.也可以在用鼠标控制的时候,不考虑这个函数VEHICLE_ANGULAR_MOTOR_TIMESCALE
________________________________________
11.10. The Vertical Attractor 引力效应
Some vehicles, like boats, should always keep their up-side up. This can be done by enabling the "vertical attractor" behavior that springs the vehicle's local z-axis to the world z-axis (a.k.a. "up"). To take advantage of this feature you would set the VEHICLE_VERTICAL_ATTRACTION_TIMESCALE to control the period of the spring frequency, and then set the VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY to control the damping. An efficiency of 0.0 will cause the spring to wobble around its equilibrium, while an efficiency of 1.0 will cause the spring to reach it's equilibrium with exponential decay.
l一些交通工具类,比如船,会永远保持”上—边上”的状态.这可以通过”Vertical Attractor”行为来实现,这个行为可以激发交通工具的本地Z轴沿着Secondlife的Z轴.可以通过设定函数VEHICLE_VERTICAL_ATTRACTION_TIMESCALE来利用这个特点,控制激发频率范围,设定函数VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY来控制其衰减.系数0.0会造成激发绕其平衡点颤动,而系数1.0则让激发达到其平衡点,没有任何指数衰减.
lSetVehicleVectorParam(VEHICLE_VERTICAL_ATTRACTION_TIMESCALE, 4.0);
llSetVehicleVectorParam(VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY, 0.5);

The vertical attractor is disabled by setting its timescale to anything larger than 300 seconds.
设定时标超过30秒,Vertical Attractor行为则失效.
Note that by default the vertical attractor will prevent the vehicle from diving and climbing. So, if you wanted to make a airplane you would probably want to unlock the attractor around the pitch axis by setting the VEHICLE_FLAG_LIMIT_ROLL_ONLY bit:
主要默认设置中,”Vertical Attractor”可以防止交通工具俯冲或者攀升.因此,如果要设计一个飞机,必须把”吸引”从其定轴释放出来.这可以通过设定函数VEHICLE_FLAG_LIMIT_ROLL_ONLY的位来实现:
llSetVehicleFlags(VEHICLE_FLAG_LIMIT_ROLL_ONLY);

________________________________________
11.11. Banking倾斜
The vertical attractorfeature must be enabled in order for the banking behavior to function. The way banking works is this: a rotation around the vehicle's roll-axis will produce a angular velocity around the yaw-axis, causing the vehicle to turn. The magnitude of the yaw effect will be proportional to the VEHICLE_BANKING_EFFICIENCY, the angle of the roll rotation, and sometimes the vehicle's velocity along it's preferred axis of motion.
一些Vertical Attractor行为的功能可以必须激发,这样倾斜行为才有效.倾斜行为工作方式:绕交通工具滚动轴的旋转会产生绕其偏航轴(Y轴)的角速度,是车转弯.偏航效应副值和函数VEHICLE_BANKING_EFFICIENCY成比例,滚动旋转的角度,有时交通工具绕其本来轴运动的速度等.
The VEHICLE_BANKING_EFFICIENCY can vary between -1 and +1. When it's positive then any positive rotation (by the right-hand rule) about the roll-axis will effect a (negative) torque around the yaw-axis, making it turn to the right -- that is the vehicle will lean into the turn, which is how real airplanes and motorcycle's work. Negating the banking coefficient will make it so that the vehicle leans to the outside of the turn (not very "physical" but might allow interesting vehicles so why not?).
函数VEHICLE_BANKING_EFFICIENCY的值在-1到+1之间变动.在为正的时候,任何绕其滚动轴的正方向旋转(右手定则)都会产生一个负的力矩绕其偏航轴, 使其向右转—这就是车倾斜转弯,飞机和摩托车都是如此.消除倾斜系数可以让车倾斜到转弯之外(物理上不可实现,但是可以实现非常有趣的交通工具,为什么不呢?)
The VEHICLE_BANKING_MIX is a fake (i.e. non-physical) parameter that is useful for making banking vehicles do what you want rather than what the laws of physics allow. For example, consider a real motorcycle... it must be moving forward in order for it to turn while banking, however video-game motorcycles are often configured to turn in place when at a dead stop -- because they're often easier to control that way using the limited interface of the keyboard or game controller. The VEHICLE_BANKING_MIX enables combinations of both realistic and non-realistic banking by functioning as a slider between a banking that is correspondingly totally static (0.0) and totally dynamic (1.0). By "static" we mean that the banking effect depends only on the vehicle's rotation about it's roll-axis compared to "dynamic" where the banking is also proportional to it's velocity along it's roll-axis. Finding the best value of the "mixture" will probably require trial and error.
函数VEHICLE_BANKING_MIX是虚假的(物理上不存在)参数,这在倾斜车中有用,可以得到物理定律中不允许的一些效果.比如,考虑一辆真的摩托车,它必须在倾斜中,边前进边转弯. 但是视频游戏中的摩托车可以直接转弯,而不需要转弯同时前进,这样在之后键盘或者游戏把手控制的情况下,就更轻易的控制车了.函数VEHICLE_BANKING_MIX允许非现实的和现实的倾斜, 这通过激活一个倾斜中的滑行器实现. 系数可以是全静止static (0.0)到全变化 (1.0). 在静止态,倾斜只和滚动轴的滚动有关,而在全变化态,倾斜还和交通工具绕其滚动轴的速度有关.得到最后的”mixer”值,需要不断实验验证.
The time it takes for the banking behavior to defeat a pre-existing angular velocity about the world z-axis is determined by the VEHICLE_BANKING_TIMESCALE. So if you want the vehicle to bank quickly then give it a banking timescale of about a second or less, otherwise you can make a sluggish vehicle by giving it a timescale of several seconds.
现在通过函数VEHICLE_BANKING_TIMESCALE.实现倾斜行为,来抵抗绕Z轴预存在的角速度.如果想交通工具快速倾斜,则给其一个大约1秒的时标,如果时标几秒的话,交通工具行动将非常迟缓.
________________________________________
11.12. Friction Timescales 摩擦时标
VEHICLE_LINEAR_FRICTION_TIMESCALE is a vector parameter that defines the timescales for the vehicle to come to a complete stop along the three local axes of the vehicle's reference frame. The timescale along each axis is independent of the others. For example, a sliding ground car would probably have very little friction along its x- and z-axes (so it can easily slide forward and fall down) while there would usually significant friction along its y-axis:
VEHICLE_LINEAR_FRICTION_TIMESCALE 是矢量参数,定义交通工具沿着本地3个轴方向(vehicle's reference frame)完全停止的时标.沿着每个轴的时标是彼此独立的.比如,一个滑行的地面车在其X轴和Z轴比较少摩擦, 而在Y轴则摩擦非常大:
llSetVehicleVectorParam(VEHICLE_LINEAR_FRICTION_TIMESCALE, <1000>);

Remember that a longer timescale corresponds to a weaker friction, hence to effectively disable all linear friction you would set all of the timescales to large values.
时标越长,对应的摩擦越小,因此要得到很小的线摩擦越,需要设定比较大的时标值.
Setting the linear friction as a scalar is allowed, and has the effect of setting all of the timescales to the same value. Both code snippets below are equivalent, and both make friction negligible:
在标量下,设定线摩擦,可以使所有的时标都是相同值.下面的两行代码效果都一样,都可以使摩擦减小到忽略不计.
// set all linear friction timescales to 1000
llSetVehicleVectorParam(VEHICLE_LINEAR_FRICTION_TIMESCALE, <1000>);

// same as above, but fewer characters
llSetVehicleFloatParam(VEHICLE_LINEAR_FRICTION_TIMESCALE, 1000);

VEHICLE_ANGULAR_FRICTION_TIMESCALE is also a vector parameter that defines the timescales for the vehicle to stop rotating about the x-, y-, and z-axes, and are set and disabled in the same way as the linear friction.
函数VEHICLE_ANGULAR_FRICTION_TIMESCALE也是一个矢量参数,定义交通工具在三个轴负方向完全停止的时标,设定方式和线摩擦一样.
________________________________________
11.13. BuoyancyBuoyancy漂浮
The vehicle has a built-in buoyancy feature that is independent of the llSetBuoyancycall. It is recommended that the two buoyancies do not mix! To make a vehicle buoyant, set the VEHICLE_BUOYANCY parameter to something between -1.0 (extra gravity) to 1.0 (full anti-gravity).
交通工具有内置Buoyancy漂浮特性,且和调用函数llSetBuoyancy相互独立.不要将两种Buoyancy漂浮混合.为了设定交通工具的Buoyancy漂浮,设定函数VEHICLE_BUOYANCY的参数在-1.0 (超重) 到 1.0之间 (完全失重).
The buoyancy behavior is independent of hover, however in order for hover to work without a large offset of the VEHICLE_HOVER_HEIGHT, the VEHICLE_BUOYANCY should be set to 1.0.
Buoyancy漂浮行为独立于盘旋,但是在需要盘旋行为有效而不会使函数VEHICLE_HOVER_HEIGHT产生很大偏置的时候,需要把函数VEHICLE_BUOYANCY设置为1.0(失重态)
It is not recommended that you mix vehicle buoyancy with the llSetBuoyancysc<x>ript call. It would probably cause the ob<x>ject to fly up into space.
不要把Buoyancy漂浮行为和指令llSetBuoyancy调用混合,这会使对象Buoyancy漂浮到空中.
________________________________________
11.14. Hover盘旋
The hover behavior is enabled by setting the VEHICLE_HOVER_TIMESCALE to a value less than 300 seconds; larger timescales totally disable it. Most vehicles will work best with short hover timescales of a few seconds or less. The shorter the timescale, the faster the vehicle will slave to is target height. Note, that if the values of VEHICLE_LINEAR_FRICTION_TIMESCALE may affect the speed of the hover.
盘旋行为通过VEHICLE_HOVER_TIMESCALE来激活,不超过300秒;时标值越大,盘旋能力越小.许多交通工具都在比较短的时标,比如几秒或者更短的时标设定下,工作最好.时标越短,交通工具越方便盘旋得更高. 主要,函数VEHICLE_LINEAR_FRICTION_TIMESCALE的值可能影响盘旋的速度.
Hover is independent of buoyancy, however the VEHICLE_BUOYANCY should be set to 1.0, otherwise the vehicle will not lift itself off of the ground until the VEHICLE_HOVER_HEIGHT is made large enough to counter the acceleration of gravity, and the vehicle will never float all the way to its target height.
盘旋和Buoyancy漂浮是彼此独立的,但是需要把函数VEHICLE_BUOYANCY设置为1.0(失重态),否则交通工具直到VEHICLE_HOVER_HEIGHT的值大到足够抵抗重力加速度时候才会起飞,并且交通工具永远达不到预定的高度.

The VEHICLE_HOVER_EFFICIENCY can be thought of as a slider between bouncy (0.0) and smoothed (1.0). When in the bouncy range the vehicle will tend to hover a little lower than its target height and the VEHICLE_HOVER_TIMESCALE will be approximately the oscillation period of the bounce (the real period will tend to be a little longer than the timescale).
VEHICLE_HOVER_EFFICIENCY可以当成在between bouncy (0.0) and smoothed (1.0)之间的一个滑行器.在bouncy范围内,交通工具会比预定目标低一些盘旋.而VEHICLE_HOVER_TIMESCALE的值会在bounce阶段振东.(真正的时间会比时标更长一些.)
For performance reasons, until improvements are made to the Second Life physics engine the vehicles can only hover over the terrain and water, so they will not be able to hover above ob<x>jects made out of primitives, such as bridges and houses. By default the hover behavior will float over terrain and water, however this can be changed by setting some flags:
为了更好的性能,除非secondlife的物理引擎更好,交通工具只能在梯田和水上盘旋,因此他们不能在原始世界的对象上面盘旋,比如桥梁,房屋. 默认状态下,盘旋行为会Buoyancy漂浮在梯田和水上,通过以下旗帜的设定可以改变:
If you wanted to make a boat you should set the VEHICLE_HOVER_WATER_ONLY flag, or if you wanted to drive a hover tank under water you would use the VEHICLE_HOVER_TERRAIN_ONLY flag instead. Finally, if you wanted to make a submarine or a balloon you would use the VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT. Note that the flags are independent of each other and that setting two contradictory flags will have undefined behavior. The flags are set using the sc<x>ript call llSetVehicleFlags().
可以通过设定VEHICLE_HOVER_WATER_ONLY旗帜造一艘船,或者通过VEHICLE_HOVER_TERRAIN_ONLY旗帜设定来驾驶一辆盘旋坦克. 最后, 通过设定旗帜VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT得到一艘核艇或者一个气球. 主要旗帜间是彼此独立的.设定两个矛盾的旗帜会是定义行为失效.通过调用函数llSetVehicleFlags()来定义这些旗帜.
The VEHICLE_HOVER_HEIGHT determines how high the vehicle will hover over the terrain and/or water, or the global height, and has a maximum value of 100 meters. Note that for hovering purposes the "center" of the vehicle is its "center of mass" which is not always obvious to the untrained eye, and it changes when avatar's sit on the vehicle.
旗帜VEHICLE_HOVER_HEIGHT决定交通工具盘旋在梯田或者水面的高度,或者全局高度,最大值为100米. 主要盘旋时候,交通工具的中心是其”质心”,这对于没有经验的人,不是很明显;而且这个”质心”还会随交通工具的负载而改变.
________________________________________
11.15. Reference Frame 参考坐标
The vehicle relies on the x- (at), y- (left), and z- (up) axes in order to figure out which way it prefers to move and which end is up. By default these axes are identical to the local axes of the root primitive of the ob<x>ject, however this means that the vehicle's root primitive must, by default, be oriented to agree with the designed at, left, and up axes of the vehicle. But, what if the vehicle ob<x>ject was already pre-built with the root primitive in some non-trivial orientation relative to where the vehicle as a whole should move? This is where the VEHICLE_REFERENCE_FRAME parameter becomes useful; the vehicle's axes can be arbitrarily reoriented by setting this parameter.
交通工具通过X轴(当前方向),Y轴(左)和Z轴(上)来描述其移动方向及其尽头.默认状态下, 这些轴和对象的原始部落的本地轴相同,但是这意味着交通工具的原始部落,必须和预先设定的交通工具的本地轴,左轴及上部轴保持一致.但是,如果交通工具的对象和一些原始部落都预先设定在非常不同的方向上,那么交通工具整体该朝哪个方向移动? 这时候,可以通过设定函数VEHICLE_REFERENCE_FRAME的参数来任意改变交通工具的轴的方向.
As an example, suppose you had built a rocket out of a big cylinder, a cone for the nose, and some stretched cut boxes for the fins, then li<x>nked them all together with the cylinder as the root primitive. Ideally the rocket would move nose-first, however the cylinder's axis of symmetry is its local z-axis while the default "at-axis" of the vehicle, the axis it will want to deflect to forward under angular deflection, is the local x-axis and points out from the curved surface of the cylinder. The sc<x>ript code below will rotate the vehicle's axes such that the local z-axis becomes the "at-axis" and the local negative x-axis becomes the "up-axis":
比如,假设要在一个圆柱体内构架一个火箭,一个圆锥做鼻子,一些突出厢做鳍,然后通过圆柱体把他们连接起来,作为一个原始部落.理想状态下,火箭会先移动鳍鼻子,但是,圆柱体的等位轴是其本地Z轴,而默认的交通工具的当前轴则是本地X轴,会指向圆柱体弯曲表面,圆柱会在角偏下偏转.下面这个指令会使交通工具的轴旋转,以使本地Z轴成为当年轴,本地负X轴成为向上的轴:
// rotate the vehicle frame -PI/2 about the local y-axis (left-axis)
rotation rot = llEuler2Rot(0, PI/2, 0);
llSetVehicleRotationParam(VEHICLE_REFERENCE_FRAME, rot);
Another example of how the reference frame parameter could be used is to consider flying craft that uses the vertical attractor for stability during flying but wants to use VTOL (vertical takeoff and landing). During flight the craft's dorsal axis should point up, but during landing its nose-axis should be up. To land the vehicle: while the vertical attractor is in effect, rotate the existing VEHICLE_REFERENCE_FRAME by +PI/2 about the left-axis, then the vehicle will pitch up such that it's nose points toward the sky. The vehicle could be allowed to fall to the landing pad under friction, or a decreasing hover effect.
另一个例子是参考坐标参数可以用来考虑飞行器,在飞行中想用VTOL(垂直起飞和降落),用Vertical Attractor器来实现稳定.在飞行中,飞行器背轴应朝上,在降落时候,它的鼻子轴应朝上. 为了降落交通工具,在vertical attractor有效时,绕左边轴,旋转存在的VEHICLE_REFERENCE_FRAME坐标+PI/2弧度,然后交通工具会掷下,其鼻子指向天空. 交通工具可以在摩擦阻力下,降落到降落板上,或者以衰减的盘旋方式降落.
________________________________________
Appendix A. Linden Library Functions
Complete listing of the Linden Library function calls available in lsl.
附录A: Linden函数库


作者:文清项目找投资与合作 发贴, 来自【海归网】 http://www.haiguinet.com









相关主题
[原创[分享][深夜无眠Secondlife对象编程语言LSL汉化] 第... 创业论坛 2007-1-21 周日, 09:26
[原创[分享][深夜无眠Secondlife对象编程语言LSL汉化] 说明 创业论坛 2007-1-21 周日, 09:45
[原创[分享][深夜无眠Secondlife对象编程语言LSL汉化] 目... 创业论坛 2007-1-21 周日, 09:35
[原创[分享][深夜无眠Secondlife对象编程语言LSL汉化] 第三... 创业论坛 2007-1-21 周日, 09:33
[原创[分享][深夜无眠Secondlife对象编程语言LSL汉化] 第... 创业论坛 2007-1-21 周日, 09:32
[原创[分享][深夜无眠Secondlife对象编程语言LSL汉化] 第... 创业论坛 2007-1-21 周日, 09:31
[分享]转贴:中国向传统文化寻找出路 (英文) 海归主坛 2009-7-12 周日, 15:11
[分享]另一篇关于中国问题的文章,英文版 海归主坛 2009-7-12 周日, 15:07

返回顶端
阅读会员资料 文清离线  发送站内短信
  • [原创[分享][深夜无眠Secondlife对象编程语言LSL汉化] 第十一章中英文 -- 文清 - (41698 Byte) 2007-1-21 周日, 09:23 (1537 reads)
显示文章:     
回复主题   printer-friendly view    海归论坛首页 -> 海归商务 -> 项目找投资与合作           焦点讨论 | 精华区 | 嘉宾沙龙 | 白领丽人沙龙 所有的时间均为 北京时间


 
论坛转跳:   
不能在本论坛发表新主题, 不能回复主题, 不能编辑自己的文章, 不能删除自己的文章, 不能发表投票, 您 不可以 发表活动帖子在本论坛, 不能添加附件可以下载文件, 
   热门标签 更多...
   论坛精华荟萃 更多...
   博客热门文章 更多...


海归网二次开发,based on phpbb
Copyright © 2005-2024 Haiguinet.com. All rights reserved.