среда, 26 августа 2015 г.

Постэффект Хроматической аберрации

Файлы композитора, материала и шейдера в файле. Распаковать в Project\Bin\Data\Base\FullScreenEffects

ChromaticAberration.rar

Код класса ChromaticAberrationCompositorInstance.cs в ProjectCommon\Post Processing


понедельник, 11 февраля 2013 г.

Небольшое дополнение для урока от Firefly Crouch for FPS.

Написал небольшое дополнение к этому уроку: [Tutorial] Crouch for FPS

Оно добавляет проверку на то, есть ли свободное место над игроком и можно ли встать.
Все изменения в GameEntities.PlayerCharacter.cs
После выполнения урока добавьте после блока:
protected override void OnIntellectCommand(Intellect.Command command)
{...}

Это:
public bool CheckUpSpace()
        {
            bool crouch = false;
            Ray ray = new Ray(Position, new Vec3(0, 0, 2) * Rotation);
            RayCastResult[] result = PhysicsWorld.Instance.RayCastPiercing(
                ray, (int)ContactGroup.CastOnlyContact);
            float distance = 2;
            Vec3 pos1 = new Vec3(0, 0, 0);
            foreach (RayCastResult r in result)
            {
                if (MapSystemWorld.GetMapObjectByBody(r.Shape.Body) == this)
                    continue;
                Vec3 pos = Position;
                pos1 = r.Position;
                distance = (r.Position - pos).LengthFast();
                break;
            }
            if (distance > 1f)
            {
                crouch = true;
            }
            return crouch;
        }

И также перепишите:

if (command.Key == GameControlKeys.Crouch)
Crouch = !Crouch;
( этот кусок кода находится как раз в OnIntellectCommand)

на

if (command.Key == GameControlKeys.Crouch && CheckUpSpace() == true)
Crouch = !Crouch;