यूनिटी 3 डी में सर्कल कैसे आकर्षित करें? मैं विभिन्न ऑब्जेक्ट के चारों ओर सर्कल खींचना चाहता हूं। मंडलियों के त्रिज्या अलग हैं और सर्कल में बनावट है - वर्ग।मैं यूनिटी 3 डी में एक सर्कल कैसे आकर्षित कर सकता हूं?
उत्तर
See Unity Answers इसी तरह के प्रश्न के लिए।
float theta_scale = 0.1; //Set lower to add more points
int size = (2.0 * PI)/theta_scale; //Total number of points in circle.
LineRenderer lineRenderer = gameObject.AddComponent<LineRenderer>();
lineRenderer.material = new Material(Shader.Find("Particles/Additive"));
lineRenderer.SetColors(c1, c2);
lineRenderer.SetWidth(0.2F, 0.2F);
lineRenderer.SetVertexCount(size);
int i = 0;
for(float theta = 0; theta < 2 * PI; theta += 0.1) {
x = r*cos(theta);
y = r*sin(theta);
Vector3 pos = new Vector3(x, y, 0);
lineRenderer.SetPosition(i, pos);
i+=1;
}
LineRenderer निरंतर अंक की आवश्यकता है। आप इस कोड को लाइन रेंडरर के बजाय सिलेंडर गेम ऑब्जेक्ट्स का उपयोग करने के लिए थोड़ा संशोधित कर सकते हैं। मुझे लाइन रेन्डरर थोड़ा घृणित लगता है।
आखिरकार, पहले लिंक के समान, आप एक इकाई विमान में एक सर्कल बनावट संलग्न कर सकते हैं। उस बनावट का कोई भी हिस्सा बनाएं जो सर्कल पारदर्शी का हिस्सा न हो। फिर बस अपनी वस्तु को फिट करने के लिए विमान को स्केल करें और संरेखित करें। दुर्भाग्य से यदि कोई विमान विमान के समानांतर दिख रहा है तो यह विधि बहुत अच्छी नहीं है।
मंडल शेड-ड्रॉ पिक्सेल का उपयोग कर आकर्षित कर सकता है यदि यह केंद्र से त्रिज्या पर है।
जेरडैक का समाधान अच्छा है, लेकिन कोड गन्दा है इसलिए मुझे थोड़ा बदलाव करना पड़ा। यहां एक वर्ग के लिए कोड है, जहां मैं एक बग से बचने के लिए लूप में उपयोग करता हूं।
यह सर्कल की स्थिति को इसके गेम ऑब्जेक्ट स्थिति के साथ भी अपडेट करता है।
using UnityEngine;
using System.Collections;
public class CircleDraw : MonoBehaviour {
float theta_scale = 0.01f; //Set lower to add more points
int size; //Total number of points in circle
float radius = 3f;
LineRenderer lineRenderer;
void Awake() {
float sizeValue = (2.0f * Mathf.PI)/theta_scale;
size = (int)sizeValue;
size++;
lineRenderer = gameObject.AddComponent<LineRenderer>();
lineRenderer.material = new Material(Shader.Find("Particles/Additive"));
lineRenderer.SetWidth(0.02f, 0.02f); //thickness of line
lineRenderer.SetVertexCount(size);
}
void Update() {
Vector3 pos;
float theta = 0f;
for(int i = 0; i < size; i++){
theta += (2.0f * Mathf.PI * theta_scale);
float x = radius * Mathf.Cos(theta);
float y = radius * Mathf.Sin(theta);
x += gameObject.transform.position.x;
y += gameObject.transform.position.y;
pos = new Vector3(x, y, 0);
lineRenderer.SetPosition(i, pos);
}
}
}
मुझे इस कोड के साथ एक बड़ी त्रुटि मिली। अंक (आकार) की संख्या "(2 * पीआई/theta_scale) + 1" नहीं होनी चाहिए क्योंकि इससे सर्कल को 6.28 बार आकर्षित करने का कारण बनता है। आकार "1/theta_scale + 1" होना चाहिए। तो 0.01 के theta_scale के लिए इसे 100 अंक आकर्षित करने की आवश्यकता है, और 0.1 के theta_scale के लिए इसे 10 अंक आकर्षित करने की आवश्यकता है। अन्यथा यह क्रमश: 62 गुना और 628 बार आकर्षित करेगा। यहां इस्तेमाल किया गया कोड है।
using UnityEngine;
using System.Collections;
public class DrawRadar : MonoBehaviour
{
public float ThetaScale = 0.01f;
public float radius = 3f;
private int Size;
private LineRenderer LineDrawer;
private float Theta = 0f;
void Start()
{
LineDrawer = GetComponent<LineRenderer>();
}
void Update()
{
Theta = 0f;
Size = (int)((1f/ThetaScale) + 1f);
LineDrawer.SetVertexCount(Size);
for(int i = 0; i < Size; i++){
Theta += (2.0f * Mathf.PI * ThetaScale);
float x = radius * Mathf.Cos(Theta);
float y = radius * Mathf.Sin(Theta);
LineDrawer.SetPosition(i, new Vector3(x, y, 0));
}
}
}
आप में "आकार" कि ThetaScale से विभाजित है संख्या को संशोधित हैं, तो आप एक व्यापक गेज/पाई चार्ट प्रकार ग्राफिक बना सकते हैं।
एक स्प्राइट के साथ निम्नलिखित किया था। चैन दृश्य में उड़ रहा है, इसलिए वह विमान से थोड़ा ऊपर है। मैंने उसे उड़ान भर दी थी इसलिए मुझे एक अच्छा स्क्रीनशॉट मिल सकता था, क्योंकि यह विमान के साथ अच्छा नहीं खेलेंगे।
मैंने कम-रिज़ॉल्यूशन सर्कल स्प्राइट का उपयोग किया। एक्स रोटेशन 90 स्केल एक्स 15, वाई 15, जेड 1
फिर मैंने सॉर्टिंग लेयर सेट किया है, इसलिए यह डिफ़ॉल्ट परत से ऊपर प्रस्तुत करेगा। जब मैं इस पोस्ट में आया तो मैं इसका परीक्षण कर रहा था। यह छाया को अच्छी तरह से संभाल नहीं करता है। मुझे यह पता लगाना होगा कि स्प्रिट पर रेंडर करने के लिए यह सुनिश्चित करने के लिए कि कौन सी परत छाया तैयार की जाती है। क्योंकि @ Jerdak के कोड इतने सारे अनावश्यक लाइनें खींचता है, लेकिन इस कोड को सिर्फ एक बार के माध्यम से गुजरता है और एक भी पास में प्रत्येक कोने ड्रॉ
- 1. यूनिटी 3 डी
- 2. यूनिटी 3 डी
- 3. यूनिटी 3 डी - भौतिक कक्षा
- 4. 3 डी क्षेत्र कैसे आकर्षित करें?
- 5. एक पारदर्शी सर्कल कैसे आकर्षित करें?
- 6. एंड्रॉइड और यूनिटी 3 डी गेम डेवलपमेंट
- 7. मैं XML Drawable - Android के माध्यम से सर्कल कैसे आकर्षित कर सकता हूं?
- 8. यूनिटी 3 डी बाहरी कैमरा फ्रेम दर
- 9. लाइटवेट आईओसी कंटेनर जो यूनिटी 3 डी
- 10. यूनिटी 3 डी एक्सएमएल (-आरपीसी) और सी #
- 11. मैं एंड्रॉइड में एनिमेटेड व्यू कैसे आकर्षित कर सकता हूं?
- 12. मैं 3 डी स्पेस निर्देशांक को 2 डी स्पेस निर्देशांक में कैसे परिवर्तित कर सकता हूं?
- 13. आधिकारिक किनेक्ट एसडीके और यूनिटी 3 डी
- 14. जावा में एक भरे सर्कल को कैसे आकर्षित करें?
- 15. बहुत सरल डी 3: एक आर्क कैसे आकर्षित करें?
- 16. मैं 3 डी सरणी कैसे घुमा सकता हूं?
- 17. मैं एकाधिक छवियों से कैसे आकर्षित कर सकता हूं?
- 18. मैं अपना डेटाबेस डिज़ाइन कैसे आकर्षित कर सकता हूं?
- 19. आईफोन में एक केंद्रित सर्कल कैसे आकर्षित करें?
- 20. मैं पाइथन में 3 डी हिस्टोग्राम कैसे प्रस्तुत कर सकता हूं?
- 21. मैं आईओएस में 3-डी बनावट का उपयोग कैसे कर सकता हूं?
- 22. मैं HTML5 कैनवास में एक आर्क या सर्कल को कैसे साफ़ कर सकता हूं?
- 23. मैं एक कॉलम के संबंध में MATLAB में 2-डी सरणी कैसे क्रमबद्ध कर सकता हूं?
- 24. हॉलीवुड सिद्धांत + डी + डब्ल्यूपीएफ + यूनिटी
- 25. मैं एक सर्कल पर निर्देशांक के लिए एक वर्ग पर निर्देशांक कैसे परिवर्तित कर सकता हूं?
- 26. मैटलप्लिब 3 डी में अक्ष को कैसे छिपा सकता हूं?
- 27. एक्सएनए में विशिष्ट रंग के साथ सर्कल कैसे आकर्षित करें?
- 28. मैं सी # में एक पैनल को कैसे आकर्षित कर सकता हूं?
- 29. मैं एक डब्ल्यूपीएफ तत्व को एक आयताकार फ्लैट 3 डी सीमा कैसे दे सकता हूं?
- 30. मैं डायरेक्ट 3 डी
यह सही जवाब होना चाहिए। हालांकि, कृपया ध्यान दें कि एक अपूर्ण रेखा के लिए, आपको इसके बजाय यह करना चाहिए: 'आकार = (int) ((1f/thetaScale) + 2f) ' –