हाल ही में मैं दृश्य स्टूडियो में एकता के लिए शेडर कोडिंग किया गया है और मुझे लगता है कि जब से एकता shaders, एकता के शेडर प्रयोगशाला भाषा और तटरक्षक के संयोजन में लिखे गए हैं दृश्य स्टूडियो 2015 नहीं है देखा है लगता है कि भाषाओं को पहचानते हैं। इस वजह से, दृश्य स्टूडियो कीवर्ड का पुन: उपयोग नहीं कर रहा है, कोई इंटेलिजेंस नहीं है, और जब भी मैं एक नई लाइन पर जाने के लिए एंटर दबाता हूं तो सभी टैबबिंग गलत तरीके से खराब होता है। मैंने इस दृश्य स्टूडियो एक्सटेंशन https://visualstudiogallery.msdn.microsoft.com/ed812631-a7d3-4ca3-9f84-7efb240c7bb5 को आजमाया है और यह पूरी तरह से काम नहीं कर रहा है। मैं सोच रहा था कि यहां पर किसी को भी शेडर्स के साथ काम करने का अनुभव है और इस समस्या को ठीक करने के बारे में वे एक विस्तार चाहते हैं।कोडिंग एकता shaders
उत्तर
प्लगइन आपकी समस्या का समाधान करना चाहिए:
यह समर्थन करता है, दृश्य स्टूडियो 2013 और 2015 के 2017 परीक्षण के चरण पर है।
मैं bassicly shaders के लिए इस प्रयोग किया है:
http://wiki.unity3d.com/index.php/Silhouette-Outlined_Diffuse
बात यह है कि कहते हैं, "को रेखांकित केवल"
विवरण के साथ: "बात यह है कि चाल यहाँ करता है" शून्य एक मिश्रण " जो पूरी तरह से हमारे वस्तु प्रतिपादन त्याग और केवल गंतव्य रंग का उपयोग करने के लिए है (यानी जो भी वस्तु के पीछे है) वास्तव में, वस्तु ही अदृश्य है, लेकिन हम अभी भी रूपरेखा ही प्रस्तुत करना जाने तो क्या हम साथ छोड़ रहे हैं कि।।: केवल रूपरेखा। "
आपको सबसे पहले एक शेडर स्क्रिप्ट बनाने के लिए और इसे कहीं जगह यह आप सूट मैं हमेशा में फ़ोल्डर shaders इस जगह की जरूरत है।
कोड साइट है, लेकिन यह आपके लिए आसान मैं यहाँ में पेस्ट बनाने के लिए पर bassicly है। कोड को पढ़ना सुनिश्चित करें क्योंकि आप इसे एकता के कोड या इंस्पेक्टर से आसानी से संपादित कर सकते हैं। इसके द्वारा बनाया shaderscript के लिए कोड:
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"
}
पी.एस. क्या आप मुझे बता सकते हैं कि आप किस तरह के शेडर्स बनाना चाहते हैं?
- 1. ओपन shaders
- 2. टुकड़ा shaders: आउटपुट चर
- 3. OpenGL ES 1.x Shaders
- 4. एकता
- 5. एकता
- 6. एकता
- 7. एकता
- 8. एकता
- 9. एकता
- 10. एकता
- 11. एकता 3.5 से एकता 4.5.4
- 12. एचटीएमएल 5 WebGL shaders का उपयोग संगणना
- 13. GLKit के GLKBaseEffect और कस्टम shaders
- 14. कोडिंग
- 15. एकता वर्ग
- 16. ScanSnap एकता
- 17. स्प्रिंग एकता
- 18. एकता केवल
- 19. वीडियो एकता
- 20. उबंटू एकता
- 21. कोडिंग रणनीति
- 22. कोडिंग सी #
- 23. कोडिंग मानकों
- 24. कोडिंग प्रतियोगिता
- 25. एंड्रॉयड कोडिंग
- 26. एकता WCF क्लाइंट के MaxItemsInObjectGraph को कॉन्फ़िगर करें जब एकता
- 27. फेसबुक एकता iOS6
- 28. MVC वेब Autofac एकता
- 29. फेसबुक एकता एसडीके त्रुटि
- 30. WCF एकता और Automapper
मुझे नहीं लगता कि एक अच्छा समाधान है। मुझे भी बहुत दिलचस्पी होगी। – Droppy
ठीक है, अब मुझे स्पेसिंग समस्या के लिए एक त्वरित फिक्स मिला है। मैंने टूल-> विकल्प-> टेक्स्ट एडिटर-> सभी भाषाएँ-> टैब-> ब्लॉक करने के लिए इंडेंटिंग में टैब विकल्प को स्विच किया और यह स्पेसिंग समस्या को ठीक करने लग रहा था, लेकिन मैं अभी भी समस्या का बेहतर समाधान ढूंढना चाहता हूं। यह भी जानता है कि कोई और विशिष्ट भाषा है कि मैं इस टैब इंडेंटिंग विकल्प को नीचे रख सकता हूं, मुझे सीजी कोड के लिए कोई विकल्प नहीं दिख रहा है, और मैं अपने सभी भाषाओं पर ब्लॉक करने के लिए टैब इंडेंटिंग सेट नहीं रखूंगा। –
मैंने सोचा कि मैंने दूरी तय की है, लेकिन स्पष्ट रूप से यह अभी भी इस सेटिंग के साथ टूटा हुआ है। –