
Я роблю ізометричну гру. Коли гравець намагається пройти по діагоналі до стіни, я хочу, щоб вони плавно ковзали по ній, тому будь-яка частина руху була б законною, і все, що рухається у напрямку до нормального, викидається. Стіни можуть бути будь-якого кута, не тільки вертикальні чи горизонтальні, а гравець має 360 рухів.
Я відчуваю, що я майже там, але не можу поставити останню частину на місце.
Оновлення: чудові новини всім! У мене це працює. Але ... я трохи розгублений, що я повинен нормалізувати, а що ні. Нормальний просто повинен бути одиничним вектором, правда? але потім я змішую це зі своїм вкладом, тому я нормалізую це - чи не помиляюся?
До речі, я також виявив, що мені потрібно штовхати програвач на 1 піксель у напрямку до нормального, щоб вони не зациклювалися на речах - працює добре.