CubismBuiltinMaterials.cs 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  1. /**
  2. * Copyright(c) Live2D Inc. All rights reserved.
  3. *
  4. * Use of this source code is governed by the Live2D Open Software license
  5. * that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html.
  6. */
  7. using UnityEngine;
  8. namespace Live2D.Cubism.Rendering
  9. {
  10. /// <summary>
  11. /// Default materials.
  12. /// </summary>
  13. public static class CubismBuiltinMaterials
  14. {
  15. /// <summary>
  16. /// Default unlit material.
  17. /// </summary>
  18. public static Material Unlit
  19. {
  20. get { return LoadUnlitMaterial("Unlit"); }
  21. }
  22. /// <summary>
  23. /// Default unlit, additively blending material.
  24. /// </summary>
  25. public static Material UnlitAdditive
  26. {
  27. get { return LoadUnlitMaterial("UnlitAdditive"); }
  28. }
  29. /// <summary>
  30. /// Default unlit, multiply blending material.
  31. /// </summary>
  32. public static Material UnlitMultiply
  33. {
  34. get { return LoadUnlitMaterial("UnlitMultiply"); }
  35. }
  36. /// <summary>
  37. /// Default unlit masked material.
  38. /// </summary>
  39. public static Material UnlitMasked
  40. {
  41. get { return LoadUnlitMaterial("UnlitMasked"); }
  42. }
  43. /// <summary>
  44. /// Default unlit masked, additively blending material.
  45. /// </summary>
  46. public static Material UnlitAdditiveMasked
  47. {
  48. get { return LoadUnlitMaterial("UnlitAdditiveMasked"); }
  49. }
  50. /// <summary>
  51. /// Default unlit masked, multiply blending material.
  52. /// </summary>
  53. public static Material UnlitMultiplyMasked
  54. {
  55. get { return LoadUnlitMaterial("UnlitMultiplyMasked"); }
  56. }
  57. /// <summary>
  58. /// Default unlit masked inverted material.
  59. /// </summary>
  60. public static Material UnlitMaskedInverted
  61. {
  62. get { return LoadUnlitMaterial("UnlitMaskedInverted"); }
  63. }
  64. /// <summary>
  65. /// Default unlit masked inverted, additively blending material.
  66. /// </summary>
  67. public static Material UnlitAdditiveMaskedInverted
  68. {
  69. get { return LoadUnlitMaterial("UnlitAdditiveMaskedInverted"); }
  70. }
  71. /// <summary>
  72. /// Default unlit masked inverted, multiply blending material.
  73. /// </summary>
  74. public static Material UnlitMultiplyMaskedInverted
  75. {
  76. get { return LoadUnlitMaterial("UnlitMultiplyMaskedInverted"); }
  77. }
  78. /// <summary>
  79. /// Default unlit material.
  80. /// </summary>
  81. public static Material UnlitCulling
  82. {
  83. get { return LoadUnlitMaterial("UnlitCulling"); }
  84. }
  85. /// <summary>
  86. /// Default unlit, additively blending material.
  87. /// </summary>
  88. public static Material UnlitAdditiveCulling
  89. {
  90. get { return LoadUnlitMaterial("UnlitAdditiveCulling"); }
  91. }
  92. /// <summary>
  93. /// Default unlit, multiply blending material.
  94. /// </summary>
  95. public static Material UnlitMultiplyCulling
  96. {
  97. get { return LoadUnlitMaterial("UnlitMultiplyCulling"); }
  98. }
  99. /// <summary>
  100. /// Default unlit masked material.
  101. /// </summary>
  102. public static Material UnlitMaskedCulling
  103. {
  104. get { return LoadUnlitMaterial("UnlitMaskedCulling"); }
  105. }
  106. /// <summary>
  107. /// Default unlit masked, additively blending material.
  108. /// </summary>
  109. public static Material UnlitAdditiveMaskedCulling
  110. {
  111. get { return LoadUnlitMaterial("UnlitAdditiveMaskedCulling"); }
  112. }
  113. /// <summary>
  114. /// Default unlit masked, multiply blending material.
  115. /// </summary>
  116. public static Material UnlitMultiplyMaskedCulling
  117. {
  118. get { return LoadUnlitMaterial("UnlitMultiplyMaskedCulling"); }
  119. }
  120. /// <summary>
  121. /// Default unlit masked inverted material.
  122. /// </summary>
  123. public static Material UnlitMaskedInvertedCulling
  124. {
  125. get { return LoadUnlitMaterial("UnlitMaskedInvertedCulling"); }
  126. }
  127. /// <summary>
  128. /// Default unlit masked inverted, additively blending material.
  129. /// </summary>
  130. public static Material UnlitAdditiveMaskedInvertedCulling
  131. {
  132. get { return LoadUnlitMaterial("UnlitAdditiveMaskedInvertedCulling"); }
  133. }
  134. /// <summary>
  135. /// Default unlit masked inverted, multiply blending material.
  136. /// </summary>
  137. public static Material UnlitMultiplyMaskedInvertedCulling
  138. {
  139. get { return LoadUnlitMaterial("UnlitMultiplyMaskedInvertedCulling"); }
  140. }
  141. /// <summary>
  142. /// Default mask material.
  143. /// </summary>
  144. public static Material Mask
  145. {
  146. get { return LoadMaskMaterial(); }
  147. }
  148. /// <summary>
  149. /// Default culled mask material.
  150. /// </summary>
  151. public static Material MaskCulling
  152. {
  153. get { return LoadMaskCullingMaterial(); }
  154. }
  155. #region Helper Methods
  156. /// <summary>
  157. /// Resource directory of builtin <see cref="Material"/>s.
  158. /// </summary>
  159. private const string ResourcesDirectory = "Live2D/Cubism/Materials";
  160. /// <summary>
  161. /// Loads an unlit material.
  162. /// </summary>
  163. /// <param name="name">Material name.</param>
  164. /// <returns>The material.</returns>
  165. private static Material LoadUnlitMaterial(string name)
  166. {
  167. return Resources.Load<Material>(ResourcesDirectory + "/" + name);
  168. }
  169. /// <summary>
  170. /// Loads an mask material.
  171. /// </summary>
  172. /// <returns>The material.</returns>
  173. private static Material LoadMaskMaterial()
  174. {
  175. return Resources.Load<Material>(ResourcesDirectory + "/Mask");
  176. }
  177. /// <summary>
  178. /// Loads an mask culling material.
  179. /// </summary>
  180. /// <returns>The material.</returns>
  181. private static Material LoadMaskCullingMaterial()
  182. {
  183. return Resources.Load<Material>(ResourcesDirectory + "/MaskCulling");
  184. }
  185. #endregion
  186. }
  187. }