public bool GetSteering(out KinematicSteeringOutput output) { //get Velocity form orientation output.velocity = max_speed * SteerUtils.OrientationToVector3_XZ(character.orientation); //Q:每帧都变吗,不会有问题吗?GetSteering不是应该每帧都调用的吗啊?还是可以隔一段时间调用过一次? output.rotation = SteerUtils.RandomBinomial() * max_rotation; return(true); }
public override bool GetSteering(out SteeringOutput output) { //计算直线Offset Vector3 target = character.position + wanderOffset * SteerUtils.OrientationToVector3_XZ(character.orientation); //计算小圆半径Offset target += wanderRadius * SteerUtils.OrientationToVector3_XZ(target_orientation); base.GetSteering(out output); output.linearAccerlation = maxAccerlation * SteerUtils.OrientationToVector3_XZ(character.orientation); return(true); }