问题标签 [fbx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
845 浏览

xna - XNA 和 FBX 着色问题

我的问题是,如果我使用 BasicEffect(并设置 VertexColorEnabled = true)或我自己的着色器,并且只使用彩色(不是纹理!)模型,它会给出 Color0 丢失的错误......这不是很奇怪。 fbx 型号不带 COLOR0 通道?

0 投票
3 回答
11354 浏览

graphics - 谁能帮我解释一下 FBX 格式?

我使用记事本++来查看FBX模型的数据结构,但我在理解它时遇到了一些问题。这是位于 (0,0,0) 的立方体(side = 10)的一些信息,谁能告诉我这些成员是什么意思?谢谢!

0 投票
1 回答
542 浏览

xna - 如何使用maya创建的fbx文件在xna中导入约束

我有这个问题:在 Autodesk Maya 中,我在两个对象之间设置了“目标约束”。我可以在 fbx 文件中导出这个约束(如果我再次在 Maya 中导入这个 Fbx,我会看到约束)但是当我在 Xna 中导入这个 fbx 时,约束不会被导入。有一种方法可以处理 Xna 中的约束吗?

谢谢你

0 投票
1 回答
759 浏览

transform - 在Unity中为部分网格创建变换?

我正在统一开展一个项目,并且有一个脚本引用了对角色手部的变换。这用于将物品放在角色的手中,并在手移动时让它跟随它。当我双击转换时,虽然我没有得到任何预制件的引用,但它确实具有该位置的网格数据。如何创建这样的转换?

谢谢!

这是我正在尝试完成的屏幕截图:在此处输入图像描述

0 投票
1 回答
418 浏览

c# - WP7 XNA 显示 3D FBX 模型

我只是开始为我的愚蠢问题感到抱歉。

我的模型看起来像这样:http: //img265.imageshack.us/img265/8291/clipboard01ap.jpg

但在 XNA 中的结果如下所示:http ://www.youtube.com/watch?v=XHxHKZnjgnM

我希望你能看到奇怪的透明度......

问题是否与“EnableDefaultLighting()”有关?

感谢帮助

0 投票
1 回答
168 浏览

c# - 如何修改变量以使 fbx 对象在手机 7 上可见?

我现在面临这个问题。设法成功地将 fbx 模型加载到手机 7 上。不幸的是,模型在屏幕上似乎显得过大,并且模型的很大一部分离开了屏幕。我怀疑可以对以下代码进行更改,但由于我没有这方面的经验,我现在知道从哪里开始。请指教。或者,如果我最小化 fbx 模型的分辨率/大小会有所帮助吗?谢谢!

0 投票
0 回答
693 浏览

c# - 无法打开 XNA 4.0 编译的游戏

我已经开始学习 XNA 4.0 并且正在尝试加载和绘制 3D 模型,使用 Blender 2.6 从 3ds 转换为 fbx/x 。该程序没有给出构建错误或警告,我已经能够打开可执行文件几次并且运行良好。一段时间后,我无法再打开游戏,它开始给我这个错误:

AccessViolationException - 试图读取或写入受保护的内存。这通常表明其他内存已损坏

我将项目发送给了一位朋友,他能够编译和运行游戏。

删除mesh.Draw()部分似乎可以解决这个问题,但我需要显示模型。

//后期编辑:发现是暂时的错误,所以如果现在报错,过一段时间(或者重新打开visual studio,我还不知道是哪个触发的)我可以正常运行程序使用相同的源代码和文件。

堆栈跟踪:

System.AccessViolationException 未处理 Message=尝试读取或写入受保护的内存。这通常表明其他内存已损坏。源=Microsoft.Xna.Framework.Graphics
StackTrace:在 Microsoft.Xna.Framework.Graphics.GraphicsDevice.Present() 在 Microsoft.Xna.Framework.GraphicsDeviceManager 的 Microsoft.Xna.Framework.Graphics.GraphicsDevice.Present(tagRECT* pSource, tagRECT* pDest, HWND__* hOverride)。 Microsoft.Xna.Framework.IGraphicsDeviceManager.EndDraw() 在 Microsoft.Xna.Framework.Game.EndDraw() 在 Microsoft.Xna.Framework.Game.DrawFrame() 在 Microsoft.Xna.Framework.Game.Tick() 在 Microsoft。 Xna.Framework.Game.HostIdle(Object sender, EventArgs e) 在 Microsoft.Xna.Framework.GameHost.OnIdle() 在 Microsoft.Xna.Framework.WindowsGameHost.RunOneFrame() 在 Microsoft.Xna.Framework.WindowsGameHost.ApplicationIdle(Object发件人,EventArgs e) 在 System.Windows.Forms.Application.ThreadContext.System.Windows.Forms。UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef) 在 System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData) 在 System.Windows.Forms.Application。 ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) 在 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context) 在 System.Windows.Forms.Application.Run(Form mainForm) 在 Microsoft.Xna.Framework。 WindowsGameHost.Run() 在 Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun) 在 Microsoft.Xna.Framework.Game.Run() 在 _3D.Program.Main(String[] args) 在 C:\Users\username \Desktop\3D\3D\3D\Program.cs:第 15 行System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData) 在 System.Windows.Forms.Application.ThreadContext 的 IMsoComponent.FDoIdle(Int32 grfidlef)。 RunMessageLoopInner(Int32 reason, ApplicationContext context) 在 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context) 在 System.Windows.Forms.Application.Run(Form mainForm) 在 Microsoft.Xna.Framework.WindowsGameHost。 Run() at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun) at Microsoft.Xna.Framework.Game.Run() at _3D.Program.Main(String[] args) in C:\Users\username\Desktop \3D\3D\3D\Program.cs:第 15 行System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData) 在 System.Windows.Forms.Application.ThreadContext 的 IMsoComponent.FDoIdle(Int32 grfidlef)。 RunMessageLoopInner(Int32 reason, ApplicationContext context) 在 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context) 在 System.Windows.Forms.Application.Run(Form mainForm) 在 Microsoft.Xna.Framework.WindowsGameHost。 Run() at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun) at Microsoft.Xna.Framework.Game.Run() at _3D.Program.Main(String[] args) in C:\Users\username\Desktop \3D\3D\3D\Program.cs:第 15 行FDoIdle(Int32 grfidlef) 在 System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData) 在 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner( Int32 原因,ApplicationContext 上下文)在 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 原因,ApplicationContext 上下文)在 System.Windows.Forms.Application.Run(Form mainForm)在 Microsoft.Xna.Framework.WindowsGameHost.Run( ) 在 Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun) 在 Microsoft.Xna.Framework.Game.Run() 在 _3D.Program.Main(String[] args) 在 C:\Users\username\Desktop\3D \3D\3D\Program.cs:第 15 行FDoIdle(Int32 grfidlef) 在 System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData) 在 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner( Int32 原因,ApplicationContext 上下文)在 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 原因,ApplicationContext 上下文)在 System.Windows.Forms.Application.Run(Form mainForm)在 Microsoft.Xna.Framework.WindowsGameHost.Run( ) 在 Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun) 在 Microsoft.Xna.Framework.Game.Run() 在 _3D.Program.Main(String[] args) 在 C:\Users\username\Desktop\3D \3D\3D\Program.cs:第 15 行System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData) 在 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) 在 System.Windows.Forms.Application.ThreadContext .RunMessageLoop(Int32 reason, ApplicationContext context) at System.Windows.Forms.Application.Run(Form mainForm) at Microsoft.Xna.Framework.WindowsGameHost.Run() at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun) at Microsoft.Xna.Framework.Game.Run() 在 C:\Users\username\Desktop\3D\3D\3D\Program.cs:line 15 中的 _3D.Program.Main(String[] args)System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData) 在 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) 在 System.Windows.Forms.Application.ThreadContext .RunMessageLoop(Int32 reason, ApplicationContext context) at System.Windows.Forms.Application.Run(Form mainForm) at Microsoft.Xna.Framework.WindowsGameHost.Run() at Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun) at Microsoft.Xna.Framework.Game.Run() 在 C:\Users\username\Desktop\3D\3D\3D\Program.cs:line 15 中的 _3D.Program.Main(String[] args)Int32 pvLoopData)在 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 原因,ApplicationContext 上下文)在 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 原因,ApplicationContext 上下文)在 System.Windows.Forms.Application。在 Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun) 在 Microsoft.Xna.Framework.Game.Run() 在 _3D.Program.Main() 的 Microsoft.Xna.Framework.WindowsGameHost.Run() 运行(Form mainForm) C:\Users\username\Desktop\3D\3D\3D\Program.cs 中的 String[] args):第 15 行Int32 pvLoopData)在 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 原因,ApplicationContext 上下文)在 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 原因,ApplicationContext 上下文)在 System.Windows.Forms.Application。在 Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun) 在 Microsoft.Xna.Framework.Game.Run() 在 _3D.Program.Main() 的 Microsoft.Xna.Framework.WindowsGameHost.Run() 运行(Form mainForm) C:\Users\username\Desktop\3D\3D\3D\Program.cs 中的 String[] args):第 15 行Windows.Forms.Application.Run(Form mainForm) 在 Microsoft.Xna.Framework.WindowsGameHost.Run() 在 Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun) 在 Microsoft.Xna.Framework.Game.Run() 在_3D.Program.Main(String[] args) 在 C:\Users\username\Desktop\3D\3D\3D\Program.cs:line 15Windows.Forms.Application.Run(Form mainForm) 在 Microsoft.Xna.Framework.WindowsGameHost.Run() 在 Microsoft.Xna.Framework.Game.RunGame(Boolean useBlockingRun) 在 Microsoft.Xna.Framework.Game.Run() 在_3D.Program.Main(String[] args) 在 C:\Users\username\Desktop\3D\3D\3D\Program.cs:line 15
内部异常:

