Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }