Re: Кастомна фізика персонажа Unity3d
шось я зовсім заплутався
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → Розробка ігор → Кастомна фізика персонажа Unity3d
Сторінки Попередня 1 2 3 4 5 Наступна
Для відправлення відповіді ви повинні увійти або зареєструватися
мені здається ,я втратив зв'язок з реальністю.
От шо я намагаюсь зробити з тим кодом? Шо, взагалі, треба з ним робити?
Якщо весь код, що стосується руху персонажа буде в одному файлі, це ж погано? Чи ні?
Мені б хотілось якогось розділення. Але це розділення теж можна зробити в одному файлі, просто поділити код на методи.
Може з цього й почати?
мені здається, що моя проблема в тому, що я намагаюсь перескочити на наслідок, не дочекавшись причини.
Адже код рефакторять не просто так, а тому що виникають проблеми з його обробкою. А в мене зараз немає ніяких проблем, той код, що я написав в одному файлі мене влаштовує, і особливих проблем з його зміною я не бачу. тому продовжу писати все в купу, доки не відчую, що мені муляє
Адже код рефакторять не просто так, а тому що виникають проблеми з його обробкою.
Або з розумінням того, що він робить, або він не вписується в заплановане розширення, або у вас багато часу до релізу і вам ні́чого робити.
Я пробував зрозуміти, яка у вас проблема, але, схоже, ви й сам не знаєте.
так, зробив можливість руху по колу + швидкість набирається, коли спускаємось.
Але наразі швидкість для підйому і для спуску - константна. Точніше, при заході на підйом, чи спуск, ми встановлюємо нову максимальну швидкість, і за деякий час змінюємо швидкість з поточної до максимальної.
Але мені таке не подобається, тому що колобок може підійматись по 90градусній стінці з постійною швидкістю.
А тре зробити так, щоб довжина шляху, котрий він може пройти по такій стіні залежала від швидкості, з котрою він заїхав на цю стіну. Ну, як в реальному житті.
Найперше, що прийшло в голову - як тільки шарик заходить на підйом - починати поступово зменшувати його швидкість. Але як швидко зменшувати її? І до котрої пори? Адже кут може змінюватись, і якщо він невеличкий, то швидкість повинна зменшитись лише трошки. А якщо кут великий, а ми зменшуємо швидкість повільно, то шарик може проїхатись по стінці неприродньо довго.
Гадаю, швидкість повинна залежати від нахилу та від гравітації, котрої в мене немає, наразі.
mhg = mv^2
шо то є?
я зробив от так:
позначив кут, при якому швидкість має бути рівною нулю.
коли заїзджаю на підйом, то запам'ятовую поточну швидкість, і потім отримую значення швидкості залежно від поточного кута.
Наприклад, якщо при заїзді на підйом, швидкість була 10, а при нахилі 60 градусів, швидкість має дорівнювати 0, то на етапі, коли нахил поверхні == 30, швидкість буде 5.
Але це ще не все. Я встановлюю швидкість не в один момент, а протягом секунди/двох. Тому вся ця штука дозволяє заїзджати на гірки, нахил котрих більше 60 градусів.
озьдо можете потестити, треба mozilla firefox https://fakinyan.itch.io/colobock?secre … v1NA83os40
Управління:
стрілка вліво - їде вліво
стрілка вправо - їде вправо
Тільки mv²/2
Тобто якщо нема тертя, то до лампочки, який там кут траєкторії — якщо на умовно нульовій висоті була початкова швидкість V0, то на висоті h швидкість буде v = sqrt(v0*v0 – 2gh). Як доходимо до підкореневого виразу 0, все, починаємо ковзати назад. Ні — перескочили горб.
Якщо є тертя, то його треба потихеньку віднімати з енергії пропорційно силі тертя та пройденому шляху.
v0 — початкова швидкість ковзання по горизонталі перед підйомом
g на широті Києва дорівнює 9.81054 м/с²
h — висота, на яку піднялися (незалежно по пологому чи по крутому підйому).
v — швидкість вздовж траєкторії на цій висоті h
На спусках буде все те ж саме, тільки зміна висоти відносно початкової точки негативна, підкореневий вираз збільшується.
Юніті це найпопулярніша штука для розробки ігор? а яка мова програмування там використовується?
Юніті це найпопулярніша штука для розробки ігор? а яка мова програмування там використовується?
c#, js, boo, на ваш вибір
rainboww1988 написав:Юніті це найпопулярніша штука для розробки ігор? а яка мова програмування там використовується?
c#, js, boo, на ваш вибір
я можу я із Java працювати?
і ще питання..як багато ресурсів поїдає Юніті?
Прошу вибачення, що питаю, а не відповідаю..
але дійсно цікаво
FakiNyan написав:rainboww1988 написав:Юніті це найпопулярніша штука для розробки ігор? а яка мова програмування там використовується?
c#, js, boo, на ваш вибір
я можу я із Java працювати?
і ще питання..як багато ресурсів поїдає Юніті?
Прошу вибачення, що питаю, а не відповідаю..
але дійсно цікаво
не Java, а джаваСкрипт
як зробите файно, то мало ресурсів, а якшо погано, то багато
Прошу вибачення, що питаю, а не відповідаю..
але дійсно цікаво
А ви не соромтесь, робіть нову тему і запитуйте. І заради Ктулху, перестаньте плутати джаваскрипт з джавою.
v0 — початкова швидкість ковзання по горизонталі перед підйомом
g на широті Києва дорівнює 9.81054 м/с²
h — висота, на яку піднялися (незалежно по пологому чи по крутому підйому).
v — швидкість вздовж траєкторії на цій висоті hНа спусках буде все те ж саме, тільки зміна висоти відносно початкової точки негативна, підкореневий вираз збільшується.
якось воно дивно працює. З 9.81 ще схоже на правду, але коли 30 поставив, то почало якось сіпатись
як мені замутити нормальну гравітацію?
Якщо шарик буде на гірці, і я пускатиму проміню чітко вниз, і перевірятиму - чи є довжина цього променю більшою за радіус шарика, то воно завжди буде так, і це ж значить, що шарик в повітрі, хоча насправді він буде на гірці.
Як це побороти?