NewKinectFittingRoom
添加衣服模型方法
- 对于每个fbx模型,导入模型并在Unity编辑器的
Assets-view
中选择它。 - 在
Inspector
中选择Rig-tab
选项卡。将AnimationType
设置为Humanoid
,将AvatarDefinition
设置为Create from this model
。 - 按
Apply
按钮。然后按Configure
按钮检查是否正确分配了所有必需的关节。服装模特通常不使用所有关节,这可能使头像定义无效。在这种情况下,您可以手动分配:bug:缺失的关节(以红色显示)
。 - 请记住:模型中的关节位置必须与Kinect关节的结构相匹配。你可以看到它们,例如在KinectOverlayDemo2中。否则,:bug:模型可能无法正确覆盖用户的身体。
- 在
FittingRoom/Resources
文件夹中为您的模型类别(衬衫,裤子,裙子等)创建一个子文件夹。 - 在模型类别文件夹中创建后续编号为(0000,0001,0002等)子文件夹。
- 将模型移动到这些数字文件夹中,每个文件夹一个模型,以及所需的材料和纹理。将模型的fbx文件重命名为
model.fbx
。 - 您可以在相应的模型文件夹中以jpeg格式(100 x 143px,24bpp)为每个模型放置预览图像。然后将其重命名为
preview.jpg.bytes
。如果您没有放置预览图像,试衣间演示将在模型选择菜单中显示:bug:无预览
。 - 打开
KinectFittingRoom
场景。 - 将模型类别的
ModelSelector.cs
组件添加到KinectController
游戏对象。将其Model category
设置为与上面第5步中创建的子文件夹名称相同。设置Number of models
设置以反映上面第6步中创建的子文件夹数。 ModelSelector.cs
组件的其他设置必须与演示中的现有ModelSelector.cs
类似。即Model relative to camera
必须设置为BackgroundCamera
,Foreground camera
必须设置为MainCamera
,Continuous scaling
-启用。scale-factor
设置最初可以设置为1,Vertical offset
设置为0.稍后您可以稍微调整它们以提供最佳的模型到主体叠加。- 如果希望在模型类别更改后所选模型继续覆盖用户的身体,则启用
ModelSelector.cs
组件的Keep selected model
设置。这很好用,如果有几个类别(即ModelSelectors),例如衬衫,裤子,裙子等。在这种情况下,当类别改变并且用户开始选择裤子时,所选衬衫模型仍将覆盖用户的身体,实例。 CategorySelector.cs
组件为改变模型和类别提供手势控制,并负责为同一用户切换模型类别(例如衬衫,裤子,领带等)。场景中的第一个用户(播放器索引0)已经有一个CategorySelector.cs
,:bug:因此您无需添加更多内容。- 如果您计划多用户试衣间,请为每个其他用户添加一个
CategorySelector.cs
组件。您可能还需要为这些用户将使用的模型类别添加相应的ModelSelector.cs
组件。 - 运行场景以确保可以在列表中选择模型并正确覆盖用户的身体。如果需要,可以进行一些实验,以找到提供最佳模型到主体叠加的比例因子和垂直偏移设置的值。
- 如果要关闭场景中的光标交互,请禁用
KinectController
游戏对象的InteractionManager.cs
组件。如果要关闭手势(挥手换衣和举手更换衣服类型),请禁用CategorySelector.cs
组件的相应设置。如果要关闭或更改T型姿势
校准,请更改KinectManager.cs
组件的Player calibration pose
设置。 - 如果服装/叠加模型使用标准着色器,请:bug:将其
Rendering mode
设置为Cutout
。
启用人体和模型混合(体混合),或禁用它以增加FPS
- 如果在KinectFittingRoom场景中选择MainCamera,找到名为
UserBodyBlender.cs
的组件。 UserBodyBlender.cs
组件负责将服装模型与用户身体混合。- 您可以启用该组件,以打开用户的身体与模型混合功能。
Depth threshold
设置可用于调整到模型前面的最小距离(以米为单位)。它决定了现实世界的物体何时可见。- 如果场景性能(FPS)不足,并且混合模式并不重要,则可以禁用
UserBodyBlender.cs
组件以提高性能。
替换场景彩色摄像机背景
- 在场景中启用
KinectController
游戏对象的BackgroundRemovalManager.cs
组件。 - 确保
KinectController
的组件KinectManager.cs
的Compute user map
设置为Body texture
,并启用Compute color map
设置。 - 将所需的背景图像设置为场景中游戏对象
BackgroundImage1
的RawImage
组件的纹理。 - 运行场景以检查它是否按预期工作。
© 版权声明
免责声明:本站所有资源由用户自发上传,仅供学习交流,如有侵犯您的权益,请联系站长删除;
All resources on this site are free and are only for learning and exchange. If any of them infringe upon your rights and interests, please contact the webmaster for deletion
THE END
暂无评论内容