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

XNA เป็นกรอบเกมโดย Microsoft ที่อนุญาตให้ปรับใช้สำหรับ Windows, Windows Phone และ Xbox 360

1
จัดวางโมเดลเพื่อเผชิญหน้ากับเป้าหมาย
ฉันมีสองวัตถุ (เป้าหมายและผู้เล่น) ทั้งสองมีตำแหน่ง (Vector3) และการหมุน (Quaternion) ฉันต้องการให้เป้าหมายหมุนและหันไปทางขวาที่โปรแกรมเล่น เป้าหมายเมื่อมีบางสิ่งบางอย่างควรยิงไปที่ผู้เล่น ฉันได้เห็นตัวอย่างของการเล่น slerping กับผู้เล่นมากมาย แต่ฉันไม่ต้องการการหมุนแบบเพิ่มขึ้นดีฉันคิดว่ามันจะโอเคตราบใดที่ฉันสามารถทำให้ slerp เป็น 100% และตราบใดที่มันใช้งานได้จริง FYI - ฉันสามารถใช้ตำแหน่งและการหมุนเพื่อทำสิ่งอื่นมากมายและมันใช้งานได้ดีมากยกเว้นชิ้นสุดท้ายที่ฉันไม่สามารถหาได้ ตัวอย่างโค้ดทำงานในคลาสของเป้าหมาย, ตำแหน่ง = ตำแหน่งเป้าหมาย, Avatar = ผู้เล่น แก้ไข ตอนนี้ฉันใช้รหัส c # ของ Maik ที่เขาให้มาและใช้งานได้ดี!
28 xna  c#  3d  models  quaternion 

10
เอฟเฟ็กต์เพื่อให้ยานอวกาศเร่งความเร็วดูเร็วขึ้น
ฉันมียานอวกาศและฉันได้สร้างฟังก์ชัน "เร่งความเร็ว" ที่เพิ่มความเร็วของยานอวกาศฉันควรใช้เอฟเฟกต์ใดเพื่อสร้างความประทับใจในความเร็วสูง ฉันกำลังคิดที่จะทำทุกอย่างยกเว้นยานอวกาศของฉันพร่ามัว แต่ฉันคิดว่าจะมีบางอย่างขาดหายไป ความคิดใด ๆ Btw ฉันทำงานใน XNA C # แต่ถ้าคุณไม่คุ้นเคยกับ XNA ที่อธิบายถึงเอฟเฟกต์บางอย่างยังคงมีประโยชน์ The Game is 3d และฉันได้แนบ printscreens ของเกม นี่เป็นโหมดปกติ (ไม่มีการเพิ่มระดับ) และนี่คือโหมดเพิ่ม (ยานเร่งความเร็วไปข้างหน้าในขณะที่กล้องความเร็วในความเร็วปกติความเร็วไม่เพิ่ม)

7
คุณสามารถเข้าถึงการตรวจจับการเคลื่อนไหว Kinect จาก XNA ได้หรือไม่?
ตั้งแต่ปี 2010 ที่มีการเปิดตัว XNA 4.0 หากฉันซื้อ Xbox 360 ด้วย Kinect ฉันจะสามารถเข้าถึงข้อมูลการตรวจจับการเคลื่อนไหวด้วยเกม XNA ที่ฉันกำลังพัฒนาอยู่หรือไม่? หรือสิ่งนี้ จำกัด เฉพาะนักพัฒนา C ++ ที่มี devkit เท่านั้น

