คำถามติดแท็ก uv-mapping

4
การทำแผนที่ UV และ UVW คืออะไร
พยายามเข้าใจแนวคิดพื้นฐาน 3 มิติบางอย่างในขณะนี้ฉันพยายามเข้าใจว่าพื้นผิวทำงานอย่างไร ฉันรู้ว่าการทำแผนที่ UV และ UVW เป็นเทคนิคที่ทำแผนที่พื้นผิว 2D ไปยังวัตถุ 3 มิติ - Wikipedia บอกฉันมาก ฉัน googled สำหรับคำอธิบาย แต่พบบทเรียนที่สมมติว่าฉันรู้แล้วว่ามันคืออะไร จากความเข้าใจของฉันแล้วแบบจำลองสามมิติแต่ละอย่างนั้นทำจากคะแนนและหลาย ๆ แต้มสร้างใบหน้าขึ้นมา? แต่ละจุดหรือใบหน้ามีพิกัดที่สองที่แมปไปยังตำแหน่ง ax / y ในพื้นผิว 2D หรือไม่? หรือวิธีการคลายเปิดใช้งานโมเดล? นอกจากนี้ W ใน UVW ทำอะไรได้จริงมันให้อะไรกับ UV? ตามที่ฉันเข้าใจแล้ว W แผนที่ไปที่พิกัด Z แต่ในสถานการณ์ใดฉันจะมีพื้นผิวที่แตกต่างกันสำหรับ X / Y เดียวกันและ Z ที่ต่างกันส่วน Z จะไม่ปรากฏให้เห็นหรือไม่ หรือฉันเข้าใจผิดอย่างนี้

1
การทำแผนที่พื้นผิว UVW ทำงานอย่างไร
ฉันพยายามที่จะเข้าใจทฤษฎีทางคณิตศาสตร์ที่อยู่เบื้องหลังการทำแผนที่ UVW ทุกคนสามารถอธิบายได้ว่าการทำแผนที่ UVW ทำงานอย่างไร หรืออย่างน้อยก็ให้ฉันชี้?

