c# - 限制带有 ManipulationHandler 脚本的对象的移动
问题描述
我想移动带有 ManipulationHandler 脚本的小球体,该脚本附加在我的场景中的一个大球体上。
小球体的运动需要限制在大球体的“外壳”内。
我已经完成了行为(链接提供了一个 gif),而不使用操作处理程序,在更新函数中更新小球体的 X 和 Y。
有没有办法在不重写 ManipulationHandler 的情况下实现相同的行为?
解决方案
根据您的描述,MRTK 中的Solver无需编写任何代码即可实现此想法。如果您不限于仅出于其他原因使用 ManipulationHandler,我强烈建议您使用RadialView。您可以参考以下步骤使用 Solver 实现此功能:
- 将SolverHandler和RadialView组件添加到小球体。
- 在RadialView组件中,在Tacked Target Type字段中选择Custom Overrideset属性。
- 将Transfom Override字段设置为大球体。
- 在Radial View组件中,将MaxViewDegrees设置为 360,将Min Distance和Max Distance设置为大球体的半径,
- 禁用平滑。
现在,小球体可以围绕大球体旋转,并与大球体保持固定距离。
推荐阅读
- nginx - 推送待处理的服务器请求
- python - 在 Python 中将字典转换为 DataFrame
- github - GitHub - 如何在共享服务器上克隆存储库而不授予我所有存储库的访问权限
- c++ - SFINAE 或 enable_if 检查非类型模板参数是偶数还是奇数
- c# - 特殊文件夹常量的本地化
- python - 有没有办法为 Python wordcloud 包中的特定文本选择特定颜色
- azure-active-directory - 与另一个租户中的应用注册交谈时 Azure Databricks 抛出错误
- html - 在工具按钮后启用悬停颜色
- python - 查找两条 3D 折线的交点
- flutter - 来自 QueryDocumentSnapshot 的访问列表字段