10
ใน Pong คุณจะคำนวณทิศทางของลูกบอลได้อย่างไรเมื่อมันกระดอนจากไม้พาย?
ฉันพยายามที่จะสรุปปัญหาของ Hello World-y ในการพัฒนาเกม ฉันได้สร้างเกม TicTacToe ใน XNA แล้วฉันเดาว่าขั้นตอนต่อไปจะเป็นโคลนการฝ่าวงล้อม โปรดจำไว้ว่าฉันไม่มีความรู้เกี่ยวกับการเขียนโปรแกรมเกมหรือแม้แต่คณิตศาสตร์ที่ฉันควรนำไปใช้กับที่ไหน นั่นเป็นเหตุผลที่ฉันถามคำถามนี้ คำถาม: ฉันจะทราบได้อย่างไรว่าลูกบอลควรตีกลับอย่างไรเมื่อมันกระทบกับไม้พายที่ด้านล่างของหน้าจอ ฉันคิดว่ามันจะเป็นเช่น: จับความเร็วและมุมจากลูกบอลที่เข้ามา ตรวจจับตำแหน่งที่สัมผัสกับแถบ (ซ้ายสุด, ขวาสุด, กึ่งกลาง) และตามที่ให้ความเร็วสูงขึ้นหากสัมผัสบริเวณด้านนอก นี่คือที่ฉันติดอยู่ ฮิฮิ. ข้อมูลเชิงลึกใด ๆ ฉันรู้ว่านี่ไม่ใช่คำถามประเภทคำตอบที่ตรงไปตรงมา แต่ฉันแน่ใจว่ามันเป็นปัญหาที่ทุกคนเผชิญ ฉันกำลังอ่านหนังสือLinear Algebraที่แนะนำบนเว็บไซต์นี้ แต่ฉันก็ยังไม่รู้ว่าควรสมัครที่นี่หรือไม่
28 xna  c#  2d  mathematics  physics 

4
การเคลื่อนไหวสวมบทบาทจากบนลงล่างพร้อมการแก้ไข?
ฉันหวังว่าเราจะได้เล่น Zelda ทั้งหมด: ลิงค์ไปสู่อดีตโปรดแก้ไขให้ฉันถ้าฉันผิด แต่ฉันต้องการเลียนแบบการเคลื่อนไหวตัวละคร 2D จากบนลงล่างด้วยการแก้ไข มันทำมาแล้วในเกมอื่น แต่ฉันคิดว่าการอ้างอิงนี้จะง่ายที่สุดในการเชื่อมโยง โดยเฉพาะอย่างยิ่งการเคลื่อนไหวและการแก้ไขที่ฉันพูดถึงคือ: การเคลื่อนไหวลอยตัวนั้นไม่ได้ จำกัด เฉพาะการเคลื่อนไหวแบบเรียงต่อกันเช่นโปเกมอนและเกมอื่น ๆ ที่การแตะหนึ่งครั้งของแผ่นเคลื่อนไหวจะเลื่อนคุณหนึ่งตารางในทิศทางที่สำคัญ การเคลื่อนไหวแบบลอยตัวนี้ควรจะสามารถทำให้เกิดการเคลื่อนไหวในแนวทแยง หากคุณกำลังเดินไปทางทิศตะวันตกและคุณมาที่กำแพงที่มีแนวทแยงในแบบตะวันออกเฉียงเหนือ / ตะวันตกเฉียงใต้คุณจะได้รับการแก้ไขในการเคลื่อนไหวทางตะวันตกเฉียงใต้แม้ว่าคุณจะยังคงถือ (ตะวันตก) บนตัวควบคุม การดำเนินการนี้ควรใช้สำหรับการแก้ไขเส้นทแยงมุมทั้งสองในทั้งสองทิศทาง หากคุณมีพิกเซลไม่กี่ก้าวจากการเดินเข้าไปในประตูหรือโถงทางเดินคุณจะได้รับการแก้ไขให้เดินผ่านโถงทางเดินหรือลงไปตามทางเดินนั่นคือการชนเข้ามุมทำให้คุณถูกผลักเข้าไปในห้องโถง / ประตู ฉันตามล่าหาวิธีที่มีประสิทธิภาพเพื่อบรรลุเป้าหมายนี้และไม่มีโชค เพื่อความชัดเจนฉันกำลังพูดถึงการเคลื่อนไหวของตัวละครมนุษย์ไม่ใช่การเคลื่อนไหวของ NPC มีทรัพยากรของพวกเขาในการเคลื่อนไหวประเภทนี้หรือไม่? สมการหรืออัลกอริทึมอธิบายบนวิกิหรืออะไร? ฉันใช้ XNA Framework มีอะไรในนั้นที่จะช่วยได้หรือไม่
27 xna  2d  rpg  movement 