2
การทำแผนที่พื้นผิวมีวิธีใดบ้าง
ฉันทำงานกับ XNA ในเกม 3 มิติและฉันพยายามมีสภาพแวดล้อมที่เหมาะสมและดี ฉันติดตามการกวดวิชาเพื่อสร้างภูมิประเทศจากแผนที่ความสูง เพื่อทำพื้นผิวฉันแค่ใช้พื้นผิวหญ้าบนมันและเรียงมันหลาย ๆ ครั้ง แต่สิ่งที่ฉันต้องการทำคือมีพื้นผิวที่เหมือนจริงมาก ๆ แต่ก็สร้างมันขึ้นมาโดยอัตโนมัติ (เช่นถ้าฉันต้องการใช้เสียง Perlin เพื่อสร้างภูมิประเทศ ฉันเรียนรู้เกี่ยวกับการทำพื้นผิวหลายแบบการโหลดไฟล์แผนที่ที่มีสีแตกต่างกันสำหรับพื้นผิวที่แตกต่างกัน แต่ฉันไม่คิดว่ามันจะมีประสิทธิภาพจริง ๆ เช่นหน้าผาหรือพื้นที่สูงชันมากมันจะเรียงพื้นผิวไม่ดี ด้านบน (นอกจากนี้ฉันไม่รู้ว่าฉันจะวาดถนนหรือทางดินด้วยวิธีนั้นได้อย่างไร) ฉันกำลังมองหาโซลูชันที่มีประสิทธิภาพในการทำแผนที่พื้นผิวที่สร้างขึ้นตามขั้นตอนจริง

5
พื้นผิวดาวเคราะห์น้อย
ฉันพยายามที่จะอธิบายดาวเคราะห์น้อยดวงนี้ดังนั้นมันจึงดูสมเหตุสมผล ฉันคิดถึงบางอย่าง หลังจากการกวดวิชานี้ฉันได้รับจนถึงตอนนี้ ตอนนี้ฉันไม่เข้าใจขั้นตอนต่อไป: คุณจะแก้ไขปัญหาตะเข็บได้อย่างไร ทรงกลม icosahedral นี้มีตะเข็บที่วิ่งผ่านซึ่งไม่สามารถหลีกเลี่ยงได้ ตกลง. ฉันจะทาสีพื้นผิวได้อย่างไรจึงดูไร้รอยต่อเมื่อใช้กับวัตถุ ฉันจะรู้ได้อย่างไรว่าขอบไหนเชื่อมต่อกับด้านใด ฉันเดาว่ามันจะสมมาตรกันเหรอ? ดูเหมือนจะยากมากที่จะสร้างรูปทรงกลมแบบง่าย ๆ ฉันพลาดเทคนิคบางอย่างที่นี่หรือไม่?

1
ฉันจะแก้ไขการจับคู่การทำแผนที่ UV ซิกซิกแซกบนตาข่ายที่สร้างขึ้นได้อย่างไร
ฉันกำลังสร้างตาข่ายแบบขั้นตอนตามเส้นโค้งและขนาดของตาข่ายจะเล็กลงตลอดทั้งเส้นโค้งตามที่คุณเห็นด้านล่าง และปัญหาคือรังสียูวีได้รับซิกแซกเนื่องจากการเปลี่ยนแปลงขนาด (มันทำงานได้อย่างสมบูรณ์เมื่อขนาดของตาข่ายเท่ากันตลอดทั้งโค้ง) Vertices.Add(R); Vertices.Add(L); UVs.Add(new Vector2(0f, (float)id / count)); UVs.Add(new Vector2(1f, (float)id / count)); start = Vertices.Count - 4; Triangles.Add(start + 0); Triangles.Add(start + 2); Triangles.Add(start + 1); Triangles.Add(start + 1); Triangles.Add(start + 2); Triangles.Add(start + 3); mesh.vertices = Vertices.ToArray(); //mesh.normals = normales; mesh.uv = UVs.ToArray(); mesh.triangles = Triangles.ToArray(); …

1
วิธีการคำนวณเวกเตอร์แทนเจนต์และบิทูเมน
ฉันมีพื้นผิวโหลดใน three.js จากนั้นส่งผ่านไปยังเฉดสี ใน shader ที่ฉันคำนวณปกติ, และฉันบันทึกลงในตัวแปรเวกเตอร์ยูวี <script id="vertexShader" type="x-shader/x-vertex"> varying vec3 N,P; varying vec2 UV; void main() { gl_Position= projectionMatrix * modelViewMatrix * vec4(position,1.0); P= position; N= normalMatrix * vec3(normal); UV= uv; } </script> <script id="fragmentShader" type="x-shader/x-fragment"> varying vec3 N,P; varying vec2 UV; uniform sampler2D texture; void main() { …

4
ไม่เข้าใจพิกัดพื้นผิว UV เหล่านี้ (ช่วงไม่เท่ากับ 0.0 ถึง 1.0)
ฉันกำลังพยายามวาดวัตถุ 3 มิติแบบง่ายที่สร้างโดย Google SketchUp 8 Pro ลงในแอป WebGL ของฉันแบบจำลองนั้นเป็นรูปทรงกระบอกที่เรียบง่าย ฉันเปิดไฟล์ที่ส่งออกและคัดลอกตำแหน่งจุดยอดดัชนีบรรทัดฐานและพิกัดพื้นผิวเป็นไฟล์. json เพื่อให้สามารถใช้กับจาวาสคริปต์ได้ ดูเหมือนว่าทุกอย่างจะทำงานได้ดียกเว้นพิกัดพื้นผิวที่มีค่ามากเช่น 46.331676 และค่าลบ ตอนนี้ฉันไม่รู้ว่าฉันผิด แต่พิกัดพื้นผิว 2D ไม่ควรอยู่ในช่วงตั้งแต่ 0.0 ถึง 1.0 เท่านั้นใช่หรือไม่ การวาดแบบโดยใช้พิกัดพื้นผิวเหล่านี้ทำให้ฉันดูแปลกประหลาดอย่างสมบูรณ์และฉันสามารถเห็นพื้นผิวได้อย่างถูกต้องเมื่อฉันอยู่ใกล้มาก ลดขนาดและทำซ้ำไปเรื่อย ๆ ทั่วทั้งใบหน้าของนางแบบ (ใช่ฉันใช้ GL_REPEAT กับสิ่งห่อหุ้มพื้นผิวนั้น) สิ่งที่ฉันสังเกตคือถ้าฉันได้รับพิกัดเหล่านี้ทั้งหมดและหารพวกเขาด้วย 10 หรือ 100 ฉันได้ดู "ปกติ" มาก แต่ก็ยังไม่อยู่ในช่วง 0.0 ถึง 1.0 นี่คือไฟล์ json ของฉัน: http://pastebin.com/Aa4wvGvv นี่คือ GLSL Shaders ของฉัน: …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.