在此先感谢并为我的英语不好感到抱歉。

0 投票
1 回答
4282 浏览

animation - 将 Fbx 从 Blender 导出到 Unity

我有一个完整的搅拌机文件,它有一个动画角色,有两个动作,我想将它导出为 fbx,这样我就可以统一查看它。我这样做了,由于某种原因,它只导出我的动作,而不是网格或相机或其他任何东西只导出动作。为什么它不导出我的网格我已经选择了所有内容,并且我已经应用了修改器并选择了包含动画。谢谢您的帮助

0 投票
1 回答
1211 浏览

f# - 模型在 XNA 中无法正确显示

模型在 XNA 中无法正确显示,忽略了一些骨骼变形回复引用编辑我对 3D 建模非常陌生,但是我需要为我承担的项目做一些事情。

基本原则是我需要一个可以变形为用户测量值的人体模型(使用 Kinect 测量,但那是另一回事了!)。例如,我想为较大的用户拉伸腹部区域等。

使用 3Ds Max,我已经能够使用 Biped 装配人体模型,然后添加一些额外的骨骼来改变胃部:

在此处输入图像描述

这一切看起来都很好,但是当我将它加载到 XNA 中时,胃部变形消失了——

在此处输入图像描述

对于为什么会发生这种情况,我有些茫然,任何建议都将受到欢迎,或者任何有关如何完成此类事情的教程的链接。

此外,当我在 QuickTime 的 FBX 查看器插件中查看导出的 FBX 时,变形显示得非常好。

在此处输入图像描述

显示模型的代码(它的 F# 代码,转换形式的 ac# 示例,但是我已经使用原始 c# 代码尝试过它并得到相同的结果)是:

想知道是否有人对出了什么问题有任何想法,或者对如何解决这个问题有任何想法。

任何建议将不胜感激。

谢谢

0 投票
2 回答
4565 浏览

animation - 顶点动画存储在 FBX 文件中而不使用点缓存?

我发现的一切似乎都表明,为了导出顶点动画,还必须生成一个点缓存文件,但这意味着除了 FBX 文件之外,还必须构建一个包含该缓存数据的全新文件夹。有没有办法将(顶点)动画数据完全存储在 FBX 文件中?