Geçtiğimiz günlerde, görsel stüdyosunda birlik için gölgelendiriciler kodluyordum ve birliğin shader lab dili ve CG'nin birleşiminde birleşik shaderlar yazıldığından beri, visual studio 2015 dilleri tanımak gibi görünüyor. Bu nedenle, görsel stüdyosu yeni bir satıra gitmek için enter tuşuna bastığımda anahtar kelimeleri yeniden değil, herhangi bir intellesense ve yanlış sekmelerden daha beter. Bu görsel stüdyo uzantısını https://visualstudiogallery.msdn.microsoft.com/ed812631-a7d3-4ca3-9f84-7efb240c7bb5 denedim ve tam olarak çalışmıyor gibi görünüyor. Buradaki herkesin gölgelendiricilerle çalışıp çalışmadığı ve bu sorunu çözmek için bildiği bir uzantıya sahip olup olmadığını merak ediyordum.Unity visual studio ile birlik gölgelendiricileri kodlama
cevap
eklentisi sorunu çözmelidir O:
It Visual Studio 2013 destekler ve 2015 2017 test aşamasında üzerindedir.
i bassicly shader kullandı:
http://wiki.unity3d.com/index.php/Silhouette-Outlined_Diffuse
bilgi ile
"Yalnızca Anahat" diyor bölümü: "Burada hile yok olan şey "" Zero One Blend Nesnemizi bütünüyle ön plana çıkarmak ve sadece hedef rengi kullanmak (nesnenin arkasında ne varsa). Aslında, nesnenin kendisi görünmezdir, ancak hala taslağın kendisini ortaya çıkarmasına izin veririz. sadece anahat. "
Öncelikle bir gölgelendirici komut dosyası hazırlamanız ve size uygun bir yere yerleştirmeniz gerekir. Bunu her zaman klasör gölgelendiricilerine yerleştiririm.
Bu kod sitede esas olarak yazılıdır, ancak daha kolay bir hale getirebilmek için buraya yapıştırmam gerekecek. Kodu okuduğunuzdan, Unity'nin kodundan veya müfettişinden kolayca kolayca düzenleyebileceğinizden emin olun. oluşturulan shaderscript için vesile kodu:
Shader "Outlined/Silhouette Only" {
Properties {
_OutlineColor ("Outline Color", Color) = (0,0,0,1)
_Outline ("Outline width", Range (0.0, 0.03)) = .005
}
CGINCLUDE
#include "UnityCG.cginc"
struct appdata {
float4 vertex : POSITION;
float3 normal : NORMAL;
};
struct v2f {
float4 pos : POSITION;
float4 color : COLOR;
};
uniform float _Outline;
uniform float4 _OutlineColor;
v2f vert(appdata v) {
// just make a copy of incoming vertex data but scaled according to normal direction
v2f o;
o.pos = mul(UNITY_MATRIX_MVP, v.vertex);
float3 norm = mul ((float3x3)UNITY_MATRIX_IT_MV, v.normal);
float2 offset = TransformViewToProjection(norm.xy);
o.pos.xy += offset * o.pos.z * _Outline;
o.color = _OutlineColor;
return o;
}
ENDCG
SubShader {
Tags { "Queue" = "Transparent" }
Pass {
Name "BASE"
Cull Back
Blend Zero One
// uncomment this to hide inner details:
//Offset -8, -8
SetTexture [_OutlineColor] {
ConstantColor (0,0,0,0)
Combine constant
}
}
// note that a vertex shader is specified here but its using the one above
Pass {
Name "OUTLINE"
Tags { "LightMode" = "Always" }
Cull Front
// you can choose what kind of blending mode you want for the outline
//Blend SrcAlpha OneMinusSrcAlpha // Normal
//Blend One One // Additive
Blend One OneMinusDstColor // Soft Additive
//Blend DstColor Zero // Multiplicative
//Blend DstColor SrcColor // 2x Multiplicative
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
half4 frag(v2f i) :COLOR {
return i.color;
}
ENDCG
}
}
Fallback "Diffuse"
}
Not; Bana ne türden shader yapmayı planladığını söyleyebilir misin?
- 1. Video Ben Unity woking videoyla oynamak için Birlik kodu eklemiş birlik
- 2. Minimal Yapılandırma ile Unity Kullanımı
- 3. HttpModule Visual Studio ile çalışmıyor
- 4. Visual Studio 2012 projesine Visual Studio 2012
- 5. Visual Studio 2015 - ASP.Net uygulaması, Visual Studio
- 6. Birlik 2.0: Nasıl ResolverOverride ile Çöz kullanılır?
- 7. Visual Studio
- 8. Visual Studio
- 9. birlik veya unity.mvc4
- 10. Visual Studio Azure'a yayımlanırken Visual Studio çöküyor
- 11. Visual Studio,
- 12. Visual Studio
- 13. Unity
- 14. Visual Studio Unity3D'ye bağlanmadı iPhone
- 15. Visual Studio
- 16. Visual Studio,
- 17. Visual Studio
- 18. Visual Studio
- 19. Visual Studio,
- 20. Visual Studio
- 21. Visual Studio
- 22. Visual Studio
- 23. WebApi'de birlik ile istek başına dbcontext'in çözülmesi
- 24. PyQt içinde derleme gölgelendiricileri
- 25. Birlik iOS yapısı, oyunum IAP
- 26. Unity deposunda Unregister Instance
- 27. Android'e Unity -
- 28. Nasıl ASP.NET Core Visual Studio kullanıyorum Visual Studio ASP.NET Çekirdek
- 29. Visual Studio Uzantısı ile imleç konumunu ayarlama
- 30. Visual Studio 2012 ile birlikte "LoaderLock algılandı"
İyi bir çözüm olduğunu sanmıyorum. Ben de çok ilgilenirim. – Droppy
Peki, şimdi boşluk sorunu için hızlı bir düzeltme buldum. Sekme seçeneğini Araçlar-> Seçenekler-> Metin Editörü-> Tüm Diller-> Sekmeler-> Engelleme Girintileri'nde değiştirdim ve boşluk sorununu düzeltiyor gibi görünüyordu, ancak yine de sorun için daha iyi bir çözüm bulmak isterdim. Ayrıca, bu sekme girintisini altından daha özel bir dil olup olmadığını bilen var mı, CG kodu için bir seçenek görmüyorum ve tüm dillerimi engellemek üzere girintileme sekmesini kullanmamayı tercih ediyorum. –
Boşluğu düzelttiğimi sanıyordum, ama görünüşe göre bu ayarda bile hala bozuk. –