当前位置: 首页 > news >正文

unity动态将3d标牌UI加载到模型子物体下,UI变形问题

unity动态将3d标牌UI加载到模型子物体下,UI变形问题

//1、直接生成模型
GameObject prefab = GameObject.Instantiate(modeinfo, SelectedModel.transform);
//2、先生成在世界下,再设置为子物体
prefab.transform.SetParent(currentlySelectedModel.transform); //同样SetParent方法默认下也是受父物体影响

该方法是将World Space 模式下的ui生成在 SelectedModel 模型下,即将ui作为子物体。此时ui的缩放值会受其父物体的缩放值的影响,故导致其变形。

以上两种办法都会导致ui变形。

解决方案:

// 需要补偿父物体的变换影响
private void LoadModeInfo()
{// 先计算补偿变换Vector3 parentScale = currentlySelectedModel.transform.lossyScale;Vector3 compensationScale = new Vector3(1f/parentScale.x, 1f/parentScale.y, 1f/parentScale.z) * 0.1f;GameObject prefab = GameObject.Instantiate(modeinfo);prefab.transform.SetParent(currentlySelectedModel.transform, false); // false表示不立即应用父物体变换// 应用补偿缩放prefab.transform.localScale = compensationScale;//设置3d标牌位于人物中心0.55高度prefab.transform.localPosition = new Vector3(0, 0.55f, 0);Canvas canvas = prefab.GetComponent<Canvas>();canvas.worldCamera = Camera.main;}

原理:

补偿计算原理解释
1. 目的
补偿计算是为了抵消父物体 scale 对子物体造成的变形影响,保持子物体在视觉上的正常大小。
2. 计算过程

  • 获取父物体的世界缩放
  Vector3 parentScale = currentlySelectedModel.transform.lossyScale;

lossyScale 返回物体在世界空间中的实际缩放值,包含了所有父级的缩放影响。

  • 计算补偿因子:
  Vector3 compensationScale = new Vector3(1f/parentScale.x, 1f/parentScale.y, 1f/parentScale.z) * 0.1f;

分解为两步:
1、1f/parentScale - 计算每个轴的逆缩放因子,用于完全抵消父物体的缩放影响
2、* 0.1f - 应用目标缩放值(0.1倍标准大小)

3. 工作原理
当一个物体成为子物体时,它的最终显示大小 = localScale × parent.lossyScale

  • 如果不进行补偿,子物体会随父物体缩放而变形
  • 通过应用 1/parentScale 的补偿因子,可以抵消父物体的影响
  • 最终结果:子物体保持固定大小,不受父物体缩放影响

4. 示例
假设父物体 scale 为 (2, 2, 2):

  • 无补偿时子物体实际大小:(1, 1, 1) × (2, 2, 2) = (2, 2, 2) → 放大2倍
  • 应用补偿后:(0.05, 0.05, 0.05) × (2, 2, 2) = (0.1, 0.1, 0.1) → 保持0.1倍标准大小
http://www.rkmt.cn/news/56476.html

相关文章:

  • 常州一对一家教机构哪个好?2026权威测评榜单:从师资到提分,5家主流平台深度对比
  • 2025年7大AI写论文工具推荐|一键生成+文献智能整合,毕业论文查重无忧!
  • 国标GB28181算法算力平台EasyGBS如何为养老院构建全天候安全防线?
  • 江苏省做合同纠纷比较靠谱的律所推荐及选择参考
  • 江苏省婚姻家庭纠纷律所推荐:专业法律服务机构盘点
  • 携手哲讯,以智慧赋能,驾驭数字未来——您值得信赖的SAP本土化专家
  • 2025中山一对一辅导机构权威测评榜!家教培训平台口碑实测总结报告
  • 佛山一对一家教机构哪家好?2025 最新口碑测评与高性价比推荐指南
  • 徐州一对一辅导机构哪个好?2026最新家教平台TOP5权威测评!精准提分数据溯源
  • 2025 粉体输送系统十大厂家推荐!技术硬核 + 口碑爆棚,工业生产选型不踩坑
  • 2025 最新旅行社权威推荐榜:国际协会认证 + 百万用户口碑,云南旅行社/昆明旅行社服务公司推荐
  • 2025年天津中压电缆生产厂家推荐:涵盖变频电缆、聚乙烯绝缘电缆生产厂家!(11月新版)
  • 神经网络从入门到精通 05:CNN初体验:手把手带你搭建时尚单品图像搜索引擎 - 教程
  • 南京市一对一家教机构怎么选?2026年五大机构测评榜出炉!
  • 2025年什么产品能有效淡化纹路?全肤质淡纹抗老方案出炉
  • 绍兴一对一课外辅导机构推荐:2025年综合适配度排行榜
  • 2025 年电线电缆厂家 TOP 企业品牌推荐排行榜11月更新:消防 / 耐火 / 防火/ 阻燃 / 阻燃B1级 / 矿物质防火/ 柔性防火 / 低烟无卤火电缆电线推荐!
  • 潜江一对一课外辅导机构推荐,2026最新家教机构排行榜:靠谱不踩坑指南
  • 2026年池州一对一家教机构推荐:五大辅导机构测评排行榜,综合实力全解析!
  • 3、步进电机梯形加减速
  • 2025 最新除甲醛机构权威推荐榜单:标杆企业技术服务测评解析,新房 / 家具 / 车内 / 办公除醛优选酒店除甲醛 / 室内除甲醛 / 附近除甲醛 / 学校除甲醛公司推荐
  • 超微Supermicro服务器安装英伟达A100,cuda
  • 习题解析之:判断火车票座位
  • 2025 年 11 月降本增效管理咨询公司推荐排行榜,降本增效咨询,企业降本增效,提质增效咨询机构,专业实力与客户满意度深度解析
  • P4148 简单题 模板题分析
  • Windows系统增强神器!PowerToys微软官方效率工具(实操v教程)!
  • Linux内核实验-ubuntu
  • 2025年11月四川自习室加盟市场分析与品牌推荐
  • Qt 实现“可点击跳转”的 QSlider
  • 我发现上大学虚构痛苦是件非常愚蠢的事