Q:/ 如何让一个对象跟随玩家移动转向?【跟随玩家】【物体附着】
/ 如何让我创建的对象挂在角色的身边?【创建对象挂到角色身边】
A:
1.在编辑器“对象管理器”窗口中,我们能通过拖拽一个对象到另一个对象的下方,使它们形成实际的父子节点关系
2.代码中,我们通过找到对应的非静态对象,并调用attach接在角色身上
protected onStart() {
//设置能否每帧触发onUpdate
this.canUpdate = false;
Gameplay.asyncGetCurrentPlayer().then((player) => {
this.Character = player.character;
});
// 本例子中的场景对象里的方块的id为“3084CAD4”
Core.GameObject.asyncFind("3084CAD4").then(go=>{
this.Go = go
})
//找到对应的跳跃按钮
const JumpBtn = this.uiWidgetBase.findChildByPath('MWCanvas/MWButton_Jump') as UI.StaleButton
//点击跳跃按钮,异步获取人物后执行跳跃
JumpBtn.onPressed.add(()=>{
if (this.Character) {
this.Character.attach(this.Go, Gameplay.SlotType.RightHand)
this.Go.setRelativeLocation(new Type.Vector(100, 100, 0))
}
})
}
Q:/ 角色编辑如何保存?
/ 角色形象如何应用?【角色导入导出】
/ 为什么编辑后角色形象没改变?【角色数据如何使用】
A:【换装教学】不会换装?快来看这里!👇👇👇 - 资源/心得分享 创作者论坛 (ark.online)
Q:/ 使用player.worldLocation为什么没能修改角色的位置呢?【修改位置无效】
A:改变角色位置 ,需要使用character去修改
Gameplay.asyncGetCurrentPlayer().then(p=>{
// 这样修改没用
p.worldLocation = Type.Vector.zero
// 这样修改正确
p.character.worldLocation = Type.Vector.zero
})
Q:/ 为什么我的角色修改无论怎么修改外貌,角色跑步都一直是二次元女性姿态?【扭屁股】
A:需要通过设置setSomatotype来改变姿态
Gameplay.asyncGetCurrentPlayer().then(p=>{
let v2 = p.character.setAppearance(Gameplay.HumanoidV2)
p.character.appearanceReady().then(()=>{
// 这里才是设置他的整体形象(这里改变了外形,并修改了姿态)
v2.setSomatotype(Gameplay.SomatotypeV2.AnimeMale)
})
})
Q:/ 为什么我的角色高度超过100万会消失,我跳着跳着角色不见了【角色超过最大边界】【世界范围】【场景最大高度】
A:世界范围设定大小是21km,因此角色上下左右前后不要超过范围-10km~10km这个范围
Q:/ 怎样才能关掉角色之间的碰撞?【关闭角色和NPC的碰撞,取消玩家碰撞,玩家间碰撞,角色间碰撞】
A:请使用这个API来做:
https://api-docs.ark.online/clas ... thercharacterenable
|