{"id":335651,"date":"2022-07-13T09:00:19","date_gmt":"2022-07-13T09:00:19","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=335651"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=335651","title":{"rendered":"<span>[3] \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 Survival Horror \u0432 \u0441\u0442\u0438\u043b\u0435 RE2 \u043d\u0430 Unreal Engine \u0438 \u0421++. \u0410\u043d\u0438\u043c\u0430\u0446\u0438\u044f \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f \u0432\u043e \u0432\u0441\u0435 \u0441\u0442\u043e\u0440\u043e\u043d\u044b<\/span>"},"content":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/getpro\/habr\/upload_files\/edc\/c26\/1af\/edcc261af3be5cb48b05cab2caf9a469.jpeg\" width=\"1200\" height=\"675\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/edc\/c26\/1af\/edcc261af3be5cb48b05cab2caf9a469.jpeg\" data-blurred=\"true\"\/><figcaption><\/figcaption><\/figure>\n<details class=\"spoiler\">\n<summary>\u0412\u0435\u0441\u044c \u0446\u0438\u043a\u043b \u0441\u0442\u0430\u0442\u0435\u0439<\/summary>\n<div class=\"spoiler__content\">\n<ol>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/675906\/\" rel=\"noopener noreferrer nofollow\">\u0411\u0430\u0437\u043e\u0432\u0430\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0438 \u0438\u043c\u043f\u043e\u0440\u0442 \u0430\u0441\u0441\u0435\u0442\u043e\u0432<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/676530\/\" rel=\"noopener noreferrer nofollow\">\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0435\u043c \u0438 \u043a\u0430\u043c\u0435\u0440\u043e\u0439<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/676642\/\" rel=\"noopener noreferrer nofollow\">\u0410\u043d\u0438\u043c\u0430\u0446\u0438\u044f \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f \u0432\u043e \u0432\u0441\u0435 \u0441\u0442\u043e\u0440\u043e\u043d\u044b<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/676644\/\" rel=\"noopener noreferrer nofollow\">\u041f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0438\u043d\u0432\u0435\u043d\u0442\u0430\u0440\u044c(\u0427\u0430\u0441\u0442\u044c 1)<\/a><\/p>\n<\/li>\n<\/ol>\n<\/div>\n<\/details>\n<p>\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442.<\/p>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043c \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u044e \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f \u0432\u043e \u0432\u0441\u0435 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u0434\u043b\u044f \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0430.<\/p>\n<p>\u041d\u0430\u0447\u043d\u0435\u043c \u0441 \u0442\u043e\u0433\u043e \u0447\u0442\u043e \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c\u00a0<strong>Animation Blueprint<\/strong>\u00a0\u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0430.<\/p>\n<p>\u041f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u0432 \u043f\u0430\u043f\u043a\u0443\u00a0<strong>Blueprints->Player<\/strong>\u00a0\u0438 \u043d\u0430\u0436\u043c\u0435\u043c \u041f\u041a\u041c. \u0412 \u043f\u043e\u044f\u0432\u0438\u0432\u0448\u0435\u043c\u0441\u044f \u043c\u0435\u043d\u044e \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c\u00a0<strong>Animation Blueprint<\/strong>:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/305\/4b6\/69b\/3054b669bc8e789037cf09ca1de9895c.png\" alt=\"\" title=\"\" width=\"520\" height=\"360\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/305\/4b6\/69b\/3054b669bc8e789037cf09ca1de9895c.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043d\u0430\u0448 \u0441\u043a\u0435\u043b\u0435\u0442 \u0438 \u0436\u043c\u0435\u043c\u00a0<strong>OK<\/strong>:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/048\/397\/d2c\/048397d2c12134914582c53bd739171c.png\" alt=\"\" title=\"\" width=\"407\" height=\"362\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/048\/397\/d2c\/048397d2c12134914582c53bd739171c.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0430\u0437\u043e\u0432\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u0431\u043b\u044e\u043f\u0440\u0438\u043d\u0442\u00a0<strong>ABP_Player<\/strong>:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b43\/5c2\/4a7\/b435c24a7e24120958982d258aa843fd.png\" alt=\"\" title=\"\" width=\"313\" height=\"171\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b43\/5c2\/4a7\/b435c24a7e24120958982d258aa843fd.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041e\u0442\u0440\u043e\u0435\u043c \u0435\u0433\u043e \u0438 \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u0432\u00a0<strong>AnimGraph<\/strong>:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/5be\/d96\/188\/5bed961888e8db70287c1d3c22ff7ecd.png\" alt=\"\" title=\"\" width=\"895\" height=\"597\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/5be\/d96\/188\/5bed961888e8db70287c1d3c22ff7ecd.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0429\u0435\u043b\u043a\u043d\u0435\u043c \u041f\u041a\u041c \u0432\u043e\u00a0<strong>Viewport<\/strong>\u00a0\u0438 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043d\u043e\u0432\u0443\u044e\u00a0<strong>State Machine<\/strong>:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/4f2\/dcb\/9b8\/4f2dcb9b879901703f8b9284e0c22d7c.png\" alt=\"\" title=\"\" width=\"424\" height=\"148\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/4f2\/dcb\/9b8\/4f2dcb9b879901703f8b9284e0c22d7c.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0430\u0437\u043e\u0432\u0435\u043c \u0435\u0435\u00a0<strong>Locomotion<\/strong>. \u0417\u0434\u0435\u0441\u044c \u0431\u0443\u0434\u0443\u0442 \u043d\u0430\u0448\u0430 \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u044f \u043f\u0435\u0440\u0435\u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f.<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/60d\/d73\/ade\/60dd73ade734f5c95f4aca3cec72377f.png\" alt=\"\" title=\"\" width=\"380\" height=\"186\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/60d\/d73\/ade\/60dd73ade734f5c95f4aca3cec72377f.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0412\u0435\u0440\u043d\u0435\u043c\u0441\u044f \u0432 \u043f\u0430\u043f\u043a\u0443\u00a0<strong>Blueprints->Player<\/strong>\u00a0\u0438 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0442\u0430\u043c\u00a0<strong>Blend Space<\/strong>:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/033\/adc\/ba2\/033adcba2f9ee2494892082ba58892e7.png\" alt=\"\" title=\"\" width=\"551\" height=\"340\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/033\/adc\/ba2\/033adcba2f9ee2494892082ba58892e7.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0430\u0437\u043e\u0432\u0435\u043c \u0435\u0433\u043e\u00a0<strong>BS_Locomotion<\/strong>:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/595\/c9e\/0a2\/595c9e0a2e72439b3a6bd1a8d68449cf.png\" alt=\"\" title=\"\" width=\"384\" height=\"173\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/595\/c9e\/0a2\/595c9e0a2e72439b3a6bd1a8d68449cf.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041e\u0442\u043a\u0440\u043e\u0435\u043c \u0435\u0433\u043e \u0438 \u0432\u00a0<strong>Axis settings<\/strong>\u00a0\u0443\u0432\u0438\u0434\u0438\u043c \u0447\u0442\u043e \u0435\u0441\u0442\u044c \u0434\u0432\u0435 \u043e\u0441\u0438 &#8212;\u00a0<strong>Horizontal \u0438 Vertical<\/strong>:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/f9c\/2b3\/23b\/f9c2b323be70b14a7fb5b7051870f321.png\" alt=\"\" title=\"\" width=\"365\" height=\"91\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f9c\/2b3\/23b\/f9c2b323be70b14a7fb5b7051870f321.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0420\u0430\u0437\u0432\u0435\u0440\u043d\u0435\u043c\u00a0<strong>Horizontal<\/strong>\u00a0\u0438 \u0434\u0430\u0434\u0438\u043c \u0435\u0439 \u0438\u043c\u044f\u00a0<strong>Velocity<\/strong>, \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u0432\u0435\u0447\u0430\u0442\u044c \u0437\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c.\u00a0<strong>Maximum Axis Value<\/strong>\u00a0\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u043d\u0430 600(\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0432\u00a0<strong>Character Movement Component<\/strong>):<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e73\/269\/a7d\/e73269a7dbd721a0af805f22354cbe7e.png\" alt=\"\" title=\"\" width=\"360\" height=\"171\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e73\/269\/a7d\/e73269a7dbd721a0af805f22354cbe7e.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0435\u043c\u00a0<strong>Vertical<\/strong>\u00a0\u0438 \u043d\u0430\u0437\u043e\u0432\u0435\u043c \u0435\u0435\u00a0<strong>Direction<\/strong>, \u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u0432\u0435\u0447\u0430\u0442\u044c \u0437\u0430 \u0443\u0433\u043e\u043b \u043c\u0435\u0436\u0434\u0443 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u043c \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0438\u00a0<strong>Forward<\/strong>\u00a0\u0432\u0435\u043a\u0442\u043e\u0440\u043e\u043c \u0430\u043a\u0442\u043e\u0440\u0430. \u0422.\u0435. \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0432 \u043a\u0430\u043a\u0443\u044e \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u0434\u0432\u0438\u0436\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436 \u0438 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u044c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0443\u044e \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u044e. \u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 -180, \u0430 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e 180.<\/p>\n<p><strong>Number of Grid Divisions<\/strong>\u00a0\u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c \u043d\u0430 8:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/733\/503\/dc2\/733503dc2d8e4fa267f93d00f29f00db.png\" alt=\"\" title=\"\" width=\"331\" height=\"173\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/733\/503\/dc2\/733503dc2d8e4fa267f93d00f29f00db.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0441\u0435\u0442\u043a\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/37a\/6a3\/42f\/37a6a342fa5e4c5976eebe8862772467.png\" alt=\"\" title=\"\" width=\"1138\" height=\"328\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/37a\/6a3\/42f\/37a6a342fa5e4c5976eebe8862772467.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0412\u00a0<strong>Asset Browser<\/strong>\u00a0\u043d\u0430\u0445\u043e\u0434\u0438\u043c \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u044e\u00a0<strong>Pistol_Idle<\/strong>:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/4dd\/31d\/dd6\/4dd31ddd6bd327f8f426df2062415fd1.png\" alt=\"\" title=\"\" width=\"374\" height=\"229\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/4dd\/31d\/dd6\/4dd31ddd6bd327f8f426df2062415fd1.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c \u0435\u0435 \u0432 \u0442\u043e \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0433\u0434\u0430\u00a0<strong>Velocity<\/strong>\u00a0\u0438\u00a0<strong>Direction<\/strong>\u00a0\u0440\u0430\u0432\u043d\u044b 0:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/076\/500\/740\/076500740a369fe15c56471ef5f44185.png\" alt=\"\" title=\"\" width=\"314\" height=\"138\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/076\/500\/740\/076500740a369fe15c56471ef5f44185.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0445\u043e\u0434\u0438\u043c \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u044e\u00a0<strong>Pistol_WalkFwdLoop<\/strong>:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/6ae\/b23\/074\/6aeb23074d39fa522f62344731162a9c.png\" alt=\"\" title=\"\" width=\"359\" height=\"233\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/6ae\/b23\/074\/6aeb23074d39fa522f62344731162a9c.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c \u0435\u0435 \u0432 \u0442\u043e \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0433\u0434\u0430\u00a0<strong>Velocity = 150, \u0430 Direction = 0<\/strong>:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/937\/489\/943\/93748994346807aa4a6c60e9072e5382.png\" alt=\"\" title=\"\" width=\"357\" height=\"138\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/937\/489\/943\/93748994346807aa4a6c60e9072e5382.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u044b \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0430 \u0432\u043b\u0435\u0432\u043e \u043f\u043e\u0434 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u0443\u0433\u043b\u0430\u043c\u0438:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/691\/665\/d51\/691665d516c5d1998716c011ada86e65.png\" alt=\"\" title=\"\" width=\"361\" height=\"108\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/691\/665\/d51\/691665d516c5d1998716c011ada86e65.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0412\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0438\u0445 \u043a\u043e\u0433\u0434\u0430\u00a0<strong>Direction<\/strong>\u00a0\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c(\u0437\u043d\u0430\u0447\u0438\u0442 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436 \u0434\u0432\u0438\u0436\u0435\u0442\u0441\u044f \u0432\u043b\u0435\u0432\u043e). \u0427\u0438\u0441\u043b\u043e \u0432 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0438 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u043a\u0430\u043a\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u00a0<strong>Direction<\/strong>\u00a0\u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u044d\u0442\u0443 \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u044e.<\/p>\n<p><strong>Pistol_StrafeLeft45Loop &#8212; -45<\/strong><\/p>\n<p><strong>Pistol_StrafeLeftLoop &#8212; -90<\/strong><\/p>\n<p><strong>Pistol_StrafeLeft135Loop &#8212; -135<\/strong><\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/fe1\/f3e\/fa2\/fe1f3efa2f9090c2497afac8c85ab71d.png\" alt=\"\" title=\"\" width=\"323\" height=\"149\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/fe1\/f3e\/fa2\/fe1f3efa2f9090c2497afac8c85ab71d.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0422\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u043f\u0440\u043e\u0434\u0435\u043b\u044b\u0432\u0430\u0435\u043c \u0441 \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u044f\u043c \u043a\u043e\u0433\u0434\u0430 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436 \u0434\u0432\u0438\u0436\u0435\u0442\u0441\u044f \u0432\u043f\u0440\u0430\u0432\u043e:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/506\/962\/52a\/50696252adc3aedd2392a2df10acf04b.png\" alt=\"\" title=\"\" width=\"367\" height=\"117\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/506\/962\/52a\/50696252adc3aedd2392a2df10acf04b.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u043c \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u044e\u00a0<strong>Pistol_WalkBwdLoop<\/strong>\u00a0\u0438 \u0441\u0442\u0430\u0432\u0438\u043c \u0435\u0435 \u043a\u043e\u0433\u0434\u0430\u00a0<strong>Velocity = 150, \u0430 Direction = 180 \u0438 -180<\/strong><\/p>\n<p>\u0412 \u0438\u0442\u043e\u0433\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0447\u0442\u043e-\u0442\u043e \u0432 \u0442\u0430\u043a\u043e\u043c \u0432\u0438\u0434\u0435:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/54d\/8e4\/ae0\/54d8e4ae03648685c0dcd8f6a448f705.png\" alt=\"\" title=\"\" width=\"507\" height=\"338\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/54d\/8e4\/ae0\/54d8e4ae03648685c0dcd8f6a448f705.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0422\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0434\u0435\u043b\u0430\u0442\u044c \u0434\u043b\u044f \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0438 \u0431\u0435\u0433\u0430:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/761\/3ce\/ffd\/7613ceffd9d1ed51e7093439615e0600.png\" alt=\"\" title=\"\" width=\"396\" height=\"206\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/761\/3ce\/ffd\/7613ceffd9d1ed51e7093439615e0600.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0412\u0441\u0435 \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e, \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043d\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u00a0<strong>Velocity = 600<\/strong>.<\/p>\n<p>\u042d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0447\u0442\u043e-\u0442\u043e \u0432\u0440\u043e\u0434\u0435 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b).<\/p>\n<p>\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u0430:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/638\/f6a\/892\/638f6a8924b4b5b782f5de4cb863ab85.png\" alt=\"\" title=\"\" width=\"1136\" height=\"330\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/638\/f6a\/892\/638f6a8924b4b5b782f5de4cb863ab85.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0412\u0435\u0440\u043d\u0435\u043c\u0441\u044f \u0432\u00a0<strong>ABP_Player<\/strong>. \u0414\u0430\u043b\u044c\u0448\u0435 \u0432\u00a0<strong>Locomotion<\/strong>\u00a0\u0438 \u043f\u0435\u0440\u0435\u0442\u0430\u0441\u043a\u0438\u0432\u0430\u0435\u043c\u00a0<strong>BS_Lomotion<\/strong>\u00a0\u0432\u043e<strong>\u00a0Viewport<\/strong>:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/15a\/e1a\/af2\/15ae1aaf2015e392ce9525690fb95d54.png\" alt=\"\" title=\"\" width=\"1200\" height=\"647\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/15a\/e1a\/af2\/15ae1aaf2015e392ce9525690fb95d54.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0421\u043e\u0435\u0434\u0438\u043d\u044f\u0435\u043c \u0435\u0433\u043e \u0441\u00a0<strong>Entry<\/strong>:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/8e6\/e4b\/208\/8e6e4b208e454fea55c2e8e392284af0.png\" alt=\"\" title=\"\" width=\"605\" height=\"210\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/8e6\/e4b\/208\/8e6e4b208e454fea55c2e8e392284af0.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0437\u0430\u0445\u043e\u0434\u0438\u043c \u0432\u043d\u0443\u0442\u0440\u044c\u00a0<strong>BS_Locomotion<\/strong>. \u0429\u0435\u043b\u043a\u0430\u0435\u043c \u041f\u041a\u041c \u043f\u043e\u00a0<strong>Velocity<\/strong>\u00a0\u0438 \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0438\u0437 \u043d\u0435\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e(<strong>Promote to Variable<\/strong>):<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/672\/839\/65d\/67283965d762b26bf80ac5bf4861d1a2.png\" alt=\"\" title=\"\" width=\"637\" height=\"291\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/672\/839\/65d\/67283965d762b26bf80ac5bf4861d1a2.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0422\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u043f\u0440\u043e\u0434\u0435\u043b\u044b\u0432\u0430\u0435\u043c \u0441\u00a0<strong>Direction<\/strong>:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/d52\/7ae\/573\/d527ae5733de0ef47be1b6b58367b4fe.png\" alt=\"\" title=\"\" width=\"757\" height=\"300\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d52\/7ae\/573\/d527ae5733de0ef47be1b6b58367b4fe.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0412\u0435\u0440\u043d\u0435\u043c\u0441\u044f \u0432\u00a0<strong>AnimGraph<\/strong>\u00a0\u0438 \u0441\u043e\u0435\u0434\u0438\u043d\u0438\u043c\u00a0<strong>Locomotion \u0441 OutputPose<\/strong>:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/81a\/1b8\/774\/81a1b877494320731e1e1ca3e170b63c.png\" alt=\"\" title=\"\" width=\"755\" height=\"362\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/81a\/1b8\/774\/81a1b877494320731e1e1ca3e170b63c.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u0432\u00a0<strong>BP_SHCharacter\u00a0<\/strong>\u0438 \u0432\u044b\u0434\u0435\u043b\u0438\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u00a0<strong>Skeletal Mesh<\/strong>:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/2a1\/394\/6a2\/2a13946a2812c91b2d4794a050c8f124.png\" alt=\"\" title=\"\" width=\"330\" height=\"265\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/2a1\/394\/6a2\/2a13946a2812c91b2d4794a050c8f124.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0412\u00a0<strong>Details<\/strong>\u00a0\u043d\u0443\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043d\u0430\u0448 \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0431\u043b\u044e\u043f\u0440\u0438\u043d\u0442 \u0432\u00a0<strong>Anim Class<\/strong>:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/1cd\/40b\/05c\/1cd40b05ce8c6003c2d8f5b99fbdeea2.png\" alt=\"\" title=\"\" width=\"436\" height=\"220\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/1cd\/40b\/05c\/1cd40b05ce8c6003c2d8f5b99fbdeea2.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0435\u0441\u043b\u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0438\u0433\u0440\u0443 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u044c \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u044f\u00a0<strong>Idle<\/strong>, \u043d\u043e \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0438\u00a0<strong>Walk<\/strong>\u00a0\u0438\u00a0<strong>Run<\/strong>\u00a0\u043d\u0435\u0442.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u043e\u043d\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435\u00a0<strong>Velocity(\u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c)\u00a0<\/strong>\u0438\u00a0<strong>Direction(\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435)<\/strong>.<\/p>\n<p>\u041d\u0430\u0447\u043d\u0435\u043c \u0441\u00a0<strong>Velocity<\/strong>\u00a0\u0438 \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u044d\u0442\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0431\u043b\u044e\u043f\u0440\u0438\u043d\u0442\u043e\u0432.<\/p>\n<p>\u041f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u0432\u00a0<strong>ABP_Player<\/strong>. \u0414\u0430\u043b\u044c\u0448\u0435 \u0432\u00a0<strong>EventGraph<\/strong>:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b66\/aad\/7df\/b66aad7dff39ac3136e9e378e9b9c36a.png\" alt=\"\" title=\"\" width=\"846\" height=\"577\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b66\/aad\/7df\/b66aad7dff39ac3136e9e378e9b9c36a.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0421\u043b\u0435\u0432\u0430 \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043d\u0430\u0448\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435\u00a0<strong>Velocity\u00a0<\/strong>\u0438\u00a0<strong>Direction<\/strong>:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/19d\/920\/cd0\/19d920cd0468ecbd3f63224aae22405d.png\" alt=\"\" title=\"\" width=\"512\" height=\"140\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/19d\/920\/cd0\/19d920cd0468ecbd3f63224aae22405d.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041f\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u043c\u00a0<strong>Velocity<\/strong>\u00a0\u0432\u043e\u00a0<strong>Viewport<\/strong>\u00a0\u0438 \u0432\u044b\u0431\u0435\u0440\u0435\u043c\u00a0<strong>Set Velocity<\/strong>:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/05f\/6b0\/ace\/05f6b0ace643dca2ff699c22d9ac2884.png\" alt=\"\" title=\"\" width=\"581\" height=\"206\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/05f\/6b0\/ace\/05f6b0ace643dca2ff699c22d9ac2884.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0424\u0443\u043d\u043a\u0446\u0438\u044f\u00a0<a href=\"https:\/\/docs.unrealengine.com\/4.27\/en-US\/BlueprintAPI\/Animation\/TryGetPawnOwner\/\" rel=\"noopener noreferrer nofollow\"><strong>Try Get Pawn Owner<\/strong><\/a>\u00a0\u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0430 \u043f\u0435\u0448\u043a\u0438, \u043d\u0430 \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0430. \u0423 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0435\u0441\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u00a0<a href=\"https:\/\/docs.unrealengine.com\/4.27\/en-US\/BlueprintAPI\/Utilities\/Transformation\/GetVelocity\/\" rel=\"noopener noreferrer nofollow\"><strong>Get Velocity<\/strong><\/a>, \u043d\u0430\u0445\u043e\u0434\u0438\u043c \u0435\u0435:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/390\/ca9\/a8d\/390ca9a8ddfcb159673a9efa4bcbfa47.png\" alt=\"\" title=\"\" width=\"804\" height=\"326\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/390\/ca9\/a8d\/390ca9a8ddfcb159673a9efa4bcbfa47.png\"\/><figcaption><\/figcaption><\/figure>\n<p><strong>Get Velocity<\/strong>\u00a0\u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u00a0<strong>Vector<\/strong>. \u0427\u0442\u043e\u0431\u044b \u0443\u0437\u043d\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0443\u0437\u043d\u0430\u0442\u044c \u0434\u043b\u0438\u043d\u0443 \u044d\u0442\u043e\u0433\u043e \u0432\u0435\u043a\u0442\u043e\u0440\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0438\u00a0<a href=\"https:\/\/docs.unrealengine.com\/4.27\/en-US\/BlueprintAPI\/Math\/Vector\/VectorLength\/\" rel=\"noopener noreferrer nofollow\"><strong>Vector Length<\/strong><\/a>:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e10\/526\/84c\/e1052684ccea47f6ec7b1685dfe9534f.png\" alt=\"\" title=\"\" width=\"751\" height=\"312\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e10\/526\/84c\/e1052684ccea47f6ec7b1685dfe9534f.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0418 \u0442\u0435\u043f\u0435\u0440\u044c \u0434\u043b\u0438\u043d\u0443 \u044d\u0442\u043e\u0433\u043e \u0432\u0435\u043a\u0442\u043e\u0440\u0430 \u0441\u043e\u0435\u0434\u0438\u043d\u044f\u0435\u043c \u0441 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439\u00a0<strong>Velocity<\/strong>:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/bfd\/486\/5b5\/bfd4865b50a3f49e3ce8f2044c54bbb9.png\" alt=\"\" title=\"\" width=\"698\" height=\"273\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/bfd\/486\/5b5\/bfd4865b50a3f49e3ce8f2044c54bbb9.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0415\u0441\u043b\u0438 \u0441\u0435\u0439\u0447\u0430\u0441 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0438\u0433\u0440\u0443, \u0442\u043e \u043d\u0430\u0447\u043d\u0443\u0442 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0438\u00a0<strong>Walk<\/strong>\u00a0\u0438\u00a0<strong>Run<\/strong>, \u043d\u043e \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0438 \u043f\u0440\u0438 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0438 \u0432 \u0431\u043e\u043a \u043d\u0435\u0442.<\/p>\n<p>\u041f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u0432 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u043a\u043e\u0434\u0430, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u0432 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u0447\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0430\u00a0<strong>SHCharacter.h,<\/strong>\u00a0\u0447\u0442\u043e\u0431\u044b \u044d\u0442\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c.<\/p>\n<p>\u0412 \u0441\u0435\u043a\u0446\u0438\u0438\u00a0<strong>protected<\/strong>\u00a0\u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043d\u043e\u0432\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e\u00a0<strong>MoveDirection<\/strong>, \u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u0442\u0438\u043f\u00a0<strong>float<\/strong>(\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f, \u0435\u0441\u043b\u0438 \u0442\u043e\u0447\u043d\u0435\u0435 \u0443\u0433\u043e\u043b \u043c\u0435\u0436\u0434\u0443 foward \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u043c \u0438 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u043c \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438).<\/p>\n<p>\u0422\u0430\u043a\u0436\u0435 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u043c\u0430\u043a\u0440\u043e\u0441\u043e\u043c\u00a0<a href=\"https:\/\/docs.unrealengine.com\/4.26\/en-US\/ProgrammingAndScripting\/GameplayArchitecture\/Functions\/\" rel=\"noopener noreferrer nofollow\"><strong>UFUNCTION<\/strong><\/a>\u00a0\u0441\u043e \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u043c\u00a0<strong>BlueprintCallable<\/strong>, \u0447\u0442\u043e\u0431\u044b \u043c\u044b \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 \u0432 \u0431\u043b\u044e\u043f\u0440\u0438\u043d\u0442\u0430\u0445.<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/417\/1bf\/aba\/4171bfabad049eafddb50a6e539f34ad.png\" alt=\"\" title=\"\" width=\"305\" height=\"76\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/417\/1bf\/aba\/4171bfabad049eafddb50a6e539f34ad.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u0432\u00a0<strong>SHCharacter.cpp<\/strong>\u00a0\u0438 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0442\u0435\u043b\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438\u00a0<strong>MoveDirection<\/strong>:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/1a2\/311\/5a7\/1a23115a7192dfe430bb3698ee97273b.png\" alt=\"\" title=\"\" width=\"419\" height=\"119\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/1a2\/311\/5a7\/1a23115a7192dfe430bb3698ee97273b.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041a\u0430\u043a \u044f \u0433\u043e\u0432\u043e\u0440\u0438\u043b \u0432\u044b\u0448\u0435 &#8212; \u044d\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u0443\u0433\u043e\u043b \u043c\u0435\u0436\u0434\u0443 foward \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u043c \u0438 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u043c \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438<\/p>\n<p>\u0414\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0441 \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 \u0432\u0435\u043a\u0442\u043e\u0440\u0430\u043c\u0438, \u0442.\u0435. \u0440\u0430\u0432\u043d\u044b\u043c\u0438 1. Forward \u0432\u0435\u043a\u0442\u043e\u0440 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d, \u0430 \u0432\u043e\u0442 \u0432\u0435\u043a\u0442\u043e\u0440 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0438\u00a0<a href=\"https:\/\/docs.unrealengine.com\/4.26\/en-US\/API\/Runtime\/Core\/Math\/FVector\/GetSafeNormal\/\" rel=\"noopener noreferrer nofollow\"><strong>GetSafeNormal<\/strong><\/a><strong>\u00a0\u0443 GetVelocity<\/strong>:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/03d\/e9e\/068\/03de9e068beecc866b06f2da3091ebc2.png\" alt=\"\" title=\"\" width=\"527\" height=\"151\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/03d\/e9e\/068\/03de9e068beecc866b06f2da3091ebc2.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0443\u0433\u043e\u043b \u043c\u0435\u0436\u0434\u0443 \u043d\u0430\u0448\u0438\u043c\u0438 \u0432\u0435\u043a\u0442\u043e\u0440\u0430\u043c\u0438 c \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u043a\u0430\u043b\u044f\u0440\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0443\u00a0<strong>Vector<\/strong>\u00a0\u0435\u0441\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f\u00a0<a href=\"https:\/\/docs.unrealengine.com\/4.26\/en-US\/BlueprintAPI\/Math\/Vector\/DotProduct\/\" rel=\"noopener noreferrer nofollow\"><strong>DotProduct<\/strong><\/a>.<\/p>\n<p><strong>DotProduct<\/strong>\u00a0\u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u0441\u0438\u043d\u0443\u0441 \u0443\u0433\u043b\u0430 \u043c\u0435\u0436\u0434\u0443 \u0432\u0435\u043a\u0442\u043e\u0440\u0430\u043c\u0438, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0443\u0433\u043b\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 \u0430\u0440\u043a\u043a\u043e\u0441\u0438\u043d\u0443\u0441\u0430(<strong>Acos<\/strong>), \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435\u00a0<strong>FMath<\/strong>.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/1a9\/015\/f6f\/1a9015f6f879d6a6173e36c5621242ac.png\" alt=\"\" title=\"\" width=\"853\" height=\"167\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/1a9\/015\/f6f\/1a9015f6f879d6a6173e36c5621242ac.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0421\u0435\u0439\u0447\u0430\u0441 \u0443\u0433\u043e\u043b \u043c\u0435\u0436\u0434\u0443 \u0432\u0435\u043a\u0442\u043e\u0440\u0430\u043c\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439, \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f. \u041d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0447\u0442\u043e\u0431\u044b \u043a\u043e\u0433\u0434\u0430 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436 \u0434\u0432\u0438\u0433\u0430\u043b\u0441\u044f \u0432\u043b\u0435\u0432\u043e \u0443\u0433\u043e\u043b \u0431\u044b\u043b \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c, \u0430 \u043f\u0440\u0438 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0438 \u0432\u043f\u0440\u0430\u0432\u043e, \u043e\u043d \u0431\u044b\u043b \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u043d\u0430\u0439\u0442\u0438 \u0437\u043d\u0430\u043a \u0443\u0433\u043b\u0430 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u0432\u0435\u043a\u0442\u043e\u0440\u043d\u044b\u043c \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435(<a href=\"https:\/\/docs.unrealengine.com\/4.26\/en-US\/BlueprintAPI\/Math\/Vector\/CrossProduct\/\" rel=\"noopener noreferrer nofollow\"><strong>CrossProduct<\/strong><\/a>):<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e07\/5fc\/34a\/e075fc34ac2e62db3f0ff95d0a6684d5.png\" alt=\"\" title=\"\" width=\"844\" height=\"186\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e07\/5fc\/34a\/e075fc34ac2e62db3f0ff95d0a6684d5.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0430\u043a \u043a\u0430\u043a\u00a0<strong>Acos<\/strong>\u00a0\u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0443\u0433\u043e\u043b \u0432 \u0440\u0430\u0434\u0438\u0430\u043d\u0430\u0445, \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0432 \u0433\u0440\u0430\u0434\u0443\u0441\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0438\u00a0<a href=\"https:\/\/docs.unrealengine.com\/5.0\/en-US\/API\/Runtime\/Core\/Math\/FMath\/RadiansToDegrees\/\" rel=\"noopener noreferrer nofollow\"><strong>RadiansToDegrees<\/strong><\/a>\u00a0\u0438 \u0441\u0440\u0430\u0437\u0443 \u0443\u043c\u043d\u043e\u0436\u0438\u043c \u0433\u0440\u0430\u0434\u0443\u0441\u044b \u043d\u0430 \u0437\u043d\u0430\u043a \u0432\u0435\u043a\u0442\u043e\u0440\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f(<strong>SignAngle<\/strong>) \u043f\u043e \u043e\u0441\u0438\u00a0<strong>Z<\/strong>:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/75f\/496\/3e3\/75f4963e3e86fb8ceb88de3a442380b8.png\" alt=\"\" title=\"\" width=\"867\" height=\"232\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/75f\/496\/3e3\/75f4963e3e86fb8ceb88de3a442380b8.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041e\u0441\u0442\u0430\u043b\u043e\u0441\u044c\u00a0<strong>DegreesAngle<\/strong>\u00a0\u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0432 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ae1\/681\/0c6\/ae16810c64f13c93992ebfe188b5b62f.png\" alt=\"\" title=\"\" width=\"898\" height=\"241\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ae1\/681\/0c6\/ae16810c64f13c93992ebfe188b5b62f.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0432\u0435\u0440\u043d\u0435\u043c\u0441\u044f \u0432 \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0431\u043b\u044e\u043f\u0440\u0438\u043d\u0442\u00a0<strong>ABP_Player<\/strong>\u00a0\u0438 \u0432\u044b\u0437\u043e\u0432\u0435\u043c\u00a0<strong>Event Blueprint Initialize Animation<\/strong>:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/d16\/d3b\/17b\/d16d3b17b3e1eda8fc4f044f9356eba9.png\" alt=\"\" title=\"\" width=\"497\" height=\"246\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/d16\/d3b\/17b\/d16d3b17b3e1eda8fc4f044f9356eba9.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u0432\u044b\u0437\u043e\u0432\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e\u00a0<strong>Try Get Pawn Owner<\/strong>:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/f43\/99b\/9e9\/f4399b9e9815dbac68bbb3bce518eedc.png\" alt=\"\" title=\"\" width=\"433\" height=\"339\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/f43\/99b\/9e9\/f4399b9e9815dbac68bbb3bce518eedc.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0427\u0442\u043e\u0431\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e\u00a0<strong>Cast<\/strong>\u00a0\u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0430:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/7aa\/01e\/f02\/7aa01ef0254838dcc91a2a77d60d35a8.png\" alt=\"\" title=\"\" width=\"785\" height=\"318\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/7aa\/01e\/f02\/7aa01ef0254838dcc91a2a77d60d35a8.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0438\u0437 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u00a0<strong>Cast.<\/strong>\u00a0\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0449\u0435\u043b\u043a\u043d\u0443\u0442\u044c \u041f\u041a\u041c \u043f\u043e\u00a0<strong>As SHCharacter<\/strong>\u00a0\u0438 \u043f\u043e\u0442\u043e\u043c \u043f\u043e\u00a0<strong>Promote to Variable<\/strong>:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/644\/13b\/35e\/64413b35ea52746ce1d8a84fe025633b.png\" alt=\"\" title=\"\" width=\"440\" height=\"363\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/644\/13b\/35e\/64413b35ea52746ce1d8a84fe025633b.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0430\u0437\u043e\u0432\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e\u00a0<strong>Player<\/strong>:<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/3a2\/6fd\/64b\/3a26fd64b625e3153258b2b3bb0b257e.png\" alt=\"\" title=\"\" width=\"497\" height=\"281\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3a2\/6fd\/64b\/3a26fd64b625e3153258b2b3bb0b257e.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041f\u043e\u0441\u043b\u0435\u00a0<strong>Velocity<\/strong>\u00a0\u0432\u044b\u0437\u043e\u0432\u0435\u043c\u00a0<strong>Set Direction<\/strong>(\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u0440\u0430\u043d\u0435\u0435):<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/64c\/86c\/df6\/64c86cdf6a01e939786a73c97f585869.png\" alt=\"\" title=\"\" width=\"668\" height=\"264\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/64c\/86c\/df6\/64c86cdf6a01e939786a73c97f585869.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u041f\u043e\u0442\u043e\u043c \u0432\u043e\u0437\u044c\u043c\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e\u00a0<strong>Player<\/strong>\u00a0\u0438 \u0432\u044b\u0437\u043e\u0432\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e\u00a0<strong>MoveDirection<\/strong>, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u0438 \u0432 \u0421++ \u043a\u043b\u0430\u0441\u0441\u0435, \u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0438\u043c \u0441\u00a0<strong>Direction<\/strong>:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/7da\/5a5\/d89\/7da5a5d89f283cdd14fdbbeb621c9fa1.png\" alt=\"\" title=\"\" width=\"623\" height=\"360\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/7da\/5a5\/d89\/7da5a5d89f283cdd14fdbbeb621c9fa1.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0418 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0447\u0442\u043e \u043c\u044b \u0441\u0434\u0435\u043b\u0430\u0435\u043c &#8212; \u044d\u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0438\u00a0<a href=\"https:\/\/docs.unrealengine.com\/4.27\/en-US\/API\/Runtime\/Core\/UObject\/TWeakObjectPtr\/IsValid\/\" rel=\"noopener noreferrer nofollow\"><strong>IsValid<\/strong><\/a>, \u0447\u0442\u043e\u00a0<strong>Try Get Pawn Owner<\/strong>\u00a0\u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043d\u0435 \u043f\u0443\u0441\u0442\u043e\u0439 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0430:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/045\/a8d\/e4a\/045a8de4a44ce4393dcecc721593e8e8.png\" alt=\"\" title=\"\" width=\"904\" height=\"266\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/045\/a8d\/e4a\/045a8de4a44ce4393dcecc721593e8e8.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0435\u0441\u043b\u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0438\u0433\u0440\u0443 \u0438 \u043f\u043e\u0431\u0435\u0433\u0430\u0442\u044c \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0435\u043c \u0432 \u0440\u0430\u0437\u043d\u044b\u0435 \u0441\u0442\u043e\u0440\u043e\u043d\u044b, \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0438.<\/p>\n<p>\u0422\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0432\u0438\u0434\u0435\u043e:<\/p>\n<div class=\"tm-iframe_temp\" data-src=\"https:\/\/embedd.srv.habr.com\/iframe\/62ce72d2c5023e5a5b5f2bb9\" data-style=\"\" id=\"62ce72d2c5023e5a5b5f2bb9\" width=\"\"><\/div>\n<p><strong>\u041f\u043e\u0434\u043f\u0438\u0448\u0438\u0441\u044c:<\/strong><\/p>\n<blockquote>\n<p><em>Discord &#8212;\u00a0<\/em><a href=\"http:\/\/discord.gg\/CqZTXY4zwG\" rel=\"noopener noreferrer nofollow\"><em>discord.gg\/CqZTXY4zwG<\/em><\/a><\/p>\n<\/blockquote>\n<blockquote>\n<p><em>VK &#8212;\u00a0<\/em><a href=\"http:\/\/vk.com\/vlakugames\" rel=\"noopener noreferrer nofollow\"><em>vk.com\/vlakugames<\/em><\/a><\/p>\n<\/blockquote>\n<blockquote>\n<p><em>Youtube &#8212;\u00a0<\/em><a href=\"http:\/\/vk.cc\/cchfQD\" rel=\"noopener noreferrer nofollow\"><em>vk.cc\/cchfQD<\/em><\/a><\/p>\n<\/blockquote>\n<blockquote>\n<p><em>Rutube &#8212;\u00a0<\/em><a href=\"https:\/\/rutube.ru\/channel\/23334940\/\" rel=\"noopener noreferrer nofollow\"><em>https:\/\/rutube.ru\/channel\/23334940\/<\/em><\/a><\/p>\n<\/blockquote>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"v-portal\" style=\"display:none;\"><\/div>\n<\/div>\n<p> <!----> <!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/676642\/\"> https:\/\/habr.com\/ru\/post\/676642\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<details class=\"spoiler\">\n<summary>\u0412\u0435\u0441\u044c \u0446\u0438\u043a\u043b \u0441\u0442\u0430\u0442\u0435\u0439<\/summary>\n<div class=\"spoiler__content\">\n<ol>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/675906\/\" rel=\"noopener noreferrer nofollow\">\u0411\u0430\u0437\u043e\u0432\u0430\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0438 \u0438\u043c\u043f\u043e\u0440\u0442 \u0430\u0441\u0441\u0435\u0442\u043e\u0432<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/676530\/\" rel=\"noopener noreferrer nofollow\">\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0435\u043c \u0438 \u043a\u0430\u043c\u0435\u0440\u043e\u0439<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/676642\/\" rel=\"noopener noreferrer nofollow\">\u0410\u043d\u0438\u043c\u0430\u0446\u0438\u044f \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f \u0432\u043e \u0432\u0441\u0435 \u0441\u0442\u043e\u0440\u043e\u043d\u044b<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/post\/676644\/\" rel=\"noopener noreferrer nofollow\">\u041f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0438\u043d\u0432\u0435\u043d\u0442\u0430\u0440\u044c(\u0427\u0430\u0441\u0442\u044c 1)<\/a><\/p>\n<\/li>\n<\/ol>\n<\/div>\n<\/details>\n<p>\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442.<\/p>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043c \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u044e \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f \u0432\u043e \u0432\u0441\u0435 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u0434\u043b\u044f \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0430.<\/p>\n<p>\u041d\u0430\u0447\u043d\u0435\u043c \u0441 \u0442\u043e\u0433\u043e \u0447\u0442\u043e \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c\u00a0<strong>Animation Blueprint<\/strong>\u00a0\u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0430.<\/p>\n<p>\u041f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u0432 \u043f\u0430\u043f\u043a\u0443\u00a0<strong>Blueprints->Player<\/strong>\u00a0\u0438 \u043d\u0430\u0436\u043c\u0435\u043c \u041f\u041a\u041c. \u0412 \u043f\u043e\u044f\u0432\u0438\u0432\u0448\u0435\u043c\u0441\u044f \u043c\u0435\u043d\u044e \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c\u00a0<strong>Animation Blueprint<\/strong>:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043d\u0430\u0448 \u0441\u043a\u0435\u043b\u0435\u0442 \u0438 \u0436\u043c\u0435\u043c\u00a0<strong>OK<\/strong>:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0430\u0437\u043e\u0432\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u0431\u043b\u044e\u043f\u0440\u0438\u043d\u0442\u00a0<strong>ABP_Player<\/strong>:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u041e\u0442\u0440\u043e\u0435\u043c \u0435\u0433\u043e \u0438 \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u0432\u00a0<strong>AnimGraph<\/strong>:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0429\u0435\u043b\u043a\u043d\u0435\u043c \u041f\u041a\u041c \u0432\u043e\u00a0<strong>Viewport<\/strong>\u00a0\u0438 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043d\u043e\u0432\u0443\u044e\u00a0<strong>State Machine<\/strong>:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0430\u0437\u043e\u0432\u0435\u043c \u0435\u0435\u00a0<strong>Locomotion<\/strong>. \u0417\u0434\u0435\u0441\u044c \u0431\u0443\u0434\u0443\u0442 \u043d\u0430\u0448\u0430 \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u044f \u043f\u0435\u0440\u0435\u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f.<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0412\u0435\u0440\u043d\u0435\u043c\u0441\u044f \u0432 \u043f\u0430\u043f\u043a\u0443\u00a0<strong>Blueprints->Player<\/strong>\u00a0\u0438 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0442\u0430\u043c\u00a0<strong>Blend Space<\/strong>:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0430\u0437\u043e\u0432\u0435\u043c \u0435\u0433\u043e\u00a0<strong>BS_Locomotion<\/strong>:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u041e\u0442\u043a\u0440\u043e\u0435\u043c \u0435\u0433\u043e \u0438 \u0432\u00a0<strong>Axis settings<\/strong>\u00a0\u0443\u0432\u0438\u0434\u0438\u043c \u0447\u0442\u043e \u0435\u0441\u0442\u044c \u0434\u0432\u0435 \u043e\u0441\u0438 &#8212;\u00a0<strong>Horizontal \u0438 Vertical<\/strong>:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0420\u0430\u0437\u0432\u0435\u0440\u043d\u0435\u043c\u00a0<strong>Horizontal<\/strong>\u00a0\u0438 \u0434\u0430\u0434\u0438\u043c \u0435\u0439 \u0438\u043c\u044f\u00a0<strong>Velocity<\/strong>, \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u0432\u0435\u0447\u0430\u0442\u044c \u0437\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c.\u00a0<strong>Maximum Axis Value<\/strong>\u00a0\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u043d\u0430 600(\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0432\u00a0<strong>Character Movement Component<\/strong>):<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0435\u043c\u00a0<strong>Vertical<\/strong>\u00a0\u0438 \u043d\u0430\u0437\u043e\u0432\u0435\u043c \u0435\u0435\u00a0<strong>Direction<\/strong>, \u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u0432\u0435\u0447\u0430\u0442\u044c \u0437\u0430 \u0443\u0433\u043e\u043b \u043c\u0435\u0436\u0434\u0443 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u043c \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0438\u00a0<strong>Forward<\/strong>\u00a0\u0432\u0435\u043a\u0442\u043e\u0440\u043e\u043c \u0430\u043a\u0442\u043e\u0440\u0430. \u0422.\u0435. \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0432 \u043a\u0430\u043a\u0443\u044e \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u0434\u0432\u0438\u0436\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436 \u0438 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u044c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0443\u044e \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u044e. \u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 -180, \u0430 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e 180.<\/p>\n<p><strong>Number of Grid Divisions<\/strong>\u00a0\u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c \u043d\u0430 8:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0441\u0435\u0442\u043a\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0412\u00a0<strong>Asset Browser<\/strong>\u00a0\u043d\u0430\u0445\u043e\u0434\u0438\u043c \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u044e\u00a0<strong>Pistol_Idle<\/strong>:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u041f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c \u0435\u0435 \u0432 \u0442\u043e \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0433\u0434\u0430\u00a0<strong>Velocity<\/strong>\u00a0\u0438\u00a0<strong>Direction<\/strong>\u00a0\u0440\u0430\u0432\u043d\u044b 0:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0445\u043e\u0434\u0438\u043c \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u044e\u00a0<strong>Pistol_WalkFwdLoop<\/strong>:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u041f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c \u0435\u0435 \u0432 \u0442\u043e \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0433\u0434\u0430\u00a0<strong>Velocity = 150, \u0430 Direction = 0<\/strong>:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u044b \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0430 \u0432\u043b\u0435\u0432\u043e \u043f\u043e\u0434 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u0443\u0433\u043b\u0430\u043c\u0438:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0412\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0438\u0445 \u043a\u043e\u0433\u0434\u0430\u00a0<strong>Direction<\/strong>\u00a0\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c(\u0437\u043d\u0430\u0447\u0438\u0442 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436 \u0434\u0432\u0438\u0436\u0435\u0442\u0441\u044f \u0432\u043b\u0435\u0432\u043e). \u0427\u0438\u0441\u043b\u043e \u0432 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0438 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u043a\u0430\u043a\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u00a0<strong>Direction<\/strong>\u00a0\u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u044d\u0442\u0443 \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u044e.<\/p>\n<p><strong>Pistol_StrafeLeft45Loop &#8212; -45<\/strong><\/p>\n<p><strong>Pistol_StrafeLeftLoop &#8212; -90<\/strong><\/p>\n<p><strong>Pistol_StrafeLeft135Loop &#8212; -135<\/strong><\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0422\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u043f\u0440\u043e\u0434\u0435\u043b\u044b\u0432\u0430\u0435\u043c \u0441 \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u044f\u043c \u043a\u043e\u0433\u0434\u0430 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436 \u0434\u0432\u0438\u0436\u0435\u0442\u0441\u044f \u0432\u043f\u0440\u0430\u0432\u043e:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u043c \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u044e\u00a0<strong>Pistol_WalkBwdLoop<\/strong>\u00a0\u0438 \u0441\u0442\u0430\u0432\u0438\u043c \u0435\u0435 \u043a\u043e\u0433\u0434\u0430\u00a0<strong>Velocity = 150, \u0430 Direction = 180 \u0438 -180<\/strong><\/p>\n<p>\u0412 \u0438\u0442\u043e\u0433\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0447\u0442\u043e-\u0442\u043e \u0432 \u0442\u0430\u043a\u043e\u043c \u0432\u0438\u0434\u0435:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0422\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0434\u0435\u043b\u0430\u0442\u044c \u0434\u043b\u044f \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0438 \u0431\u0435\u0433\u0430:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0412\u0441\u0435 \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e, \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043d\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u00a0<strong>Velocity = 600<\/strong>.<\/p>\n<p>\u042d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0447\u0442\u043e-\u0442\u043e \u0432\u0440\u043e\u0434\u0435 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b).<\/p>\n<p>\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u0430:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0412\u0435\u0440\u043d\u0435\u043c\u0441\u044f \u0432\u00a0<strong>ABP_Player<\/strong>. \u0414\u0430\u043b\u044c\u0448\u0435 \u0432\u00a0<strong>Locomotion<\/strong>\u00a0\u0438 \u043f\u0435\u0440\u0435\u0442\u0430\u0441\u043a\u0438\u0432\u0430\u0435\u043c\u00a0<strong>BS_Lomotion<\/strong>\u00a0\u0432\u043e<strong>\u00a0Viewport<\/strong>:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0421\u043e\u0435\u0434\u0438\u043d\u044f\u0435\u043c \u0435\u0433\u043e \u0441\u00a0<strong>Entry<\/strong>:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0437\u0430\u0445\u043e\u0434\u0438\u043c \u0432\u043d\u0443\u0442\u0440\u044c\u00a0<strong>BS_Locomotion<\/strong>. \u0429\u0435\u043b\u043a\u0430\u0435\u043c \u041f\u041a\u041c \u043f\u043e\u00a0<strong>Velocity<\/strong>\u00a0\u0438 \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0438\u0437 \u043d\u0435\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e(<strong>Promote to Variable<\/strong>):<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0422\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u043f\u0440\u043e\u0434\u0435\u043b\u044b\u0432\u0430\u0435\u043c \u0441\u00a0<strong>Direction<\/strong>:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0412\u0435\u0440\u043d\u0435\u043c\u0441\u044f \u0432\u00a0<strong>AnimGraph<\/strong>\u00a0\u0438 \u0441\u043e\u0435\u0434\u0438\u043d\u0438\u043c\u00a0<strong>Locomotion \u0441 OutputPose<\/strong>:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u041f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u0432\u00a0<strong>BP_SHCharacter\u00a0<\/strong>\u0438 \u0432\u044b\u0434\u0435\u043b\u0438\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u00a0<strong>Skeletal Mesh<\/strong>:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0412\u00a0<strong>Details<\/strong>\u00a0\u043d\u0443\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043d\u0430\u0448 \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0431\u043b\u044e\u043f\u0440\u0438\u043d\u0442 \u0432\u00a0<strong>Anim Class<\/strong>:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0435\u0441\u043b\u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0438\u0433\u0440\u0443 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u044c \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u044f\u00a0<strong>Idle<\/strong>, \u043d\u043e \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0438\u00a0<strong>Walk<\/strong>\u00a0\u0438\u00a0<strong>Run<\/strong>\u00a0\u043d\u0435\u0442.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u043e\u043d\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435\u00a0<strong>Velocity(\u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c)\u00a0<\/strong>\u0438\u00a0<strong>Direction(\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435)<\/strong>.<\/p>\n<p>\u041d\u0430\u0447\u043d\u0435\u043c \u0441\u00a0<strong>Velocity<\/strong>\u00a0\u0438 \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u044d\u0442\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0431\u043b\u044e\u043f\u0440\u0438\u043d\u0442\u043e\u0432.<\/p>\n<p>\u041f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u0432\u00a0<strong>ABP_Player<\/strong>. \u0414\u0430\u043b\u044c\u0448\u0435 \u0432\u00a0<strong>EventGraph<\/strong>:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0421\u043b\u0435\u0432\u0430 \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043d\u0430\u0448\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435\u00a0<strong>Velocity\u00a0<\/strong>\u0438\u00a0<strong>Direction<\/strong>:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u041f\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u043c\u00a0<strong>Velocity<\/strong>\u00a0\u0432\u043e\u00a0<strong>Viewport<\/strong>\u00a0\u0438 \u0432\u044b\u0431\u0435\u0440\u0435\u043c\u00a0<strong>Set Velocity<\/strong>:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0424\u0443\u043d\u043a\u0446\u0438\u044f\u00a0<a href=\"https:\/\/docs.unrealengine.com\/4.27\/en-US\/BlueprintAPI\/Animation\/TryGetPawnOwner\/\" rel=\"noopener noreferrer nofollow\"><strong>Try Get Pawn Owner<\/strong><\/a>\u00a0\u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0430 \u043f\u0435\u0448\u043a\u0438, \u043d\u0430 \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0430. \u0423 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0435\u0441\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u00a0<a href=\"https:\/\/docs.unrealengine.com\/4.27\/en-US\/BlueprintAPI\/Utilities\/Transformation\/GetVelocity\/\" rel=\"noopener noreferrer nofollow\"><strong>Get Velocity<\/strong><\/a>, \u043d\u0430\u0445\u043e\u0434\u0438\u043c \u0435\u0435:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p><strong>Get Velocity<\/strong>\u00a0\u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u00a0<strong>Vector<\/strong>. \u0427\u0442\u043e\u0431\u044b \u0443\u0437\u043d\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0443\u0437\u043d\u0430\u0442\u044c \u0434\u043b\u0438\u043d\u0443 \u044d\u0442\u043e\u0433\u043e \u0432\u0435\u043a\u0442\u043e\u0440\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0438\u00a0<a href=\"https:\/\/docs.unrealengine.com\/4.27\/en-US\/BlueprintAPI\/Math\/Vector\/VectorLength\/\" rel=\"noopener noreferrer nofollow\"><strong>Vector Length<\/strong><\/a>:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0418 \u0442\u0435\u043f\u0435\u0440\u044c \u0434\u043b\u0438\u043d\u0443 \u044d\u0442\u043e\u0433\u043e \u0432\u0435\u043a\u0442\u043e\u0440\u0430 \u0441\u043e\u0435\u0434\u0438\u043d\u044f\u0435\u043c \u0441 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439\u00a0<strong>Velocity<\/strong>:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0415\u0441\u043b\u0438 \u0441\u0435\u0439\u0447\u0430\u0441 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0438\u0433\u0440\u0443, \u0442\u043e \u043d\u0430\u0447\u043d\u0443\u0442 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0438\u00a0<strong>Walk<\/strong>\u00a0\u0438\u00a0<strong>Run<\/strong>, \u043d\u043e \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0438 \u043f\u0440\u0438 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0438 \u0432 \u0431\u043e\u043a \u043d\u0435\u0442.<\/p>\n<p>\u041f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u0432 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u043a\u043e\u0434\u0430, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u0432 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u0447\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0430\u00a0<strong>SHCharacter.h,<\/strong>\u00a0\u0447\u0442\u043e\u0431\u044b \u044d\u0442\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c.<\/p>\n<p>\u0412 \u0441\u0435\u043a\u0446\u0438\u0438\u00a0<strong>protected<\/strong>\u00a0\u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043d\u043e\u0432\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e\u00a0<strong>MoveDirection<\/strong>, \u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u0442\u0438\u043f\u00a0<strong>float<\/strong>(\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f, \u0435\u0441\u043b\u0438 \u0442\u043e\u0447\u043d\u0435\u0435 \u0443\u0433\u043e\u043b \u043c\u0435\u0436\u0434\u0443 foward \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u043c \u0438 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u043c \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438).<\/p>\n<p>\u0422\u0430\u043a\u0436\u0435 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u043c\u0430\u043a\u0440\u043e\u0441\u043e\u043c\u00a0<a href=\"https:\/\/docs.unrealengine.com\/4.26\/en-US\/ProgrammingAndScripting\/GameplayArchitecture\/Functions\/\" rel=\"noopener noreferrer nofollow\"><strong>UFUNCTION<\/strong><\/a>\u00a0\u0441\u043e \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u043c\u00a0<strong>BlueprintCallable<\/strong>, \u0447\u0442\u043e\u0431\u044b \u043c\u044b \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 \u0432 \u0431\u043b\u044e\u043f\u0440\u0438\u043d\u0442\u0430\u0445.<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u0432\u00a0<strong>SHCharacter.cpp<\/strong>\u00a0\u0438 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0442\u0435\u043b\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438\u00a0<strong>MoveDirection<\/strong>:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u041a\u0430\u043a \u044f \u0433\u043e\u0432\u043e\u0440\u0438\u043b \u0432\u044b\u0448\u0435 &#8212; \u044d\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u0443\u0433\u043e\u043b \u043c\u0435\u0436\u0434\u0443 foward \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u043c \u0438 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u043c \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438<\/p>\n<p>\u0414\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0441 \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438 \u0432\u0435\u043a\u0442\u043e\u0440\u0430\u043c\u0438, \u0442.\u0435. \u0440\u0430\u0432\u043d\u044b\u043c\u0438 1. Forward \u0432\u0435\u043a\u0442\u043e\u0440 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d, \u0430 \u0432\u043e\u0442 \u0432\u0435\u043a\u0442\u043e\u0440 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0438\u00a0<a href=\"https:\/\/docs.unrealengine.com\/4.26\/en-US\/API\/Runtime\/Core\/Math\/FVector\/GetSafeNormal\/\" rel=\"noopener noreferrer nofollow\"><strong>GetSafeNormal<\/strong><\/a><strong>\u00a0\u0443 GetVelocity<\/strong>:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0443\u0433\u043e\u043b \u043c\u0435\u0436\u0434\u0443 \u043d\u0430\u0448\u0438\u043c\u0438 \u0432\u0435\u043a\u0442\u043e\u0440\u0430\u043c\u0438 c \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u043a\u0430\u043b\u044f\u0440\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0443\u00a0<strong>Vector<\/strong>\u00a0\u0435\u0441\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f\u00a0<a href=\"https:\/\/docs.unrealengine.com\/4.26\/en-US\/BlueprintAPI\/Math\/Vector\/DotProduct\/\" rel=\"noopener noreferrer nofollow\"><strong>DotProduct<\/strong><\/a>.<\/p>\n<p><strong>DotProduct<\/strong>\u00a0\u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u0441\u0438\u043d\u0443\u0441 \u0443\u0433\u043b\u0430 \u043c\u0435\u0436\u0434\u0443 \u0432\u0435\u043a\u0442\u043e\u0440\u0430\u043c\u0438, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0443\u0433\u043b\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 \u0430\u0440\u043a\u043a\u043e\u0441\u0438\u043d\u0443\u0441\u0430(<strong>Acos<\/strong>), \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435\u00a0<strong>FMath<\/strong>.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0421\u0435\u0439\u0447\u0430\u0441 \u0443\u0433\u043e\u043b \u043c\u0435\u0436\u0434\u0443 \u0432\u0435\u043a\u0442\u043e\u0440\u0430\u043c\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439, \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f. \u041d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0447\u0442\u043e\u0431\u044b \u043a\u043e\u0433\u0434\u0430 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436 \u0434\u0432\u0438\u0433\u0430\u043b\u0441\u044f \u0432\u043b\u0435\u0432\u043e \u0443\u0433\u043e\u043b \u0431\u044b\u043b \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c, \u0430 \u043f\u0440\u0438 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0438 \u0432\u043f\u0440\u0430\u0432\u043e, \u043e\u043d \u0431\u044b\u043b \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u043d\u0430\u0439\u0442\u0438 \u0437\u043d\u0430\u043a \u0443\u0433\u043b\u0430 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u0432\u0435\u043a\u0442\u043e\u0440\u043d\u044b\u043c \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435(<a href=\"https:\/\/docs.unrealengine.com\/4.26\/en-US\/BlueprintAPI\/Math\/Vector\/CrossProduct\/\" rel=\"noopener noreferrer nofollow\"><strong>CrossProduct<\/strong><\/a>):<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0430\u043a \u043a\u0430\u043a\u00a0<strong>Acos<\/strong>\u00a0\u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0443\u0433\u043e\u043b \u0432 \u0440\u0430\u0434\u0438\u0430\u043d\u0430\u0445, \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0432 \u0433\u0440\u0430\u0434\u0443\u0441\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0438\u00a0<a href=\"https:\/\/docs.unrealengine.com\/5.0\/en-US\/API\/Runtime\/Core\/Math\/FMath\/RadiansToDegrees\/\" rel=\"noopener noreferrer nofollow\"><strong>RadiansToDegrees<\/strong><\/a>\u00a0\u0438 \u0441\u0440\u0430\u0437\u0443 \u0443\u043c\u043d\u043e\u0436\u0438\u043c \u0433\u0440\u0430\u0434\u0443\u0441\u044b \u043d\u0430 \u0437\u043d\u0430\u043a \u0432\u0435\u043a\u0442\u043e\u0440\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f(<strong>SignAngle<\/strong>) \u043f\u043e \u043e\u0441\u0438\u00a0<strong>Z<\/strong>:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u041e\u0441\u0442\u0430\u043b\u043e\u0441\u044c\u00a0<strong>DegreesAngle<\/strong>\u00a0\u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0432 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0432\u0435\u0440\u043d\u0435\u043c\u0441\u044f \u0432 \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0431\u043b\u044e\u043f\u0440\u0438\u043d\u0442\u00a0<strong>ABP_Player<\/strong>\u00a0\u0438 \u0432\u044b\u0437\u043e\u0432\u0435\u043c\u00a0<strong>Event Blueprint Initialize Animation<\/strong>:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u0432\u044b\u0437\u043e\u0432\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e\u00a0<strong>Try Get Pawn Owner<\/strong>:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0427\u0442\u043e\u0431\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e\u00a0<strong>Cast<\/strong>\u00a0\u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0430:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0438\u0437 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u00a0<strong>Cast.<\/strong>\u00a0\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0449\u0435\u043b\u043a\u043d\u0443\u0442\u044c \u041f\u041a\u041c \u043f\u043e\u00a0<strong>As SHCharacter<\/strong>\u00a0\u0438 \u043f\u043e\u0442\u043e\u043c \u043f\u043e\u00a0<strong>Promote to Variable<\/strong>:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u041d\u0430\u0437\u043e\u0432\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e\u00a0<strong>Player<\/strong>:<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u041f\u043e\u0441\u043b\u0435\u00a0<strong>Velocity<\/strong>\u00a0\u0432\u044b\u0437\u043e\u0432\u0435\u043c\u00a0<strong>Set Direction<\/strong>(\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u0440\u0430\u043d\u0435\u0435):<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u041f\u043e\u0442\u043e\u043c \u0432\u043e\u0437\u044c\u043c\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e\u00a0<strong>Player<\/strong>\u00a0\u0438 \u0432\u044b\u0437\u043e\u0432\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e\u00a0<strong>MoveDirection<\/strong>, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u0438 \u0432 \u0421++ \u043a\u043b\u0430\u0441\u0441\u0435, \u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0438\u043c \u0441\u00a0<strong>Direction<\/strong>:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0418 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0447\u0442\u043e \u043c\u044b \u0441\u0434\u0435\u043b\u0430\u0435\u043c &#8212; \u044d\u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0438\u00a0<a href=\"https:\/\/docs.unrealengine.com\/4.27\/en-US\/API\/Runtime\/Core\/UObject\/TWeakObjectPtr\/IsValid\/\" rel=\"noopener noreferrer nofollow\"><strong>IsValid<\/strong><\/a>, \u0447\u0442\u043e\u00a0<strong>Try Get Pawn Owner<\/strong>\u00a0\u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043d\u0435 \u043f\u0443\u0441\u0442\u043e\u0439 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0430:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0435\u0441\u043b\u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0438\u0433\u0440\u0443 \u0438 \u043f\u043e\u0431\u0435\u0433\u0430\u0442\u044c \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0435\u043c \u0432 \u0440\u0430\u0437\u043d\u044b\u0435 \u0441\u0442\u043e\u0440\u043e\u043d\u044b, \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0438.<\/p>\n<p>\u0422\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0432\u0438\u0434\u0435\u043e:<\/p>\n<div class=\"tm-iframe_temp\" data-src=\"https:\/\/embedd.srv.habr.com\/iframe\/62ce72d2c5023e5a5b5f2bb9\" data-style=\"\" id=\"62ce72d2c5023e5a5b5f2bb9\" width=\"\"><\/div>\n<p><strong>\u041f\u043e\u0434\u043f\u0438\u0448\u0438\u0441\u044c:<\/strong><\/p>\n<blockquote>\n<p><em>Discord &#8212;\u00a0<\/em><a href=\"http:\/\/discord.gg\/CqZTXY4zwG\" rel=\"noopener noreferrer nofollow\"><em>discord.gg\/CqZTXY4zwG<\/em><\/a><\/p>\n<\/blockquote>\n<blockquote>\n<p><em>VK &#8212;\u00a0<\/em><a href=\"http:\/\/vk.com\/vlakugames\" rel=\"noopener noreferrer nofollow\"><em>vk.com\/vlakugames<\/em><\/a><\/p>\n<\/blockquote>\n<blockquote>\n<p><em>Youtube &#8212;\u00a0<\/em><a href=\"http:\/\/vk.cc\/cchfQD\" rel=\"noopener noreferrer nofollow\"><em>vk.cc\/cchfQD<\/em><\/a><\/p>\n<\/blockquote>\n<blockquote>\n<p><em>Rutube &#8212;\u00a0<\/em><a href=\"https:\/\/rutube.ru\/channel\/23334940\/\" rel=\"noopener noreferrer nofollow\"><em>https:\/\/rutube.ru\/channel\/23334940\/<\/em><\/a><\/p>\n<\/blockquote>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"v-portal\" style=\"display:none;\"><\/div>\n<\/div>\n<p> <!----> <!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/676642\/\"> https:\/\/habr.com\/ru\/post\/676642\/<\/a><br \/><\/br><\/br><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-335651","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/335651","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=335651"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/335651\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=335651"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=335651"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=335651"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}