คำถามติดแท็ก textures

บิตแมป (ภาพแรสเตอร์) ที่ใช้ในกระบวนการการทำแผนที่พื้นผิว

2
เครื่องมือท่อส่งเนื้อหาควรจะฝังตัวอยู่ในเครื่องยนต์หรือไม่?
เอ็นจิ้นเกมควรมีขนาดเล็กเพียงใด ไปป์ไลน์เนื้อหาควรฝังอยู่ในเอ็นจิ้นเท่าใด บางกรณีใช้งานที่ super engine อาจมีประโยชน์: เมื่อโหลดเนื้อหาของผู้ใช้ผู้ใช้ไม่จำเป็นต้องทำพื้นผิวของตัวเองเครื่องยนต์จะทำมันในเวลาโหลด สคริปต์ร้องขอแบบอักษรที่มีขนาดใหญ่กว่าที่สร้างไว้ล่วงหน้าเครื่องยนต์สามารถแยกโฆษณาไฟล์ ttf เพื่อสร้าง atlas ใหม่ รัศมีปลอม ไม่มีสิ่งนี้แน่นอน สิ่งนี้ต้องใช้เครื่องมือไปป์ไลน์เนื้อหาของคุณเพื่อเขียนใน C ++ ไลบรารีสนับสนุนที่คุณใช้ในไพพ์ไลน์จำเป็นต้องรวบรวมเพื่อใช้งานบนอุปกรณ์ มันต้องการการสร้างเนื้อหาที่จะไม่บั๊ก และโดยทั่วไปแล้วทำให้เครื่องยนต์ของคุณใหญ่ขึ้นและเทอะทะ ข้อดีและข้อเสียอื่น ๆ คืออะไร? ข้อดีมีมากกว่าข้อเสียหรือไม่ คำถามเฉพาะ: เครื่องยนต์ควรโหลดรูปแบบภาพต่างๆได้หรือไม่? ตัวโหลด TGA เท่านั้นนั้นค่อนข้างง่ายต่อการเขียนด้วยมือ รูปแบบเสียงเป็นอย่างไร เป็นไปได้หรือไม่ที่จะรองรับการโหลดไฟล์ wav เท่านั้น? ไฟล์เพลงโดยรอบมักมีขนาดใหญ่มาก เครื่องยนต์ควรมีความสามารถในการแยกวิเคราะห์ TTF และการสร้างแผนที่แบบไดนามิกหรือไม่? บรรจุพื้นผิว

1
พื้นผิวของแผ่นสไปรต์ยกขอบของพื้นผิวที่อยู่ติดกัน
ฉันมีชุดสไปรต์แบบกำหนดเอง (openGL 2.0) ซึ่งใช้แผ่นงานสไปรต์ง่าย ๆ (พื้นผิวของฉันถูกจัดเรียงในแนวนอนติดกัน) ตัวอย่างเช่นนี่คือแผ่นทดสอบสไปรต์ที่มีพื้นผิวที่เรียบง่าย 2 แบบ: ตอนนี้สิ่งที่ฉันทำเมื่อสร้างวัตถุ openGL sprite ของฉันคือการระบุจำนวนเฟรมทั้งหมดในแอตลาสและเมื่อวาดให้ระบุเฟรมที่ฉันต้องการวาด จากนั้นจะหาตำแหน่งที่จะจับพื้นผิวจาก: การหารหมายเลขเฟรมที่ต้องการด้วยจำนวนเฟรมทั้งหมด (เพื่อรับค่าพิกัดซ้าย) จากนั้นทำการดำน้ำ 1 ตามจำนวนเฟรมทั้งหมดและเพิ่มผลลัพธ์ลงในพิกัดด้านซ้ายที่คำนวณข้างต้น ดูเหมือนว่าจะใช้งานได้ แต่บางครั้งฉันก็มีปัญหา พูดเช่นฉันต้องการวาด X ด้านล่างและฉันได้รับ ........... ฉันเคยได้ยินเกี่ยวกับการใส่ 'padding' ของ 1 px ระหว่างแต่ละพื้นผิว แต่บางคนสามารถอธิบายได้อย่างแม่นยำว่ามันทำงานอย่างไร ฉันหมายความว่าถ้าฉันทำสิ่งนี้มันจะสลัดการคำนวณออกไปเพื่อให้ได้พื้นผิว หากฉันรวมการซ้อนทับในพื้นผิวที่หยิบง่าย (ดังนั้นเทพดาจะถูกวาดด้วยเส้นขอบที่ว่างเปล่า) ดังนั้นถ้าเป็นเช่นนั้นจะทำให้เกิดปัญหากับการตรวจจับการชนกันหรือไม่ (เช่นสไปรต์อาจปรากฏขึ้นเพื่อชนกันเมื่อใช้กล่องที่มีขอบเขตเมื่อชิ้นส่วนโปร่งใสชนกัน) จะขอบคุณถ้ามีคนอธิบาย

