Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

【Unite 2017 Tokyo】「オルタナティブガールズ」〜50cmの距離感で3D美少女を最高にかわいく魅せる方法〜

12,814 views

Published on

講演者:渡邉 俊光(株式会社QualiArts)

こんな人におすすめ
・Unityでの開発経験がある程度あり、3Dに関する表現力をあげたい方

受講者が得られる知見
・表現パターンを複数持つキャラモデルの構造と設計の考え方
・モバイルに最適化されたシェーダー表現手法
・スマートフォンVRを実現する上での実例

Published in: Technology
  • Hello! Get Your Professional Job-Winning Resume Here - Check our website! https://vk.cc/818RFv
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

【Unite 2017 Tokyo】「オルタナティブガールズ」〜50cmの距離感で3D美少女を最高にかわいく魅せる方法〜

  1. 1. • • •
  2. 2. • • • • • •
  3. 3. • • 
 • • •
  4. 4. • 
 • • 

  5. 5. • • 
 • 

  6. 6. • • 
 • • • • •
  7. 7. • • CharacterPartsMeshData meshData = new CharacterPartsMeshData ();
 meshData.renderer = renderers [i];
 meshData.original = mesh;
 meshData.lod = cruncherTarget.outputMesh;
 meshes.Add (meshData);
 
 // Prefab以下に格納
 AssetDatabase.AddObjectToAsset (cruncherTarget.outputMesh, target);
  8. 8. • 
 • • 

  9. 9. • • • • 

  10. 10. • • 

  11. 11. • • •
  12. 12. • •
  13. 13. 
 
 
 

  14. 14. • 
 • • • 

  15. 15. • • • 
 • •
  16. 16. • • • •
  17. 17. • • • 

 

  18. 18. • 
 •
  19. 19. • • • • 
 •
  20. 20. • •
  21. 21. • • • • • •
  22. 22. • • • • • •
  23. 23. • • • • • •
  24. 24. • • • •
  25. 25. • • • • • • •
  26. 26. • 
 • • • • •
  27. 27. • 
 • • • • • •
  28. 28. • • • • • • • •
  29. 29. • • • • • • 

  30. 30. • • •
  31. 31. • 
 • • •
  32. 32. • • • inline fixed4 frag_toon_opaque (v2f_toon_sphere IN)
 {
 ALPHA_CLIP_DITHER(IN);
 fixed4 col = tex2D(_MainTex, IN.texcoord.xy);
 fixed3 rgb = col.rgb;
 #ifdef DISABLE_LIGHT
 #else
 PROJ_FRAG_HALF(IN,rgb);
 rgb *= unity_LightColor[0].rgb;
 #endif
 
 FRAG_OVERDRAW(IN,rgb);
 
 // sphere
 CHARACTER_SPHERE(IN,rgb);
 // shadow
 CHARACTER_SHADOW(IN,rgb);
 // rim
 CHARACTER_RIM(IN,rgb);
 // final color
 CHARACTER_FINAL_COLOR(rgb,col);
 return col;
 }
  33. 33. • • • CGPROGRAM
 #pragma multi_compile _ ENABLE_ALPHA
 #pragma multi_compile _ ENABLE_SPHERE
 #pragma multi_compile _ DISABLE_LIGHT
 #pragma multi_compile _ G_PROJ_TEX G_PROJ_CUBE
 #pragma vertex vert
 #pragma fragment frag
 #pragma fragmentoption ARB_precision_hint_fastest
 ENDCG
  34. 34. • • var sph = targetMat.GetTexture ("_SphereCube");
 var def = targetMat.IsKeywordEnabled ("ENABLE_SPHERE");
 if (sph == null && def) {
 targetMat.DisableKeyword ("ENABLE_SPHERE");
 EditorUtility.SetDirty (targetMat);
 } else if (sph != null && def == false) {
 targetMat.EnableKeyword ("ENABLE_SPHERE");
 EditorUtility.SetDirty (targetMat);
 }
  35. 35. • • • • •
  36. 36. • • •
  37. 37. • • • • •
  38. 38. • • • •
  39. 39. • • •
  40. 40. • • • • • •
  41. 41. • • 
 

  42. 42. • • • 
 
 • 
 •
  43. 43. • 
 • • •
  44. 44. • • • • • • •
  45. 45. 
 

  46. 46. • • • • •
  47. 47. ご静聴ありがとうございました

×