| API说明—物体操作 |
● 设置物体朝向
● 设置指定物体的速率
● 移动指定物体至指定位置
● 移动执行脚本物体至指定位置
● 设置指定物体的名称
● 使指定物体以指定选择轴矢量和指定速度旋转
● 使指定物体停止旋转
● 删除执行脚本的物体
● 设置指定物体的alpha值
● 设置指定物体的贴图
● 设置指定物体的比例
设置物体朝向
函数:
int uSetItemOrient(itemId,orient);
参数:
(1) itemId:字符串,指定物体的Id。
(2) orient:三维向量,指定物体沿uWorld三维世界坐标系旋转后的新朝向。单位:度。
返回值:
详见5.4返回值类型。
备注:
(1) uWorld三维世界坐标系的设定参照API预备说明。
(2) 当目标物体挂载在人物身上时,此api无效。
Eg:
local orient = G3D.Vector3:new(-90, 0, 60);
uSetItemOrient(uGetItemId(),orient);
--设置脚本所在物体的当前朝向为(-90,0,60),新朝向为物体初始朝向沿x轴旋转-90度,沿z轴旋转60度后的朝向。
设置指定物体的速率
函数:
int uSetItemSpeed(itemId,speed);
参数:
(1) itemId:字符串,指定物体的Id。
(2) speed:浮点型,指定物体的新速率。单位米/秒。最大为50米/秒。
返回值:
详见5.4返回值类型。
备注:
(1) 此api通常配合移动物体至指定位置的api使用,见Eg1。
(2) 当目标物体挂载在人物身上时,此api无效。
Eg:
uSetItemSpeed("2251799816559832",5);
local pos = G3D.Vector3:new(127.312,228.601,-127.5);
uMoveItemTo ("2251799816559832", pos);
--设置id为“2251799816559832”的物体的移动速率为5米/秒。并将此物体以该速率移动至(127.312,228.601,-127.5)。
移动指定物体至指定位置
函数:
int uMoveItemTo(itemId, pos);
参数:
(1) itemId:字符串,指定物体的Id。
(2) pos:三维向量,指定物体的目标位置。
返回值:
详见5.4返回值类型。
备注:
(1) 被指定物体移动的目标位置必须:1、位于执行脚本物体所在的街区中;2、位于物品所有者拥有摆放权限的个人地块内。
(2) 此api只能在已设置物品速率的情况下才能正常移动至指定位置,一般需配合设置物体速率的api使用。
(3) 当目标物体挂载在人物身上时,此api无效。
Eg:
local pos = G3D.Vector3:new(127.312,228.601,-127.5);
uMoveItemTo("2251799816559832", pos);
--将id为“2251799816559832”的物体,移动到(127.312,228.601,-127.5)处。
移动执行脚本物体至指定位置
函数:
int uMoveDefaultItemTo(x,y,z);
参数:
(1) x:字符串,执行脚本物体目标位置的x坐标。
(2) y:字符串,执行脚本物体目标位置的y坐标。
(3) z:字符串,执行脚本物体目标位置的z坐标。
返回值:
详见5.4返回值类型。
备注:
(1) 执行脚本物体移动的目标位置必须:1、位于执行脚本物体所在的街区中;2、位于物品所有者拥有摆放权限的个人地块内。
(2) 此api只能在已设置物品速率的情况下才能正常移动至指定位置,一般需配合设置物体速率的api使用。
(3) 当目标物体挂载在人物身上时,此api无效。
Eg:
uMoveDefaultItemTo(222,333,0);
--将执行脚本的物体,移动到(222,333,0)处。
设置指定物体的名称
函数:
string uSetItemName(itemId, name);
参数:
(1) itemId:字符串,指定物体的Id。
(2) name:字符串,指定物体的新名称。最大输入为8个中文字符。
返回值:
详见5.4返回值类型。
Eg:
uSetItemName("2251799816559832", "newname");
--设置id为“2251799816559832”的物体的新名称为“newname”。
使指定物体以指定选择轴矢量和指定速度旋转
函数:
int uItemRotate(orient,rotateSpeed,itemId)
参数:
(1) orient:三维变量,用以决定物体的旋转轴矢量, (x、y、z)。
(2) rotateSpeed:浮点数,物体的旋转角速度。单位为1/百秒。该值区间为[0,9999]。
(3) itemId:字符串,指定物体的Id。
返回值:
详见5.4返回值类型。
备注:
(1) 旋转的轴有方向,物品沿该方向顺时针旋转。
(2) 此api给与物品一个旋转速度,故旋转开始后不会主动停止。
Eg:
local orient = G3D.Vector3:new(0,0,1);
uItemRotate(orient,628,uGetItemId());
--将执行脚本的物体,绕z轴正方向顺时针旋转,旋转速度为628/百秒,即1圈/秒。
使指定物体停止旋转
函数:
int uItemEndRotate(itemId);
参数:
itemId:字符串,指定物体的Id。
返回值:
详见5.4返回值类型。
Eg:
uItemEndRotate(uGetItemId());
--使执行脚本的物体停止旋转。
删除执行脚本的物体
函数:
int uDeleteSelfItem();
返回值:
详见5.4返回值类型。
备注:
当目标物体挂载在人物身上时,此api无效。
Eg:
uDeleteSelfItem();
--将执行脚本的物体删除。
设置指定物体的alpha值
函数:
int uSetItemAlpha(itemId,alpha);
参数:
(1) itemId:字符串,指定物体的Id。
(2) alpha:浮点型,指定物体新的贴图alpha值,alph值的范围0~1,alpha值为0,物体为不透明状态;alpha值为1,物体为完全透明状态。
返回值:
详见5.4返回值类型。
备注:
(1) 当目标物体挂载在人物身上时,此api无效。
(2) 此api只针对制造工具生产的物体有效。
Eg:
uSetItemAlpha("2251799816559832",0.2);
--设置id为“2251799816559832”的物体贴图的alpha值为0.2。
设置指定物体的贴图
函数:
int uSetItemTexture(itemId,texture)
参数:
(1) itemId:字符串,指定物体的Id。
(2) texture:字符串,指定物体新的贴图路径,该路径指用户将贴图上传至资源库后的路径,可在资源库界面查找到。
返回值:
详见5.4返回值类型。
备注:
(1) 当目标物体挂载在人物身上时,此api无效。
(2) 此api只针对制造工具生产的物体有效。
Eg:
uSetItemTexture("2251799816559832","uw://nailo1/3377699727068033.jpg");
--设置id为“2251799816559832”的物体贴图为“uw://nailo1/3377699727068033.jpg”。
设置指定物体的比例
函数:
int uSetItemScale(scale,itemId);
参数:
(1) scale:三维向量,物体目标比例。最大比例放大为x、y、z方向上各5倍。
(2) itemId:字符串,指定物体的Id。
返回值:
详见5.4返回值类型。
备注:
当目标物体挂载在人物身上时,此api无效。
Eg:
(1) local scale = G3D.Vector3:new(2,2,2);
uSetItemScale(scale);
--设置执行脚本的物体比例为原有大小x、y、z方向上各放大2倍。
(2) local scale = G3D.Vector3:new(2,2,2);
uSetItemScale(scale, "2251799816559832");
--设置id为“2251799816559832”的物体比例为原有大小x、y、z方向上各放大2倍。