ํ˜„์žฌ ์ฟผํ„ฐ๋ทฐ ๊ฒŒ์ž„์„ ํ•˜๋‚˜ ๊ฐœ๋ฐœ์ค‘์ธ๋ฐ์š”, ํ”Œ๋ ˆ์ด์–ด์™€ ์นด๋ฉ”๋ผ ์‚ฌ์ด์— RayCastAll์„ ์‚ฌ์šฉํ•ด์„œ ๊ทธ ์‚ฌ์ด์— ๋“ค์–ด์˜ค๋Š” ๊ฑด๋ฌผ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๋ฐ˜ํˆฌ๋ช…ํ™” ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœ์ค‘์ž…๋‹ˆ๋‹ค.


๊ทธ๋Ÿฐ๋ฐ ๋ฌธ์ œ๊ฐ€ ํ•˜๋‚˜ ์žˆ๋Š”๊ฒŒ ์œ ๋‹ˆํ‹ฐ ์—๋””ํ„ฐ์—์„œ ๊ฒŒ์ž„ ์‹คํ–‰์‹œ ํˆฌ๋ช…ํ™”๊ฐ€ ์•„์ฃผ ์ž˜ ๋˜๋Š”๋ฐ, ํ”„๋กฒ์ ํŠธ๋ฅผ ๋นŒ๋“œํ•˜์—ฌ exe ํŒŒ์ผ๋กœ ์—ด์–ด ๊ฒŒ์ž„์„ ์‹คํ–‰ํ•˜๋ฉด ๋ฐ˜ํˆฌ๋ช…ํ™”๊ฐ€ ์ œ๋Œ€๋กœ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.




์•„๋ž˜๋Š” ํˆฌ๋ช…ํ™” ๋ฉ”์†Œ๋“œ์ž…๋‹ˆ๋‹ค.




private void changeRenderingModeTransparent(Material[] mats)


{


foreach (Material mat in mats)


{


//mat.SetOverrideTag("RenderType", "Transparent");


mat.SetFloat("_Mode", 3);


mat.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.SrcAlpha);


mat.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.OneMinusSrcAlpha);


mat.SetInt("_ZWrite", 0);


mat.DisableKeyword("_ALPHATEST_ON");


mat.EnableKeyword("_ALPHABLEND_ON");


mat.DisableKeyword("_ALPHAPREMULTIPLY_ON");


mat.renderQueue = 3000;


mat.color = new Color(mat.color.r, mat.color.g, mat.color.b, 0.5f);


}


}




์ธํ„ฐ๋„ท์œผ๋กœ ์ฐพ์•„๋ณด๋‹ˆ Edit - Project Settings - Graphics - Preloaded Shaders์— Shader Variant Collection์„ ๋„ฃ์–ด์ฃผ๋ฉด ํ•ด๊ฒฐ๋œ๋‹ค๋Š” ๊ฒƒ ๊ฐ™๋”๋ผ๊ณ ์š”.

๊ทธ๋ž˜์„œ ํ˜„์žฌ ๊ฑด๋ฌผ ์˜ค๋ธŒ์ ํŠธ์˜ ๋ฉ”ํ…Œ๋ฆฌ์–ผ ์‰์ด๋”๋กœ ์œ ๋‹ˆํ‹ฐ ๊ธฐ๋ณธ์ œ๊ณต ์‰์ด๋”์ธ Standard๋ฅผ ์“ฐ๊ณ  ์žˆ์œผ๋‹ˆ Shader Variant Collection์— Standard๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ๊ณ  Preloaded Shaders์— ์ ์šฉ์„ ํ–ˆ๋”๋‹ˆ ์˜ค๋ฅ˜๊ฐ€ ๊ทธ๋Œ€๋กœ ๋‚˜๋”๋ผ๊ณ ์š”(Transparent๋ชจ๋“œ๋กœ ๋ฐ”๊ปด์„œ ๊ฑด๋ฌผ ๋‚ด๋ถ€๋Š” ๋ณด์ด๋Š”๋ฐ ํˆฌ๋ช…ํ™”๊ฐ€ ์ง„ํ–‰๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜)




ํ•ด๊ฒฐ ๊ฐ€๋Šฅํ•œ ๋ฐฉ๋ฒ• ์•„์‹œ๋Š” ๋ถ„์€ ์•Œ๋ ค์ฃผ์‹œ๋ฉด ์ •๋ง ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.