{"id":287281,"date":"2018-08-16T14:05:43","date_gmt":"2018-08-16T10:05:43","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=287281"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=287281","title":{"rendered":"\u0420\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Render Targets \u0432 Unreal Engine"},"content":{"rendered":"\n<div data-io-article-url=\"https:\/\/habr.com\/post\/420031\/\" class=\"post__text post__text-html js-mediator-article\">\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/276\/6ee\/ee4\/2766eeee4fcc87c31919d427c829ee98.gif\"><\/div>\n<p>  Render target \u2014 \u044d\u0442\u043e, \u043f\u043e \u0441\u0443\u0442\u0438, \u0442\u0435\u043a\u0441\u0442\u0443\u0440\u0430, \u0432 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u044c \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u0421 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u0434\u0432\u0438\u0436\u043a\u0430 \u043e\u043d\u0438 \u0445\u0440\u0430\u043d\u044f\u0442 \u0442\u0430\u043a\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e, \u043a\u0430\u043a \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u0446\u0432\u0435\u0442, \u043d\u043e\u0440\u043c\u0430\u043b\u0438 \u0438 ambient occlusion.<\/p>\n<p>  \u0421 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f render target \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u0432\u043e\u0435\u0433\u043e \u0440\u043e\u0434\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043a\u0430\u043c\u0435\u0440\u044b. \u041c\u043e\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u0437\u0430\u0445\u0432\u0430\u0442 \u0441\u0446\u0435\u043d\u044b (scene capture) \u0432 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0442\u043e\u0447\u043a\u0435 \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0432 render target. \u0417\u0430\u0442\u0435\u043c \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c render target \u043d\u0430 \u043c\u0435\u0448\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u0441\u0438\u043c\u0443\u043b\u044f\u0446\u0438\u0438 \u043a\u0430\u043c\u0435\u0440\u044b \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u044f.<\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u0432\u0435\u0440\u0441\u0438\u0438 \u0434\u0432\u0438\u0436\u043a\u0430 4.13 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Epic \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043d\u0430 render target \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0431\u043b\u044e\u043f\u0440\u0438\u043d\u0442\u043e\u0432. \u042d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u044b, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u0438\u043c\u0443\u043b\u044f\u0446\u0438\u044e \u0436\u0438\u0434\u043a\u043e\u0441\u0442\u0438 \u0438 \u0434\u0435\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0441\u043d\u0435\u0433\u0430. \u0417\u0432\u0443\u0447\u0438\u0442 \u043f\u043e\u0442\u0440\u044f\u0441\u0430\u044e\u0449\u0435, \u043f\u0440\u0430\u0432\u0434\u0430? \u041d\u043e \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u043a \u0442\u0430\u043a\u0438\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u043c \u044d\u0444\u0444\u0435\u043a\u0442\u0430\u043c, \u043b\u0443\u0447\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u043e\u0441\u0432\u043e\u0438\u0442\u044c\u0441\u044f \u0441 \u0447\u0435\u043c-\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u044b\u043c. \u0427\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u043e\u0449\u0435, \u0447\u0435\u043c \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 render target?<\/p>\n<p>  \u0412 \u044d\u0442\u043e\u043c \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b\u0435 \u0432\u044b \u043d\u0430\u0443\u0447\u0438\u0442\u0435\u0441\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443:<\/p>\n<ul>\n<li>\u0414\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c render target \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0431\u043b\u044e\u043f\u0440\u0438\u043d\u0442\u043e\u0432<\/li>\n<li>\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c render target \u043d\u0430 \u043c\u0435\u0448\u0435<\/li>\n<li>\u0420\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u0442\u0435\u043a\u0441\u0442\u0443\u0440\u0443 \u043d\u0430 render target<\/li>\n<li>\u041c\u0435\u043d\u044f\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440 \u043a\u0438\u0441\u0442\u0438 \u0438 \u0442\u0435\u043a\u0441\u0442\u0443\u0440\u0443 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0438\u0433\u0440\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430<\/li>\n<\/ul>\n<p><a name=\"habracut\"><\/a>  <\/p>\n<blockquote><p><em>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435:<\/em> \u0432 \u044d\u0442\u043e\u043c \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b\u0435 \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0432\u044b \u0443\u0436\u0435 \u0437\u043d\u0430\u043a\u043e\u043c\u044b \u0441 \u043e\u0441\u043d\u043e\u0432\u0430\u043c\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0432 Unreal Engine. \u0415\u0441\u043b\u0438 \u0432\u044b \u043d\u043e\u0432\u0438\u0447\u043e\u043a \u0432 Unreal Engine, \u0442\u043e \u0438\u0437\u0443\u0447\u0438\u0442\u0435 \u043d\u0430\u0448\u0443 \u0441\u0435\u0440\u0438\u044e \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b\u043e\u0432 \u0438\u0437 \u0434\u0435\u0441\u044f\u0442\u0438 \u0447\u0430\u0441\u0442\u0435\u0439 <a href=\"https:\/\/habr.com\/post\/344394\/\">Unreal Engine \u0434\u043b\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0445<\/a>.<\/p><\/blockquote>\n<p>  <\/p>\n<h2>\u041f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0435\u043c \u043a \u0440\u0430\u0431\u043e\u0442\u0435<\/h2>\n<p>  \u041d\u0430\u0447\u043d\u0451\u043c \u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b\u0430 (\u0432\u0437\u044f\u0442\u044c \u0438\u0445 \u043c\u043e\u0436\u043d\u043e <a href=\"https:\/\/koenig-media.raywenderlich.com\/uploads\/2018\/05\/CanvasPainter.zip\">\u0437\u0434\u0435\u0441\u044c<\/a>). \u0420\u0430\u0441\u043f\u0430\u043a\u0443\u0439\u0442\u0435 \u0438\u0445, \u043f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043a <em>CanvasPainterStarter<\/em> \u0438 \u043e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 <em>CanvasPainter.uproject<\/em>. \u0415\u0441\u043b\u0438 \u0432\u044b \u043d\u0430\u0436\u043c\u0451\u0442\u0435 <em>Play<\/em>, \u0442\u043e \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/9b9\/e6d\/01f\/9b9e6d01f6955d5a93f737588f4bb730.jpg\"><\/div>\n<p>  \u041a\u0432\u0430\u0434\u0440\u0430\u0442 \u043f\u043e\u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435 (canvas) \u2014 \u044d\u0442\u043e \u0442\u043e, \u043d\u0430 \u0447\u0451\u043c \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c. \u042d\u043b\u0435\u043c\u0435\u043d\u0442\u044b UI \u0441\u043b\u0435\u0432\u0430 \u0431\u0443\u0434\u0443\u0442 \u0442\u0435\u043a\u0441\u0442\u0443\u0440\u043e\u0439, \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c, \u0438 \u0435\u0451 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c.<\/p>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0440\u0430\u0437\u0431\u0435\u0440\u0451\u043c\u0441\u044f \u0441\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f.<\/p>\n<h2>\u0421\u043f\u043e\u0441\u043e\u0431 \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f<\/h2>\n<p>  \u041f\u0435\u0440\u0432\u043e\u0435, \u0447\u0442\u043e \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u2014 \u044d\u0442\u043e render target, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0445\u043e\u043b\u0441\u0442\u0430 (canvas). \u0414\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0442\u043e\u0433\u043e, \u0433\u0434\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 render target, \u043c\u044b \u043e\u0442\u0442\u0440\u0430\u0441\u0441\u0438\u0440\u0443\u0435\u043c \u043f\u0440\u044f\u043c\u0443\u044e, \u0432\u044b\u0445\u043e\u0434\u044f\u0449\u0443\u044e \u0438\u0437 \u043a\u0430\u043c\u0435\u0440\u044b \u0432\u043f\u0435\u0440\u0451\u0434. \u0415\u0441\u043b\u0438 \u043f\u0440\u044f\u043c\u0430\u044f \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u0435\u0442 \u0445\u043e\u043b\u0441\u0442, \u0442\u043e \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043c\u0435\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u044f \u0432 UV-\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435.<\/p>\n<p>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u0445\u043e\u043b\u0441\u0442 \u0438\u043c\u0435\u0435\u0442 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0443 UV-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442, \u0442\u043e \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u0435 \u0432 \u0446\u0435\u043d\u0442\u0440\u0435 \u0432\u0435\u0440\u043d\u0451\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <em>(0.5, 0.5)<\/em>. \u0415\u0441\u043b\u0438 \u043f\u0440\u044f\u043c\u0430\u044f \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u0435\u0442 \u0445\u043e\u043b\u0441\u0442 \u0432 \u043f\u0440\u0430\u0432\u043e\u043c \u043d\u0438\u0436\u043d\u0435\u043c \u0443\u0433\u043b\u0443, \u0442\u043e \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <em>(1, 1)<\/em>. \u0417\u0430\u0442\u0435\u043c \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0440\u0430\u0441\u0447\u0451\u0442\u0430 \u043c\u0435\u0441\u0442\u0430 \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/5f2\/369\/fe2\/5f2369fe21d9655fa5e7fc0914c6c023.gif\"><\/div>\n<p>  \u041d\u043e \u0437\u0430\u0447\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u0432 UV-\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435? \u041f\u043e\u0447\u0435\u043c\u0443 \u0431\u044b \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u043c\u0438\u0440\u0430? \u041f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u043c\u0438\u0440\u0430 \u043d\u0430\u043c \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0442\u044c \u043c\u0435\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u044f \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043b\u043e\u0441\u043a\u043e\u0441\u0442\u0438. \u0422\u0430\u043a\u0436\u0435 \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u043f\u043e\u0432\u043e\u0440\u043e\u0442 \u0438 \u043c\u0430\u0441\u0448\u0442\u0430\u0431 \u043f\u043b\u043e\u0441\u043a\u043e\u0441\u0442\u0438.<\/p>\n<p>  \u041f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 UV-\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u0432\u0441\u0435 \u044d\u0442\u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u044e\u0442\u0441\u044f. \u041d\u0430 \u043f\u043b\u043e\u0441\u043a\u043e\u0441\u0442\u0438 \u0441 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u043e\u0439 UV-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u0435 \u0441 \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u043e\u0439 \u0432\u0441\u0435\u0433\u0434\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 <em>(0.5, 0.5)<\/em>, \u0432\u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438 \u043f\u043e\u0432\u043e\u0440\u043e\u0442\u0430 \u043f\u043b\u043e\u0441\u043a\u043e\u0441\u0442\u0438.<\/p>\n<blockquote><p><em>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435:<\/em> \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u043c\u044b\u0439 \u0432 \u044d\u0442\u043e\u043c \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b\u0435 \u043c\u0435\u0442\u043e\u0434 \u0432 \u043e\u0431\u0449\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u043f\u043b\u043e\u0441\u043a\u043e\u0441\u0442\u044f\u043c\u0438 \u0438\u043b\u0438 \u043f\u043e\u0445\u043e\u0436\u0438\u043c\u0438 \u043d\u0430 \u043f\u043b\u043e\u0441\u043a\u043e\u0441\u0442\u0438 \u043f\u043e\u0432\u0435\u0440\u0445\u043d\u043e\u0441\u0442\u044f\u043c\u0438. \u0414\u043b\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u0442\u0438\u043f\u043e\u0432 \u0433\u0435\u043e\u043c\u0435\u0442\u0440\u0438\u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u044e \u0432 \u0434\u0440\u0443\u0433\u043e\u043c \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b\u0435.<\/p><\/blockquote>\n<p>  \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c render target.<\/p>\n<h2>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 \u0445\u043e\u043b\u0441\u0442\u0430<\/h2>\n<p>  \u041f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432 \u043f\u0430\u043f\u043a\u0443 <em>Materials<\/em> \u0438 \u043e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 <em>M_Canvas<\/em>.<\/p>\n<p>  \u0412 \u044d\u0442\u043e\u043c \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b\u0435 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c render target \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0431\u043b\u044e\u043f\u0440\u0438\u043d\u0442\u043e\u0432. \u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u043d\u0430\u043c \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0442\u0435\u043a\u0441\u0442\u0443\u0440\u0443 \u043a\u0430\u043a \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440, \u0447\u0442\u043e\u0431\u044b \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0435\u0433\u043e render target. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c <em>TextureSampleParameter2D<\/em> \u0438 \u043d\u0430\u0437\u043e\u0432\u0451\u043c \u0435\u0433\u043e <em>RenderTarget<\/em>. \u0417\u0430\u0442\u0435\u043c \u0441\u043e\u0435\u0434\u0438\u043d\u0438\u043c \u0435\u0433\u043e \u0441 <em>BaseColor<\/em>.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/439\/741\/68a\/43974168a064c39f35acc53ab09f1c65.jpg\"><\/div>\n<p>  \u041f\u043e\u043a\u0430 \u043d\u0435 \u0431\u0435\u0441\u043f\u043e\u043a\u043e\u0439\u0442\u0435\u0441\u044c \u043e \u0432\u044b\u0431\u043e\u0440\u0435 \u0442\u0435\u043a\u0441\u0442\u0443\u0440\u044b \u2014 \u043c\u044b \u0437\u0430\u0439\u043c\u0451\u043c\u0441\u044f \u044d\u0442\u0438\u043c \u0434\u0430\u043b\u044c\u0448\u0435 \u0432 \u0431\u043b\u044e\u043f\u0440\u0438\u043d\u0442\u0430\u0445. \u041d\u0430\u0436\u043c\u0438\u0442\u0435 <em>Apply<\/em>, \u0430 \u0437\u0430\u0442\u0435\u043c \u0437\u0430\u043a\u0440\u043e\u0439\u0442\u0435 <em>M_Canvas<\/em>.<\/p>\n<p>  \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u044d\u0442\u0430\u043f\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 render target, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0435\u0433\u043e \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 \u0445\u043e\u043b\u0441\u0442\u0430.<\/p>\n<h2>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 Render Target<\/h2>\n<p>  \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0434\u0432\u0430 \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f render target. \u041f\u0435\u0440\u0432\u044b\u0439: \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0432 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0435 \u043d\u0430\u0436\u0430\u0442\u0438\u0435\u043c \u043d\u0430 <em>Add New\\Materials &amp; Textures\\Render Target<\/em>. \u042d\u0442\u043e\u0442 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0443\u0434\u043e\u0431\u043d\u043e \u0441\u0441\u044b\u043b\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 render target \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c \u0430\u043a\u0442\u043e\u0440\u0430\u043c. \u041e\u0434\u043d\u0430\u043a\u043e \u0435\u0441\u043b\u0438 \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u044f\u0442\u0441\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0445\u043e\u043b\u0441\u0442\u043e\u0432, \u0442\u043e \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c render target \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0445\u043e\u043b\u0441\u0442\u0430.<\/p>\n<p>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043b\u0443\u0447\u0448\u0435 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c render target \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0431\u043b\u044e\u043f\u0440\u0438\u043d\u0442\u043e\u0432. \u041f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u043e \u0442\u0430\u043a\u043e\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0430 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u0451\u043c render targets \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0438 \u043e\u043d\u0438 \u043d\u0435 \u0440\u0430\u0437\u0434\u0443\u0432\u0430\u044e\u0442 \u043e\u0431\u044a\u0451\u043c \u0444\u0430\u0439\u043b\u043e\u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0430.<\/p>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c render target \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0435\u0433\u043e \u043a\u0430\u043a \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0434\u043b\u044f \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f. \u041f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432 \u043f\u0430\u043f\u043a\u0443 <em>Blueprints<\/em> \u0438 \u043e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 <em>BP_Canvas<\/em>. \u041d\u0430\u0439\u0434\u0438\u0442\u0435 <em>Event BeginPlay<\/em> \u0438 \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u0443\u0437\u043b\u044b.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/7ed\/91a\/e85\/7ed91ae8543ccf5875dad7828c308ed1.jpg\"><\/div>\n<p>  \u041f\u0440\u0438\u0441\u0432\u043e\u0439\u0442\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c <em>Width<\/em> \u0438 <em>Height<\/em> \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <em>1024<\/em>. \u0422\u0430\u043a \u043c\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u043c \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 render target \u043d\u0430 <em>1024\u00d71024<\/em>. \u0427\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0442\u0435\u043c \u0432\u044b\u0448\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f, \u043d\u043e \u0438 \u0431\u043e\u043b\u044c\u0448\u0435 \u0437\u0430\u0442\u0440\u0430\u0442\u044b \u0432\u0438\u0434\u0435\u043e\u043f\u0430\u043c\u044f\u0442\u0438.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/aeb\/56f\/96c\/aeb56f96c38d3ae2606d4f3b2d3abeaf.jpg\"><\/div>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u0438\u0434\u0451\u0442 \u043d\u043e\u0434 <em>Clear Render Target 2D<\/em>. \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u043d\u043e\u0434 \u0434\u043b\u044f \u0437\u0430\u0434\u0430\u043d\u0438\u044f \u0446\u0432\u0435\u0442\u0430 render target. \u0417\u0430\u0434\u0430\u0439\u0442\u0435 <em>Clear Color<\/em> \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <em>(0.07, 0.13, 0.06)<\/em>. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432\u0435\u0441\u044c render target \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u0441\u044f \u0437\u0435\u043b\u0435\u043d\u043e\u0432\u0430\u0442\u044b\u043c \u0446\u0432\u0435\u0442\u043e\u043c.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/94b\/d30\/eed\/94bd30eedc1f590ffd157c8091d7898e.jpg\"><\/div>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c render target \u043d\u0430 \u043c\u0435\u0448\u0435 \u0445\u043e\u043b\u0441\u0442\u0430.<\/p>\n<h3>\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 Render Target<\/h3>\n<p>  \u041d\u0430 \u0434\u0430\u043d\u043d\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043c\u0435\u0448 \u0445\u043e\u043b\u0441\u0442\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e. \u0414\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f render target \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 <em>M_Canvas<\/em> \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0435\u043c\u0443 render target. \u0417\u0430\u0442\u0435\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 \u043a \u043c\u0435\u0448\u0443 \u0445\u043e\u043b\u0441\u0442\u0430. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u043d\u043e\u0434\u044b:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/c9a\/7d8\/1aa\/c9a7d81aa770c63cc6cf75f52746c4c3.jpg\"><\/div>\n<p>  \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0435\u0440\u0435\u0439\u0434\u0451\u043c \u043a \u043d\u043e\u0434\u0443 <em>Create Dynamic Material Instance<\/em> \u0438 \u0437\u0430\u0434\u0430\u0434\u0438\u043c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 <em>Parent<\/em> \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <em>M_Canvas<\/em>. \u0422\u0430\u043a \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 <em>M_Canvas<\/em>.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/da7\/f26\/2bf\/da7f262bfda0215098287d3a2286085b.jpg\"><\/div>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043f\u0435\u0440\u0435\u0439\u0434\u0451\u043c \u043a \u043d\u043e\u0434\u0443 <em>Set Texture Parameter Value<\/em> \u0438 \u0437\u0430\u0434\u0430\u0434\u0438\u043c \u0434\u043b\u044f <em>Parameter Name<\/em> \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <em>RenderTarget<\/em>. \u0422\u0430\u043a \u043c\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0434\u0438\u043c render target \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u0440\u0430\u043d\u0435\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0443 \u0442\u0435\u043a\u0441\u0442\u0443\u0440\u044b.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/7c7\/8d0\/377\/7c78d0377ef6a592c05f5cd54d08a89e.jpg\"><\/div>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430 \u043c\u0435\u0448\u0435 \u0445\u043e\u043b\u0441\u0442\u0430 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f render target. \u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u043d\u0430 <em>Compile<\/em> \u0438 \u0432\u0435\u0440\u043d\u0438\u0442\u0435\u0441\u044c \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440. \u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u043d\u0430 <em>Play<\/em>, \u0447\u0442\u043e\u0431\u044b \u0443\u0432\u0438\u0434\u0435\u0442\u044c, \u043a\u0430\u043a \u0445\u043e\u043b\u0441\u0442 \u0438\u0437\u043c\u0435\u043d\u0438\u0442 \u0446\u0432\u0435\u0442.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/53f\/949\/fd6\/53f949fd6ad350b4a016545af0eca47c.jpg\"><\/div>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c, \u043a\u043e\u0433\u0434\u0430 \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0445\u043e\u043b\u0441\u0442, \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043a\u0438\u0441\u0442\u0438.<\/p>\n<h2>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 \u043a\u0438\u0441\u0442\u0438<\/h2>\n<p>  \u041f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432 \u043f\u0430\u043f\u043a\u0443 <em>Materials<\/em>. \u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b <em>M_Brush<\/em> \u0438 \u043e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0435\u0433\u043e. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0437\u0430\u0434\u0430\u0439\u0442\u0435 \u0434\u043b\u044f <em>Blend Mode<\/em> \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <em>Translucent<\/em>. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043d\u0430\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0435\u043a\u0441\u0442\u0443\u0440\u044b \u0441 \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u0441\u0442\u044c\u044e.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/cf2\/18a\/4b7\/cf218a4b7b0e2c57f307cd06d8a92860.jpg\"><\/div>\n<p>  \u041a\u0430\u043a \u0438 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u043c \u0445\u043e\u043b\u0441\u0442\u0430, \u043c\u044b \u0437\u0430\u0434\u0430\u0451\u043c \u0442\u0435\u043a\u0441\u0442\u0443\u0440\u0443 \u0434\u043b\u044f \u043a\u0438\u0441\u0442\u0438 \u0432 \u0431\u043b\u044e\u043f\u0440\u0438\u043d\u0442\u0430\u0445. \u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 <em>TextureSampleParameter2D<\/em> \u0438 \u043d\u0430\u0437\u043e\u0432\u0438\u0442\u0435 \u0435\u0433\u043e <em>BrushTexture<\/em>. \u0421\u043e\u0435\u0434\u0438\u043d\u0438\u0442\u0435 \u0435\u0433\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/097\/c49\/7d1\/097c497d1e50af95c004f9bdfe849897.jpg\"><\/div>\n<p>  \u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u043d\u0430 <em>Apply<\/em>, \u0430 \u0437\u0430\u0442\u0435\u043c \u0437\u0430\u043a\u0440\u043e\u0439\u0442\u0435 <em>M_Brush<\/em>.<\/p>\n<p>  \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u2014 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 \u043a\u0438\u0441\u0442\u0438, \u0447\u0442\u043e\u0431\u044b \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043c\u0435\u043d\u044f\u0442\u044c \u0442\u0435\u043a\u0441\u0442\u0443\u0440\u0443 \u043a\u0438\u0441\u0442\u0438. \u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 <em>BP_Canvas<\/em> \u0438 \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u0443\u0437\u043b\u044b.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/49d\/628\/860\/49d62886060349fc146ce04c150d539c.jpg\"><\/div>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432 \u043d\u043e\u0434 <em>Create Dynamic Material Instance<\/em> \u0438 \u0437\u0430\u0434\u0430\u0439\u0442\u0435 \u0434\u043b\u044f <em>Parent<\/em> \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <em>M_Canvas<\/em>.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/8e0\/009\/4aa\/8e00094aa61fbd27c527f207b360856b.jpg\"><\/div>\n<p>  \u041c\u044b \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u043a\u0438\u0441\u0442\u0438, \u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u0438\u0441\u0442\u044c\u044e \u043d\u0430 render target.<\/p>\n<h2>\u0420\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u0438\u0441\u0442\u044c\u044e \u043d\u0430 Render Target<\/h2>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043d\u043e\u0432\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0438 \u043d\u0430\u0437\u043e\u0432\u0438\u0442\u0435 \u0435\u0451 <em>DrawBrush<\/em>. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u044f\u0442\u0441\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b: \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0430\u044f \u0442\u0435\u043a\u0441\u0442\u0443\u0440\u0430, \u0440\u0430\u0437\u043c\u0435\u0440 \u043a\u0438\u0441\u0442\u0438 \u0438 \u043c\u0435\u0441\u0442\u043e \u0434\u043b\u044f \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f. \u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0432\u0445\u043e\u0434\u043d\u044b\u0435 \u0432\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435:<\/p>\n<ul>\n<li><em>BrushTexture:<\/em> \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0438\u043f <em>Texture 2D<\/em>  <\/li>\n<li><em>BrushSize:<\/em> \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0438\u043f <em>float<\/em>  <\/li>\n<li><em>DrawLocation:<\/em> \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0438\u043f <em>Vector 2D<\/em><\/li>\n<\/ul>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/e6e\/2cb\/d2f\/e6e2cbd2f9e69222d7bcbe616d30f8b2.jpg\"><\/div>\n<p>  \u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u043a\u0438\u0441\u0442\u044c, \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u0435\u0451 \u0442\u0435\u043a\u0441\u0442\u0443\u0440\u0443. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0441\u0445\u0435\u043c\u0443, \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043d\u0443\u044e \u043d\u0438\u0436\u0435. \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 <em>Parameter Name<\/em> \u0432\u044b\u0431\u0440\u0430\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <em>BrushTexture<\/em>.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/0ff\/645\/efc\/0ff645efc2374126884a93b9b3a8c25b.jpg\"><\/div>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0443 \u0432 render target. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u043d\u043e\u0434\u044b:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/c69\/b73\/c02\/c69b73c027dc7280673644d512498492.jpg\"><\/div>\n<p>  <em>Begin Draw Canvas to Render Target<\/em> \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0434\u0432\u0438\u0436\u043a\u0443 \u0443\u0437\u043d\u0430\u0442\u044c, \u0447\u0442\u043e \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043d\u0430\u0447\u0430\u0442\u044c \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0443 \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0439 render target. <em>Draw Material<\/em> \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u043f\u043e \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u043c\u0443 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044e \u0441 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u043c \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0438 \u043f\u043e\u0432\u043e\u0440\u043e\u0442\u043e\u043c.<\/p>\n<p>  \u0412\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 \u2014 \u044d\u0442\u043e \u0434\u0432\u0443\u0445\u044d\u0442\u0430\u043f\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043e\u0442\u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u0442\u044c <em>DrawLocation<\/em>, \u0447\u0442\u043e\u0431\u044b \u0443\u043c\u0435\u0441\u0442\u0438\u0442\u044c\u0441\u044f \u0432 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 render target. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0443\u043c\u043d\u043e\u0436\u0438\u043c <em>DrawLocation<\/em> \u043d\u0430 <em>Size<\/em>.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/cbb\/513\/4d2\/cbb5134d2311305c42095e53939cc130.jpg\"><\/div>\n<p>  \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0434\u0432\u0438\u0436\u043e\u043a \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0438 \u0432\u0435\u0440\u0445\u043d\u0438\u0439 \u043b\u0435\u0432\u044b\u0439 \u0443\u0433\u043e\u043b. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u0435\u043a\u0441\u0442\u0443\u0440\u0430 \u043a\u0438\u0441\u0442\u0438 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0446\u0435\u043d\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u043d\u0430\u043c, \u0433\u0434\u0435 \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0443. \u0427\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u044d\u0442\u043e, \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c <em>BrushSize<\/em> \u043d\u0430 <em>2<\/em>, \u0430 \u0437\u0430\u0442\u0435\u043c \u0432\u044b\u0447\u0435\u0441\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0438\u0437 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u044d\u0442\u0430\u043f\u0430.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/501\/58f\/e82\/50158fe822073487d12a3099f86c7737.jpg\"><\/div>\n<p>  \u0417\u0430\u0442\u0435\u043c \u0441\u043e\u0435\u0434\u0438\u043d\u0438\u043c \u0432\u0441\u0451 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/d58\/20a\/111\/d5820a1117491a78e4e020c4fd13e6ca.jpg\"><\/div>\n<p>  \u041d\u0430\u043a\u043e\u043d\u0435\u0446 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u043e\u0431\u0449\u0438\u0442\u044c \u0434\u0432\u0438\u0436\u043a\u0443, \u0447\u0442\u043e \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0443 \u0432 render target. \u0414\u043e\u0431\u0430\u0432\u0438\u043c \u043d\u043e\u0434 <em>End Draw Canvas to Render Target<\/em> \u0438 \u0441\u043e\u0435\u0434\u0438\u043d\u0438\u043c \u0435\u0433\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/86f\/8ff\/a3e\/86f8ffa3ecad0a4b3b47fe21f4044eb0.jpg\"><\/div>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 <em>DrawBrush<\/em> \u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0442\u0435\u043a\u0441\u0442\u0443\u0440\u044b \u0434\u043b\u044f <em>BrushMaterial<\/em> \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u0443\u044e \u0442\u0435\u043a\u0441\u0442\u0443\u0440\u0443. \u0417\u0430\u0442\u0435\u043c \u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u044b\u0432\u0430\u0442\u044c <em>BrushMaterial<\/em> \u0432 <em>RenderTarget<\/em>, \u043f\u043e\u043b\u044c\u0437\u0443\u044f\u0441\u044c \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u043f\u043e\u0437\u0438\u0446\u0438\u0435\u0439 \u0438 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c.<\/p>\n<p>  \u0418 \u043d\u0430 \u044d\u0442\u043e\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 \u0433\u043e\u0442\u043e\u0432\u0430. \u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u043d\u0430 <em>Compile<\/em> \u0438 \u0437\u0430\u043a\u0440\u043e\u0439\u0442\u0435 <em>BP_Canvas<\/em>. \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0448\u0430\u0433\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u0442\u0440\u0430\u0441\u0441\u0438\u0440\u043e\u0432\u043a\u0430 \u043f\u0440\u044f\u043c\u043e\u0439 \u0438\u0437 \u043a\u0430\u043c\u0435\u0440\u044b \u0438 \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 \u0442\u043e\u043c \u043c\u0435\u0441\u0442\u0435 \u0445\u043e\u043b\u0441\u0442\u0430, \u0433\u0434\u0435 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u0435.<\/p>\n<h2>\u0422\u0440\u0430\u0441\u0441\u0438\u0440\u043e\u0432\u043a\u0430 \u043f\u0440\u044f\u043c\u043e\u0439 \u0438\u0437 \u043a\u0430\u043c\u0435\u0440\u044b<\/h2>\n<p>  \u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u0445\u043e\u043b\u0441\u0442\u0435, \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0442\u0435\u043a\u0441\u0442\u0443\u0440\u0443 \u043a\u0438\u0441\u0442\u0438 \u0438 \u0440\u0430\u0437\u043c\u0435\u0440. \u041f\u0435\u0440\u0435\u0439\u0434\u0451\u043c \u0432 \u043f\u0430\u043f\u043a\u0443 <em>Blueprints<\/em> \u0438 \u043e\u0442\u043a\u0440\u043e\u0435\u043c <em>BP_Player<\/em>. \u0417\u0430\u0442\u0435\u043c \u043f\u0440\u0438\u0441\u0432\u043e\u0438\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 <em>BrushTexture<\/em> \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <em>T_Brush_01<\/em>, \u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 <em>BrushSize<\/em> \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <em>500<\/em>. \u0422\u0430\u043a \u043c\u044b \u043d\u0430\u0437\u043d\u0430\u0447\u0438\u043c \u043a\u0438\u0441\u0442\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043e\u0431\u0435\u0437\u044c\u044f\u043d\u044b \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c <em>500\u00d7500<\/em> \u043f\u0438\u043a\u0441\u0435\u043b\u0435\u0439.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/a76\/ab2\/b26\/a76ab2b267bd2f0ea514b319528eeb26.jpg\"><\/div>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0442\u0440\u0430\u0441\u0441\u0438\u0440\u043e\u0432\u043a\u0443 \u043f\u0440\u044f\u043c\u043e\u0439. \u041d\u0430\u0439\u0434\u0438\u0442\u0435 <em>InputAxis Paint<\/em> \u0438 \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0441\u0445\u0435\u043c\u0443:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/775\/cf0\/68e\/775cf068e5c0820fa2d4539ca6ae3960.jpg\"><\/div>\n<p>  \u0422\u0430\u043a \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0442\u0440\u0430\u0441\u0441\u0438\u0440\u043e\u0432\u043a\u0443 \u043f\u0440\u044f\u043c\u043e\u0439, \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u0438\u0437 \u043a\u0430\u043c\u0435\u0440\u044b \u043f\u0440\u044f\u043c\u043e, \u043f\u043e\u043a\u0430 \u0438\u0433\u0440\u043e\u043a \u0431\u0443\u0434\u0435\u0442 \u0443\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u043a\u043b\u0430\u0432\u0438\u0448\u0443, \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u0443\u044e \u0434\u043b\u044f <em>Paint<\/em> (\u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e <em>\u043b\u0435\u0432\u0430\u044f \u043a\u043b\u0430\u0432\u0438\u0448\u0430 \u043c\u044b\u0448\u0438<\/em>).<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u043b\u0430 \u043b\u0438 \u043f\u0440\u044f\u043c\u0430\u044f \u0445\u043e\u043b\u0441\u0442. \u0414\u043e\u0431\u0430\u0432\u0438\u043c \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u043d\u043e\u0434\u044b:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/da5\/f53\/97b\/da5f5397b6a59eebdb9fce09541a35d8.jpg\"><\/div>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u0438 \u043f\u0440\u044f\u043c\u043e\u0439 \u0438 \u0445\u043e\u043b\u0441\u0442\u0430 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f <em>DrawBrush<\/em>, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0430\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u044b\u0435 \u0435\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043a\u0438\u0441\u0442\u0438 \u0438 UV-\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b.<\/p>\n<p>  \u0427\u0442\u043e\u0431\u044b \u043d\u043e\u0434 <em>Find Collision UV<\/em> \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b, \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0434\u0432\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430. \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u043f\u0435\u0440\u0435\u0439\u0434\u0451\u043c \u0432 \u043d\u043e\u0434 <em>LineTraceByChannel<\/em> \u0438 \u0432\u043a\u043b\u044e\u0447\u0438\u043c <em>Trace Complex<\/em>.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/759\/207\/f4a\/759207f4a22689a21f91f6c244648f75.jpg\"><\/div>\n<p>  \u0412\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u043f\u0435\u0440\u0435\u0439\u0434\u0451\u043c \u0432 <em>Edit\\Project Settings<\/em>, \u0430 \u0437\u0430\u0442\u0435\u043c \u0432 <em>Engine\\Physics<\/em>. \u0412\u043a\u043b\u044e\u0447\u0438\u043c <em>Support UV From Hit Results<\/em> \u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u043f\u0440\u043e\u0435\u043a\u0442.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/c8f\/42d\/56b\/c8f42d56bac2b1ec4ad15884efa7f51d.jpg\"><\/div>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0434\u043b\u044f \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u0445\u043e\u043b\u0441\u0442\u0435 \u043d\u0430\u0436\u043c\u0438\u0442\u0435 <em>Play<\/em> \u0438 <em>\u043b\u0435\u0432\u0443\u044e \u043a\u043b\u0430\u0432\u0438\u0448\u0443 \u043c\u044b\u0448\u0438<\/em>.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/2b3\/5ff\/ad6\/2b35ffad6680fa6349018143397310f3.gif\"><\/div>\n<p>  \u041c\u043e\u0436\u043d\u043e \u0434\u0430\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0445\u043e\u043b\u0441\u0442\u043e\u0432 \u0438 \u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0438\u0437 \u043d\u0438\u0445 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e. \u042d\u0442\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043a\u0430\u0436\u0434\u044b\u0439 \u0445\u043e\u043b\u0441\u0442 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u043e\u0437\u0434\u0430\u0451\u0442 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 render target.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/151\/9c6\/89e\/1519c689ef59642b5fbb6a8dfbd304dc.gif\"><\/div>\n<p>  \u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u043c\u044b \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438\u0433\u0440\u043e\u043a\u043e\u043c \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u043a\u0438\u0441\u0442\u0438.<\/p>\n<h2>\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u043a\u0438\u0441\u0442\u0438<\/h2>\n<p>  \u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 <em>BP_Player<\/em> \u0438 \u043d\u0430\u0439\u0434\u0438\u0442\u0435 \u043d\u043e\u0434 <em>InputAxis ChangeBrushSize<\/em>. \u042d\u0442\u0430 \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0430 \u043e\u0441\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 <em>\u043a\u043e\u043b\u0435\u0441\u0430 \u043c\u044b\u0448\u0438<\/em>. \u0414\u043b\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u043a\u0438\u0441\u0442\u0438 \u043d\u0430\u043c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043c\u0435\u043d\u044f\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <em>BrushSize<\/em> \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 <em>Axis Value<\/em>. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0441\u0445\u0435\u043c\u0443:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/554\/da6\/2c8\/554da62c836912958e8588e582862a69.jpg\"><\/div>\n<p>  \u041e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043f\u0440\u0438\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 \u0432\u044b\u0447\u0438\u0442\u0430\u043d\u0438\u0435 \u0438\u0437 <em>BrushSize<\/em> \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0438\u0433\u0440\u043e\u043a\u043e\u043c \u043a\u043e\u043b\u0435\u0441\u0430 \u043c\u044b\u0448\u0438. \u041f\u0435\u0440\u0432\u043e\u0435 \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043f\u0440\u0438\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u0432\u044b\u0447\u0438\u0442\u0430\u043d\u0438\u044f. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043c\u0435\u0440\u044b \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e <em>Clamp (float)<\/em>. \u041e\u043d \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u0435\u0442, \u0447\u0442\u043e \u0440\u0430\u0437\u043c\u0435\u0440 \u043a\u0438\u0441\u0442\u0438 \u043d\u0435 \u0441\u0442\u0430\u043d\u0435\u0442 \u043c\u0435\u043d\u044c\u0448\u0435 <em>0<\/em> \u0438\u043b\u0438 \u0431\u043e\u043b\u044c\u0448\u0435 <em>1000<\/em>.<\/p>\n<p>  \u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u043d\u0430 <em>Compile<\/em> \u0438 \u0432\u0435\u0440\u043d\u0438\u0442\u0435\u0441\u044c \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440. \u041f\u043e\u043a\u0440\u0443\u0442\u0438\u0442\u0435 <em>\u043a\u043e\u043b\u0435\u0441\u043e \u043c\u044b\u0448\u0438<\/em>, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440 \u043a\u0438\u0441\u0442\u0438 \u043f\u0440\u0438 \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u0438.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/276\/6ee\/ee4\/2766eeee4fcc87c31919d427c829ee98.gif\"><\/div>\n<p>  \u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u0438\u0433\u0440\u043e\u043a\u0443 \u043c\u0435\u043d\u044f\u0442\u044c \u0442\u0435\u043a\u0441\u0442\u0443\u0440\u0443 \u043a\u0438\u0441\u0442\u0438.<\/p>\n<h2>\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0442\u0435\u043a\u0441\u0442\u0443\u0440\u044b \u043a\u0438\u0441\u0442\u0438<\/h2>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0430\u043c \u043d\u0443\u0436\u0435\u043d \u043c\u0430\u0441\u0441\u0438\u0432 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0442\u0435\u043a\u0441\u0442\u0443\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0433\u0440\u043e\u043a. \u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 <em>BP_Player<\/em> \u0438 \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e <em>array<\/em>. \u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0434\u043b\u044f \u043d\u0435\u0451 \u0442\u0438\u043f <em>Texture 2D<\/em> \u0438 \u043d\u0430\u0437\u043e\u0432\u0438\u0442\u0435 \u0435\u0451 <em>Textures<\/em>.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/425\/45f\/db9\/42545fdb9060f05e84a1e251be28bc3e.jpg\"><\/div>\n<p>  \u0417\u0430\u0442\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 <em>\u0442\u0440\u0438<\/em> \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u0432 <em>Textures<\/em>. \u041f\u0440\u0438\u0441\u0432\u043e\u0439\u0442\u0435 \u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f:<\/p>\n<ul>\n<li><em>T_Brush_01<\/em><\/li>\n<li><em>T_Brush_02<\/em><\/li>\n<li><em>T_Brush_03<\/em><\/li>\n<\/ul>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/93e\/a5a\/9fb\/93ea5a9fb103654bac3448131c9b6d11.jpg\"><\/div>\n<p>  \u042d\u0442\u043e \u0431\u0443\u0434\u0443\u0442 \u0442\u0435\u043a\u0441\u0442\u0443\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0441\u043c\u043e\u0436\u0435\u0442 \u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u0438\u0433\u0440\u043e\u043a. \u0414\u043b\u044f \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u043e\u0432\u044b\u0445 \u0442\u0435\u043a\u0441\u0442\u0443\u0440 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0438\u0445 \u0432 \u044d\u0442\u043e\u0442 \u043c\u0430\u0441\u0441\u0438\u0432.<\/p>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043d\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0438\u043d\u0434\u0435\u043a\u0441\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u0430. \u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e <em>integer<\/em> \u0438 \u043d\u0430\u0437\u043e\u0432\u0438\u0442\u0435 \u0435\u0451 <em>CurrentTextureIndex<\/em>.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/c0f\/b87\/b82\/c0fb87b8243042c1ce3a6d441490b63e.jpg\"><\/div>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043d\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c \u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u0431\u0445\u043e\u0434\u0430 \u0432 \u0446\u0438\u043a\u043b\u0435 \u0432\u0441\u0435\u0445 \u0442\u0435\u043a\u0441\u0442\u0443\u0440. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b\u0430 \u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043b \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0443 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f (action mapping) \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c <em>NextTexture<\/em> \u0438 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043b \u0435\u0451 \u043a <em>\u043f\u0440\u0430\u0432\u043e\u0439 \u043a\u043b\u0430\u0432\u0438\u0448\u0435 \u043c\u044b\u0448\u0438<\/em>. \u041a\u043e\u0433\u0434\u0430 \u0438\u0433\u0440\u043e\u043a \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u0442 \u044d\u0442\u0443 \u043a\u043b\u0430\u0432\u0438\u0448\u0443, \u0434\u043e\u043b\u0436\u0435\u043d \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0442\u0435\u043a\u0441\u0442\u0443\u0440\u0435. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u0439\u0434\u0438\u0442\u0435 \u043d\u043e\u0434 <em>InputAction NextTexture<\/em> \u0438 \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0441\u0445\u0435\u043c\u0443:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/3f2\/3d1\/9ad\/3f23d19ad803a74af5a11892dc7e3579.jpg\"><\/div>\n<p>  \u042d\u0442\u0430 \u0441\u0445\u0435\u043c\u0430 \u0431\u0443\u0434\u0435\u0442 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0442\u044c <em>CurrentTextureIndex<\/em> \u043f\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u043c \u043d\u0430\u0436\u0430\u0442\u0438\u0438 \u043d\u0430 <em>\u043f\u0440\u0430\u0432\u0443\u044e \u043a\u043b\u0430\u0432\u0438\u0448\u0443 \u043c\u044b\u0448\u0438<\/em>. \u0415\u0441\u043b\u0438 \u0438\u043d\u0434\u0435\u043a\u0441 \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442 \u043a\u043e\u043d\u0446\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u0430, \u0442\u043e \u043e\u043d \u0441\u043d\u043e\u0432\u0430 \u0441\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 <em>0<\/em>. \u041d\u0430\u043a\u043e\u043d\u0435\u0446, <em>BrushTexture<\/em> \u0437\u0430\u0434\u0430\u0451\u0442\u0441\u044f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0430\u044f \u0442\u0435\u043a\u0441\u0442\u0443\u0440\u0430.<\/p>\n<p>  \u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u043d\u0430 <em>Compile<\/em> \u0438 \u0437\u0430\u043a\u0440\u043e\u0439\u0442\u0435 <em>BP_Player<\/em>. \u041d\u0430\u0436\u043c\u0438\u0442\u0435 <em>Play<\/em> \u0438 \u0449\u0451\u043b\u043a\u0430\u0439\u0442\u0435 <em>\u043f\u0440\u0430\u0432\u043e\u0439 \u043a\u043b\u0430\u0432\u0438\u0448\u0435\u0439 \u043c\u044b\u0448\u0438<\/em> \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u0442\u0435\u043a\u0441\u0442\u0443\u0440\u0430\u043c\u0438.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/8f4\/ed0\/d25\/8f4ed0d25ed9f1944327137905ecba2b.gif\"><\/div>\n<p>  <\/p>\n<h2>\u041a\u0443\u0434\u0430 \u0434\u0432\u0438\u0433\u0430\u0442\u044c\u0441\u044f \u0434\u0430\u043b\u044c\u0448\u0435?<\/h2>\n<p>  \u0413\u043e\u0442\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c <a href=\"https:\/\/koenig-media.raywenderlich.com\/uploads\/2018\/05\/CanvasPainter.zip\">\u043e\u0442\u0441\u044e\u0434\u0430<\/a>.<\/p>\n<p>  Render target \u2014 \u044d\u0442\u043e \u0447\u0440\u0435\u0437\u0432\u044b\u0447\u0430\u0439\u043d\u043e \u043c\u043e\u0449\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0438 \u0432 \u044d\u0442\u043e\u043c \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b\u0435 \u043c\u044b \u0437\u0430\u0442\u0440\u043e\u043d\u0443\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0430\u043c\u044b\u0435 \u043e\u0441\u043d\u043e\u0432\u044b. \u0415\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0443\u0437\u043d\u0430\u0442\u044c, \u043d\u0430 \u0447\u0442\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b render targets, \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 <a href=\"https:\/\/www.youtube.com\/watch?v=QGIKrD7uHu8\">Content-Driven Multipass Rendering in UE4<\/a>. \u0412 \u044d\u0442\u043e\u043c \u0432\u0438\u0434\u0435\u043e \u0435\u0441\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u0430\u0440\u0442 \u043f\u043e\u0442\u043e\u043a\u043e\u0432, \u043e\u0431\u044a\u0451\u043c\u043d\u043e\u0433\u043e \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f, \u0441\u0438\u043c\u0443\u043b\u044f\u0446\u0438\u0438 \u0436\u0438\u0434\u043a\u043e\u0441\u0442\u0435\u0439 \u0438 \u043c\u043d\u043e\u0433\u043e\u0433\u043e \u0434\u0440\u0443\u0433\u043e\u0433\u043e.<\/p>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043d\u0430\u0448\u0435 \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0435\u0435 \u0432\u0438\u0434\u0435\u043e <a href=\"https:\/\/www.youtube.com\/watch?v=1Z-V1Buk6z8\">Blueprint Drawing to Render Targets<\/a>, \u0447\u0442\u043e\u0431\u044b \u0443\u0437\u043d\u0430\u0442\u044c, \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e render target \u0440\u0438\u0441\u043e\u0432\u0430\u043b\u043a\u0443 \u043a\u0430\u0440\u0442\u044b \u0432\u044b\u0441\u043e\u0442.<\/div>\n<p>        <script class=\"js-mediator-script\">!function(e){function t(t,n){if(!(n in e)){for(var r,a=e.document,i=a.scripts,o=i.length;o--;)if(-1!==i[o].src.indexOf(t)){r=i[o];break}if(!r){r=a.createElement(\"script\"),r.type=\"text\/javascript\",r.async=!0,r.defer=!0,r.src=t,r.charset=\"UTF-8\";var d=function(){var e=a.getElementsByTagName(\"script\")[0];e.parentNode.insertBefore(r,e)};\"[object Opera]\"==e.opera?a.addEventListener?a.addEventListener(\"DOMContentLoaded\",d,!1):e.attachEvent(\"onload\",d):d()}}}t(\"\/\/mediator.mail.ru\/script\/2820404\/\",\"_mediator\")}(window);<\/script>     <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\/post\/420031\/\"> https:\/\/habr.com\/post\/420031\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div data-io-article-url=\"https:\/\/habr.com\/post\/420031\/\" class=\"post__text post__text-html js-mediator-article\">\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/276\/6ee\/ee4\/2766eeee4fcc87c31919d427c829ee98.gif\"><\/div>\n<p>  Render target \u2014 \u044d\u0442\u043e, \u043f\u043e \u0441\u0443\u0442\u0438, \u0442\u0435\u043a\u0441\u0442\u0443\u0440\u0430, \u0432 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u044c \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u0421 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u0434\u0432\u0438\u0436\u043a\u0430 \u043e\u043d\u0438 \u0445\u0440\u0430\u043d\u044f\u0442 \u0442\u0430\u043a\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e, \u043a\u0430\u043a \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u0446\u0432\u0435\u0442, \u043d\u043e\u0440\u043c\u0430\u043b\u0438 \u0438 ambient occlusion.<\/p>\n<p>  \u0421 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f render target \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u0432\u043e\u0435\u0433\u043e \u0440\u043e\u0434\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043a\u0430\u043c\u0435\u0440\u044b. \u041c\u043e\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u0437\u0430\u0445\u0432\u0430\u0442 \u0441\u0446\u0435\u043d\u044b (scene capture) \u0432 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0442\u043e\u0447\u043a\u0435 \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0432 render target. \u0417\u0430\u0442\u0435\u043c \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c render target \u043d\u0430 \u043c\u0435\u0448\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u0441\u0438\u043c\u0443\u043b\u044f\u0446\u0438\u0438 \u043a\u0430\u043c\u0435\u0440\u044b \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u044f.<\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u0432\u0435\u0440\u0441\u0438\u0438 \u0434\u0432\u0438\u0436\u043a\u0430 4.13 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Epic \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043d\u0430 render target \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0431\u043b\u044e\u043f\u0440\u0438\u043d\u0442\u043e\u0432. \u042d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u044b, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u0438\u043c\u0443\u043b\u044f\u0446\u0438\u044e \u0436\u0438\u0434\u043a\u043e\u0441\u0442\u0438 \u0438 \u0434\u0435\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0441\u043d\u0435\u0433\u0430. \u0417\u0432\u0443\u0447\u0438\u0442 \u043f\u043e\u0442\u0440\u044f\u0441\u0430\u044e\u0449\u0435, \u043f\u0440\u0430\u0432\u0434\u0430? \u041d\u043e \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u043a \u0442\u0430\u043a\u0438\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u043c \u044d\u0444\u0444\u0435\u043a\u0442\u0430\u043c, \u043b\u0443\u0447\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u043e\u0441\u0432\u043e\u0438\u0442\u044c\u0441\u044f \u0441 \u0447\u0435\u043c-\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u044b\u043c. \u0427\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u043e\u0449\u0435, \u0447\u0435\u043c \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 render target?<\/p>\n<p>  \u0412 \u044d\u0442\u043e\u043c \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b\u0435 \u0432\u044b \u043d\u0430\u0443\u0447\u0438\u0442\u0435\u0441\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443:<\/p>\n<ul>\n<li>\u0414\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c render target \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0431\u043b\u044e\u043f\u0440\u0438\u043d\u0442\u043e\u0432<\/li>\n<li>\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c render target \u043d\u0430 \u043c\u0435\u0448\u0435<\/li>\n<li>\u0420\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u0442\u0435\u043a\u0441\u0442\u0443\u0440\u0443 \u043d\u0430 render target<\/li>\n<li>\u041c\u0435\u043d\u044f\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440 \u043a\u0438\u0441\u0442\u0438 \u0438 \u0442\u0435\u043a\u0441\u0442\u0443\u0440\u0443 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0438\u0433\u0440\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430<\/li>\n<\/ul>\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-287281","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/287281","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=287281"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/287281\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=287281"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=287281"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=287281"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}