5
ทำไมฉันไม่สามารถใช้โอเปอเรเตอร์ '> =' กับ Vector3s ได้
ฉันพยายามที่จะได้รับรูปสี่เหลี่ยมผืนผ้าย้ายไปมาระหว่างสองตำแหน่งที่ผมพูดถึงและ_positionA ทั้งสองประเภท_positionB Vector3สี่เหลี่ยมผืนผ้าเคลื่อนไหวได้ดี อย่างไรก็ตามเมื่อมันมาถึง_positionBมันจะไม่เคลื่อนที่ในทิศทางตรงกันข้ามเหมือนอย่างที่ควร ฉันกลับไปที่โค้ดเพื่อดู ฉันมาถึงข้อสรุปว่าเป็นวัตถุย้ายที่ifงบในรหัสพลาดเฟรมซึ่งในตำแหน่ง rects _positionBเท่ากับ ฉันตัดสินใจที่จะปรับเปลี่ยนรหัสไปในทิศทางที่ตรงกันข้ามถ้าตำแหน่ง rects คือมากกว่าหรือเท่ากับ _positionBรหัสของฉันไม่ยาวเกินไปดังนั้นฉันจะแสดงด้านล่าง: using UnityEngine; using System.Collections; public class Rectangle : MonoBehaviour { private Vector3 _positionA = new Vector3(-0.97f, -4.28f); //Start position private Vector3 _positionB = new Vector3(11.87f, -4.28f); //End position private Transform _rect_tfm; private bool _atPosA = false, _atPosB = …
9 unity  c#  vector  mathematics  vector  matrix  unity  c#  transformation  java  3d  terrain-rendering  shading  ios  opengl-es  opengl  rendering  optimization  python  scripting  minecraft-modding  modding  pc  3d-meshes  mesh  culling  point-cloud  networking  interpolation  mathematics  game-design  ai  game-mechanics  animation  unreal-4  skeletal-animation  3dsmax  unity  c#  3d  opengl  c++  textures  unity  ide  cocos2d  cocos2d-x-js  unity  c#  mono  il2cpp  c++  game-loop  timer  linux  flash  actionscript-3  java  glsl  c++  vector  entity-component  c++  directx11  windows  visual-studio  libgdx  mouse  unity  c#  architecture  storage  unity  c#  rotation  coordinates  quaternion  vrpn  movement  vector  unreal-4  unity  shaders  unity  gui  text  bug  shooter  3d  animation  rendering  voxels  c++  mmo  multithreading  linux  textures  procedural-generation  terrain-rendering  multiplayer  mmo  game-state  java  android  libgdx  opengl  procedural-generation  unity  gui  3d  animation  tools  geometry-shader  mobile  advertisements  unity  c#  animation  scripting  unity  animation  unityscript  coroutines  unity  shaders  lighting  camera 

1
พื้นผิวเคลื่อนไหวสำหรับรุ่น; วิธีการเขียน Shader หรือไม่?
กำลังดู Rocket League และสังเกตว่ามีสติ๊กเกอร์เคลื่อนไหวและล้อ . ฉันต้องการใช้งานสิ่งที่คล้ายกับเอฟเฟกต์ในภาพด้านบน ฉันจะเขียน Unity Shader เพื่อสร้างเอฟเฟกต์ล้อได้อย่างไร ฉันไม่ค่อยรู้เรื่อง Shaders มากนัก แต่ฉันสามารถแก้ไข Unity Shader มาตรฐานเพื่อสร้างเอฟเฟกต์ภาพเคลื่อนไหวได้หรือไม่?

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() { …

1
พื้นผิวประสานงานไม่ต่อเนื่องกับ mipmaps สร้างตะเข็บ
ฉันเพิ่งเริ่มเรียนรู้ openGL และฉันได้สิ่งประดิษฐ์นี้เมื่อสร้างพื้นผิวด้วย mipmaps โดยทั่วไปเมื่อชิ้นส่วนตัวอย่างขอบของพื้นผิวของฉันมันตรวจพบความไม่ต่อเนื่อง (พูดจาก 1 ถึง 0) และเลือก mipmap ที่เล็กที่สุดซึ่งสร้างรอยต่อที่น่าเกลียดนี้: ตะเข็บที่น่าเกลียด http://cdn.imghack.se/images/6bbe0ad0173cac003cd5dddc94bd43c7.png ดังนั้นฉันจึงพยายามแทนที่ gradients ด้วยตนเองโดยใช้ textureGrad: //fragVert is the original vertex from the vertex shader vec2 ll = vec2((atan(fragVert.y, fragVert.x) / 3.1415926 + 1.0) * 0.5, (asin(fragVert.z) / 3.1415926 + 0.5)); vec2 ll2 = ll; if (ll.x < …

1
gluLookAt ทำงานอย่างไร
จากความเข้าใจของฉัน gluLookAt( eye_x, eye_y, eye_z, center_x, center_y, center_z, up_x, up_y, up_z ); เทียบเท่ากับ: glRotatef(B, 0.0, 0.0, 1.0); glRotatef(A, wx, wy, wz); glTranslatef(-eye_x, -eye_y, -eye_z); แต่เมื่อฉันพิมพ์ModelViewเมทริกซ์การเรียกเพื่อglTranslatef()ดูเหมือนจะทำงานไม่ถูกต้อง นี่คือข้อมูลโค้ด: #include <stdlib.h> #include <stdio.h> #include <GL/glut.h> #include <iomanip> #include <iostream> #include <string> using namespace std; static const int Rx = 0; static const int …

2
ฉันจะโหลดพื้นผิวด้วย SFML สำหรับ OpenGL ได้อย่างไร
ฉันกำลังมองหาที่NeHe ของพื้นผิวการทำแผนที่การกวดวิชา มันดูซับซ้อนเกินไปสำหรับการโหลดพื้นผิว มีวิธีการโหลดพื้นผิวใน SFML แล้วใช้มันใน Open GL หรือไม่ ฉันใช้ SFML สำหรับหน้าต่างของฉัน

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

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 ของฉัน: …

6
ไลบรารี่สำหรับโหลดรูปภาพลงในพื้นผิว, Linux, C และ OpenGl
ฉันกำลังมองหาไลบรารี่ C ที่เรียบง่ายในตัวสำหรับ Linux เพื่อโหลดรูปภาพจากไฟล์ลงในพื้นผิว OpenGL ใบอนุญาตควรจะค่อนข้างเสรี: zlib, bsd, mit หรืออะไรบางอย่าง ฉันพบดินแต่ไม่ได้รับการปรับปรุงเป็นเวลานาน มีอย่างอื่นหรือฉันจะต้องเขียนของตัวเอง? PS ฉันใช้ glfw มีฟังก์ชั่นที่ไม่รองรับการโหลดภาพเท่านั้น
9 opengl  textures  c  loading  linux 

4
พื้นผิวใช้หน่วยความจำใน GPU มากแค่ไหน?
png ขนาดใหญ่บนดิสก์อาจใช้เวลาเพียงสองเมกะไบต์ แต่ฉันคิดว่าใน gpu png เดียวกันจะถูกจัดเก็บในรูปแบบที่ไม่มีการบีบอัดซึ่งใช้พื้นที่มากขึ้น มันเป็นเรื่องจริงเหรอ? ถ้าเป็นจริงพื้นที่เท่าไหร่?
9 xna  textures  gpu 

3
การสุ่มตัวอย่างพื้นผิว Direct3D ช้ามาก
ดังนั้นฉันจึงเขียนเกมเล็ก ๆ โดยใช้ Direct3D 9 และฉันใช้การทำงานหลายอย่างเพื่อภูมิประเทศ สิ่งที่ฉันทำคือการสุ่มตัวอย่าง 3 พื้นผิวและแผนที่ผสมและรับสีโดยรวมจากพื้นผิวทั้งสามตามช่องสีจากแผนที่ผสมผสาน อย่างไรก็ตามฉันได้รับอัตราเฟรมลดลงมากเมื่อฉันลองมากกว่า 1 พื้นผิวฉันจะเปลี่ยนจาก 120+ fps เป็นต่ำกว่า 50 นี่คือรหัส HLSL ที่รับผิดชอบในการชะลอตัว: float3 ground = tex2D(GroundTex, multiTex).rgb; float3 stone = tex2D(StoneTex, multiTex).rgb; float3 grass = tex2D(GrassTex, multiTex).rgb; float3 blend = tex2D(BlendMapTex, blendMap).rgb; ฉันทำผิดหรือเปล่า? หากใครมีข้อมูลหรือเคล็ดลับเกี่ยวกับการสุ่มตัวอย่างพื้นผิวหรืออะไรก็จะดี ขอบคุณ

5
วิธีที่ไม่ทำลายเพื่อแก้ไขช่องอัลฟาในรูปภาพ Photoshop / Gimp
กำลังมองหาการสร้างพื้นผิวให้กับ Unity3d และฉันก็ติดอยู่กับสิ่งที่ดูเหมือนจะเป็นเวทีง่ายๆ เป้าหมายของฉันคือการสร้างภาพ RGBA พร้อมข้อมูลสีสำหรับทุกพิกเซลและช่องอัลฟาแยกต่างหาก ส่วนประกอบทั้งสองนี้ได้รับการป้อนเข้าสู่ความสามัคคีในฐานะสีฐานและความแข็งแรงของการสะท้อนตามลำดับ (การใช้วัสดุ "Reflective / Bumped Diffuse") ถ้าฉันใช้เครื่องมือกำบังใน Photoshop ฉันสามารถลบบางส่วนของภาพออก (ความโปร่งใส) อย่างไรก็ตามฉันต้องการเก็บข้อมูลสี RBG ดั้งเดิมเมื่อส่งออกและไม่เพียง แต่มีพื้นที่ "ว่าง" นอกจากนี้มันจะดีถ้าฉันสามารถทำได้โดยไม่ทำลายเช่น ช่องอัลฟาสุดท้ายขึ้นอยู่กับเลเยอร์มาตรฐานหรือสร้างขึ้นจากวัตถุเส้นทาง ฯลฯ ฉันมีปัญหาเดียวกันกับ The Gimp ความช่วยเหลือเกี่ยวกับเรื่องนี้จะได้รับการชื่นชมอย่างมาก (หาก Photoshop / Gimp ไม่ใช่เครื่องมือสำหรับงานนี้ใครช่วยแนะนำคนที่ดีกว่าได้ไหม)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.