3
ทีมป้องกันการเขียนทับทำงานในไฟล์ต้นฉบับได้อย่างไร [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Game Exchange Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว มันเป็นไปได้สำหรับฉันที่มีหลายคนที่กำลังทำงานอยู่ในขณะเดียวกันเช่นเอ็นจิ้นเกม สมมติว่านักพัฒนาคนหนึ่งกำลังทำงานAudio.cppและนักพัฒนาที่สองก็กำลังทำงานอยู่Audio.cppสิ่งนี้จัดการโดยทั่วไปในทีมขนาดใหญ่เพื่อต่อสู้กับการเขียนทับได้อย่างไร (ในคำอื่น ๆ ที่จะหยุดสองนักพัฒนาจากการเปิดไฟล์จนกว่านักพัฒนาคนหนึ่งจะเสร็จสิ้น)
26 project-management  version-control  teamwork  java  2d  collision-detection  vector  collision-resolution  unity  directx  directx11  directx10  xna  ios  monogame  windows-phone-8  xamarin  design-patterns  oop  xna  collision-detection  collision-resolution  bounding-boxes  rotation  collision-detection  mathematics  javascript  algorithm  separating-axis-theorem  xna  2d  monogame  image  xna  directx  graphics  performance  opengl  2d  3d  c++  directx11  unity  c#  scale  c#  xna  collision-detection  collision-resolution  leaderboards  scoring  glsl  srgb  tilemap  three.js  tiled  unity  physics  xml  dialog-tree  xna  c#  .net  opengl  lwjgl  vbo  physics  graphics  procedural-generation  simulations  water  opengl  java  textures  lwjgl  frame-buffer  unity  unity  2d  collision-detection  collision-resolution  trigonometry  java  android  libgdx  xna  c#  frame-rate  c++  unreal-4  procedural-generation  java  graphics  lwjgl  slick  c++  software-engineering 

5
ข้อเสียของการใช้ DrawableGameComponent สำหรับทุก ๆ ครั้งของวัตถุในเกมคืออะไร?
ผมเคยอ่านในหลายสถานที่ที่ DrawableGameComponents จะถูกบันทึกไว้สำหรับสิ่งที่ต้องการ "ระดับ" หรือชนิดของผู้จัดการแทนการใช้พวกเขาเช่นบางตัวอักษรหรือกระเบื้อง (เช่นเดียวกับผู้ชายคนนี้บอกว่าที่นี่ ) แต่ฉันไม่เข้าใจว่าทำไมถึงเป็นเช่นนั้น ฉันอ่านโพสต์นี้และมันทำให้รู้สึกถึงฉันมาก แต่สิ่งเหล่านี้เป็นส่วนน้อย ฉันมักจะไม่สนใจสิ่งต่าง ๆ เช่นนี้มากเกินไป แต่ในกรณีนี้ฉันอยากจะรู้ว่าทำไมคนส่วนใหญ่ที่เห็นได้ชัดเชื่อว่านี่ไม่ใช่วิธีที่จะไป บางทีฉันอาจจะหายไปบางสิ่งบางอย่าง

3
มีฟังก์ชั่นไซน์ที่เร็วกว่านี้ไหม?
ฉันกำลังทำงานเกี่ยวกับการสร้างเสียง perlin 3d ไลบรารี C # Math ดูเหมือนว่าเกินความจำเป็นสำหรับสิ่งที่ฉันต้องการเนื่องจากฟังก์ชั่นส่วนใหญ่ใช้การคิดแบบสองครั้ง ฉันใช้ Math.Sin () ในหลายแห่งเพื่อสร้างเสียง ไม่มีใครรู้ถึงฟังก์ชั่นไซน์ที่เร็วกว่านี้ไหม?
25 xna  c#  mathematics 

7
การคำนวณแรงโน้มถ่วงแบบมัลติเธรด 2D
ฉันกำลังสร้างเกมสำรวจอวกาศและตอนนี้ฉันเริ่มทำงานกับแรงโน้มถ่วง (ใน C # กับ XNA) แรงโน้มถ่วงยังคงต้องการการปรับแต่ง แต่ก่อนที่ฉันจะทำได้ฉันต้องจัดการกับปัญหาด้านประสิทธิภาพด้วยการคำนวณทางฟิสิกส์ของฉัน นี่คือการใช้วัตถุ 100 รายการโดยปกติแล้วการแสดงผล 1,000 รายการโดยไม่มีการคำนวณทางฟิสิกส์ได้ดีกว่า 300 FPS (ซึ่งเป็นฝา FPS ของฉัน) แต่วัตถุใด ๆ ที่มากกว่า 10 หรือมากกว่านั้นจะนำเกมมาด้วย เข่าเมื่อทำการคำนวณทางฟิสิกส์ ฉันตรวจสอบการใช้เธรดของฉันและเธรดแรกกำลังฆ่าตัวเองจากงานทั้งหมดดังนั้นฉันจึงคิดว่าฉันต้องทำการคำนวณทางฟิสิกส์ในเธรดอื่น อย่างไรก็ตามเมื่อฉันพยายามเรียกใช้เมธอดการอัปเดตของคลาส Gravity.cs ในเธรดอื่นแม้ว่าเมธอดการอัปเดตของ Gravity จะไม่มีอะไรอยู่เกมยังคงลดเหลือ 2 FPS Gravity.cs public void Update() { foreach (KeyValuePair<string, Entity> e in entityEngine.Entities) { Vector2 Force = new Vector2(); foreach …

3
วิธีที่ดีที่สุดในการปิดบังสไปรต์ 2D ใน XNA
ฉันกำลังพยายามปกปิดผีสางบ้าง แทนที่จะอธิบายเป็นคำฉันได้สร้างภาพตัวอย่าง: บริเวณที่สวมหน้ากาก (สีขาว) ทีนี้สไปรท์สีแดงที่ต้องถูกครอบตัด ผลสุดท้าย ตอนนี้ฉันทราบแล้วว่าใน XNA คุณสามารถทำสองสิ่งเพื่อบรรลุเป้าหมายนี้: ใช้ Buffer ฉลุ ใช้ Pixel Shader ฉันได้ลองทำพิกเซลเชดเดอร์ซึ่งทำสิ่งนี้เป็นหลัก: float4 main(float2 texCoord : TEXCOORD0) : COLOR0 { float4 tex = tex2D(BaseTexture, texCoord); float4 bitMask = tex2D(MaskTexture, texCoord); if (bitMask.a > 0) { return float4(tex.r, tex.g, tex.b, tex.a); } else { return float4(0, 0, …
24 xna  2d  hlsl  masking 

7
การคำนวณแรงโน้มถ่วงที่เหมาะสมที่สุด
ฉันมีสิ่งของหลายชิ้นที่มีขนาดและความเร็วต่างกันไปซึ่งกันและกัน ในการอัพเดททุกครั้งฉันต้องข้ามวัตถุทุกอย่างและรวมแรงเข้าด้วยกันเนื่องจากแรงโน้มถ่วงของวัตถุอื่น ๆ มันไม่ได้ปรับขนาดได้ดีมากเป็นหนึ่งในสองคอขวดใหญ่ที่ฉันพบในเกมของฉันและฉันไม่แน่ใจว่าต้องทำอย่างไรเพื่อปรับปรุงประสิทธิภาพ มันรู้สึกเหมือนฉันควรจะสามารถที่จะปรับปรุงประสิทธิภาพการทำงาน เมื่อถึงเวลาใดก็ตาม 99% ของวัตถุในระบบอาจมีอิทธิพลเพียงเล็กน้อยต่อวัตถุ แน่นอนว่าฉันไม่สามารถจัดเรียงวัตถุตามมวลและพิจารณาวัตถุที่ใหญ่ที่สุด 10 อันดับแรกหรือบางสิ่งบางอย่างเท่านั้นเนื่องจากแรงแตกต่างกันไปตามระยะทางมากกว่ามวล (สมการนี้อยู่ในแนวของforce = mass1 * mass2 / distance^2) ฉันคิดว่าการประมาณที่ดีคือการพิจารณาวัตถุที่ใหญ่ที่สุดและวัตถุที่อยู่ใกล้ที่สุดโดยไม่สนใจเศษหินเล็ก ๆ หลายร้อยชิ้นที่อยู่อีกด้านหนึ่งของโลกซึ่งอาจไม่ส่งผลกระทบใด ๆ ต่อวัตถุ แต่เพื่อค้นหาว่าวัตถุใดเป็นวัตถุ ที่ใกล้เคียงที่สุดฉันต้องย้ำไปที่วัตถุทั้งหมดและตำแหน่งของพวกเขาจะเปลี่ยนแปลงตลอดเวลาดังนั้นฉันจึงไม่สามารถทำได้เพียงครั้งเดียว ขณะนี้ฉันกำลังทำสิ่งนี้: private void UpdateBodies(List<GravitatingObject> bodies, GameTime gameTime) { for (int i = 0; i < bodies.Count; i++) { bodies[i].Update(i); } } //... public virtual void …

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

2
ฉันจะปิดการใช้งานการกรองพื้นผิวสำหรับสไปรท์สเกลใน XNA 4.0 ได้อย่างไร
ฉันมีเทพดาที่ฉันพยายามไต่ระดับขึ้นใน XNA แต่ XNA กำลังใช้การกรองพื้นผิวบางชนิดที่ทำให้มันเรียบและทำให้ดูน่าเกลียด ฉันต้องการให้พิกเซลเพิ่มเป็นสองเท่าแทนการแก้ไข ฉันจะทำให้สำเร็จได้อย่างไร

9
วิธีที่มีประสิทธิภาพในการวาดโครงร่างรอบสไปรต์
ฉันใช้ XNA เพื่อเขียนโปรแกรมเกมและได้ทดลองวิธีการต่าง ๆ เพื่อให้ได้ผล 'ที่เลือก' บนสไปรต์ของฉัน ปัญหาที่ฉันมีอยู่ก็คือการคลิกแต่ละครั้งที่ถูกดึงลงไปใน Spritebatch นั้นถูกใช้มากกว่า Sprite เดียว (แต่ละวัตถุสามารถสร้างได้มากถึง 6 Sprite) ฉันขอขอบคุณถ้ามีคนแนะนำฉันเกี่ยวกับวิธีการเพิ่มเค้าร่างให้กับสไปรต์ X พิกเซลของฉัน (ดังนั้นความกว้างเค้าร่างอาจเป็นจำนวนพิกเซลทั้งหมดที่หลากหลาย) ขอบคุณล่วงหน้า, เกร็ก
21 2d  xna  sprites 

2
ทำให้ฉากทั้งหมดจางหายไปเป็นสีเทา
เมื่อผู้เล่นเสียชีวิตไปทั้งหมดฉันต้องการให้หน้าจอเกมทั้งหมดเป็นสีเทา แต่ไม่หยุดอัปเดตทันที ฉันยังต้องการให้มันจางหายไปถึงระดับสีเทาแทนที่จะเสียสีไปในทันที ทุกสิ่งที่ฉันพบจนถึงขณะนี้คือเกี่ยวกับการจับภาพหน้าจอและทำให้เป็นสีเทาหรือทำให้เป็นสีเทาเฉพาะพื้นผิว มีวิธีที่จะเปลี่ยนสนามเด็กเล่นทั้งหมดและวัตถุทั้งหมดภายในเป็นสีเทาโดยไม่ต้องวนซ้ำทุกอย่างหรือไม่?
20 xna  c# 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.