{"id":615,"date":"2026-05-29T14:12:54","date_gmt":"2026-05-29T14:12:54","guid":{"rendered":"https:\/\/raduclim.com\/?page_id=615"},"modified":"2026-06-02T10:47:35","modified_gmt":"2026-06-02T10:47:35","slug":"underwater-concept","status":"publish","type":"page","link":"https:\/\/raduclim.com\/?page_id=615","title":{"rendered":"underwater concept"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"615\" class=\"elementor elementor-615\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5832fcb e-con e-atomic-element e-flexbox-base e-5832fcb-4f201a1 \" data-id=\"5832fcb\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"5832fcb\">\n    \t\t<div class=\"elementor-element elementor-element-4a5e9ecf elementor-widget elementor-widget-html\" data-id=\"4a5e9ecf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<script>\ndocument.addEventListener('DOMContentLoaded', function() {\n    const backBtn = document.getElementById('portfolio-back-btn');\n    if (backBtn) {\n        backBtn.addEventListener('click', function(e) {\n            e.preventDefault(); \/\/ Stops the page from jumping\n            window.history.back(); \/\/ Snaps instantly back to homepage position\n        });\n    }\n});\n<\/script>\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-642f5d4b e-con e-atomic-element e-flexbox-base e-642f5d4b-30ec3ab \" data-id=\"642f5d4b\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"642f5d4b\">\n    \t\t\t<a href=\"#\" target=\"_self\" class=\"e-73d6e360-2c0cf35 e-button-base\" data-interaction-id=\"73d6e360\" id=\"portfolio-back-btn\">\n\t\t<strong>\u2190<\/strong> Back to Portfolio\n\t<\/a>\t\t\t\t\t<h2 data-interaction-id=\"4b8a08e9\" class=\"e-4b8a08e9-9af7042 e-heading-base\">Underwater world<\/h2>\n\t\t\n<\/div>\n\t\t<div class=\"elementor-element elementor-element-739b322d elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"739b322d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\n<\/div>\n<div class=\"elementor-element elementor-element-3b4343b5 e-con e-atomic-element e-flexbox-base e-3b4343b5-282c6ba \" data-id=\"3b4343b5\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"3b4343b5\">\n    <div class=\"elementor-element elementor-element-5a9ca28 e-con e-atomic-element e-flexbox-base e-5a9ca28-735890f \" data-id=\"5a9ca28\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"5a9ca28\">\n    <div class=\"elementor-element elementor-element-5ad25607 e-con e-atomic-element e-flexbox-base e-5ad25607-6fe8af9 \" data-id=\"5ad25607\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"5ad25607\">\n    \t\t\t<div data-id=\"709087b\" data-interaction-id=\"709087b\" data-e-type=\"e-youtube\"  class=\"e-709087b-7cd0c71 e-youtube-base\"  data-settings=\"&#x7B;&quot;source&quot;&#x3A;&quot;https&#x3A;&#x5C;&#x2F;&#x5C;&#x2F;youtu.be&#x5C;&#x2F;L4Pi-2ZBlN8&quot;,&quot;autoplay&quot;&#x3A;true,&quot;mute&quot;&#x3A;true,&quot;controls&quot;&#x3A;true,&quot;cc_load_policy&quot;&#x3A;false,&quot;loop&quot;&#x3A;false,&quot;rel&quot;&#x3A;false,&quot;start&quot;&#x3A;null,&quot;end&quot;&#x3A;null,&quot;privacy&quot;&#x3A;false,&quot;lazyload&quot;&#x3A;false&#x7D;\"><\/div>\n\t\t\n<\/div>\n\n<\/div>\n\t\t<div class=\"elementor-element elementor-element-747331a7 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"747331a7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a23bfd5 e-con e-atomic-element e-flexbox-base e-a23bfd5-2a80306 \" data-id=\"a23bfd5\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"a23bfd5\">\n    <div class=\"elementor-element elementor-element-1b6fb496 e-con e-atomic-element e-flexbox-base e-1b6fb496-6d15fb6 \" data-id=\"1b6fb496\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"1b6fb496\">\n    \t\t\t<p class=\"e-7e993701-e5c1ea0 e-paragraph-base\" data-interaction-id=\"7e993701\">On the artistic side, I modeled a complete set of underwater assets including kelp, fish, coral formations, and whale bones, texturing all of them in Substance Painter. On the technical side in Unity, I sculpted a wavy terrain and set up a vertex-paint\/height-blend style system that automatically fades between rock and sand textures based on the elevation. To populate the environment, I animated the fish flocks and programmed the kelp movement to simulate underwater physics. Finally, I coded a custom water-ripple shader, built a custom skybox, and heavily utilized Unity\u2019s post-processing stack and distance-based fog to manage visibility, creating the deep blue hues and the realistic occlusion that blacks out the vision when objects are too far away.<\/p>\n\t\t\n<\/div>\n\n<\/div>\n\t\t<div class=\"elementor-element elementor-element-6b767d03 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"6b767d03\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\n<\/div>\n\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u2190 Back to Portfolio Underwater world On the artistic side, I modeled a complete set of underwater assets including kelp, fish, coral formations, and whale bones, texturing all of them in Substance Painter. On the technical side in Unity, I sculpted a wavy terrain and set up a vertex-paint\/height-blend style system that automatically fades between [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-615","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/raduclim.com\/index.php?rest_route=\/wp\/v2\/pages\/615","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/raduclim.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/raduclim.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/raduclim.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/raduclim.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=615"}],"version-history":[{"count":5,"href":"https:\/\/raduclim.com\/index.php?rest_route=\/wp\/v2\/pages\/615\/revisions"}],"predecessor-version":[{"id":657,"href":"https:\/\/raduclim.com\/index.php?rest_route=\/wp\/v2\/pages\/615\/revisions\/657"}],"wp:attachment":[{"href":"https:\/\/raduclim.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=615"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}