คำถามติดแท็ก skeletal-animation

2
วิธีการตั้งเป้าหมายใหม่ภาพเคลื่อนไหวโดยอัตโนมัติจากโครงกระดูกหนึ่งไปยังอีกโครงกระดูก?
ฉันพยายามเขียนโค้ดเพื่อถ่ายโอนอนิเมชั่นที่ถูกออกแบบมาเพื่อโครงกระดูกหนึ่งเพื่อให้ถูกต้องในโครงกระดูกอีกอัน ภาพเคลื่อนไหวต้นฉบับประกอบด้วยการหมุนยกเว้นการแปลบนรูท (เป็นภาพเคลื่อนไหว mocap จากฐานข้อมูลจับการเคลื่อนไหว CMU ) แอปพลิเคชั่น 3D จำนวนมาก (เช่น Maya) มีสิ่งอำนวยความสะดวกในตัว แต่ฉันพยายามเขียนเวอร์ชัน (ง่ายมาก) สำหรับเกมของฉัน ฉันได้ทำงานเกี่ยวกับการทำแผนที่กระดูกและเนื่องจากโครงกระดูกมีความคล้ายคลึงกันตามลำดับขั้น (bipeds) ฉันสามารถทำแผนที่กระดูก 1: 1 สำหรับทุกสิ่งยกเว้นกระดูกสันหลัง (สามารถทำงานในภายหลัง) อย่างไรก็ตามปัญหาคือโครงกระดูกพื้นฐาน / การผูกโพสท่านั้นแตกต่างกันและกระดูกเป็นสเกลที่แตกต่างกัน (สั้นกว่า / ยาวกว่า) ดังนั้นหากฉันคัดลอกการหมุนตรงๆมันดูแปลกมาก ฉันได้ลองทำหลายสิ่งคล้ายกับวิธีแก้ปัญหาของ lorancou ด้านล่างเพื่อไม่เกิดประโยชน์ (เช่นการคูณแต่ละเฟรมในภาพเคลื่อนไหวโดยตัวคูณกระดูกเฉพาะ) หากใครมีทรัพยากรในสิ่งเช่นนี้ (เอกสารซอร์สโค้ด ฯลฯ ) นั่นจะเป็นประโยชน์จริง ๆ

2
การเคลื่อนไหวนั้นขึ้นอยู่กับอัตราเฟรมแม้จะใช้ Time.deltaTime
ฉันมีรหัสต่อไปนี้เพื่อคำนวณการแปลที่จำเป็นในการย้ายวัตถุเกมใน Unity ซึ่งเรียกว่าLateUpdateมา จากสิ่งที่ฉันเข้าใจการใช้งานของฉันTime.deltaTimeควรจะทำให้เป็นอิสระแปลสุดท้ายอัตราเฟรม (โปรดทราบCollisionDetection.Move()เป็นเพียงการแสดง raycasts) public IMovementModel Move(IMovementModel model) { this.model = model; targetSpeed = (model.HorizontalInput + model.VerticalInput) * model.Speed; model.CurrentSpeed = accelerateSpeed(model.CurrentSpeed, targetSpeed, model.Accel); if (model.IsJumping) { model.AmountToMove = new Vector3(model.AmountToMove.x, model.AmountToMove.y); } else if (CollisionDetection.OnGround) { model.AmountToMove = new Vector3(model.AmountToMove.x, 0); } model.FlipAnim = flipAnimation(targetSpeed); // If …

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

2
แอนิเมชั่นโครงกระดูกที่มีประสิทธิภาพ
ฉันกำลังใช้รูปแบบแอนิเมชั่นโครงกระดูก ( ดังที่ได้รับแจ้งที่นี่ ) สำหรับเกม RTS การนำเสนอแต่ละแบบของแต่ละรุ่นบนหน้าจอจะมีขนาดเล็ก แต่จะมีจำนวนมาก! ในแอนิเมชั่นโครงกระดูกเช่นไฟล์ MD5 คุณสามารถแนบจุดสุดยอดแต่ละจุดเข้ากับข้อต่อได้ตามต้องการ คุณจะสนับสนุนสิ่งนี้ได้อย่างมีประสิทธิภาพในขณะที่ทำการแก้ไขใน GLSL อย่างไร หรือเอ็นจิ้นทำแอนิเมชั่นของพวกเขาบน CPU หรือไม่ หรือเครื่องยนต์ตั้งค่าขีด จำกัด โดยพลการในข้อต่อสูงสุดต่อจุดสุดยอดและเรียก nop คูณสำหรับข้อต่อเหล่านั้นที่ไม่ได้ใช้จำนวนสูงสุด? มีเกมที่ใช้แอนิเมชั่นโครงกระดูกในการตั้งค่าคล้าย RTS หรือไม่ดังนั้นจึงพิสูจน์ได้ว่าในการ์ดกราฟิกในตัวที่ฉันไม่มีอะไรต้องกังวลเกี่ยวกับเส้นทางของกระดูก?

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

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
ใครจะรู้วิธีนำภาพเคลื่อนไหว 2D ไปใช้ในเกม
ฉันสงสัยว่าพวกเขาจะนำแอนิเมชั่นของกระดูกไปใช้ในเกมแฟลชได้อย่างไรhttp://www.foddy.net/athletics.swfคุณรู้จักวัสดุการศึกษาใดบ้างที่ฉันสามารถเริ่มเรียนรู้ระบบกระดูก 2D ได้ ฉันเพิ่งใช้ระบบอวตารโดยเขียนบิตแมปหลายเฟรมในแต่ละเฟรม (คล้ายกับเรื่องราวของต้นเมเปิล) แต่มีบางคนบอกฉันว่าระบบกระดูกสามารถประหยัดทรัพยากรศิลปะได้มากขึ้นดังนั้นฉันต้องการเรียนรู้สิ่งนั้น
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.