news 2026/7/2 1:11:14

中餐厅摆台-点击下一步一次显示骨碟碗勺并显示文字 距离

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
中餐厅摆台-点击下一步一次显示骨碟碗勺并显示文字 距离

需要的预制体

需要的脚本

还有一个下一步的button

最后的成品是

最后是代码

using UnityEngine;

public class Billboard : MonoBehaviour
{
void LateUpdate()
{
transform.LookAt(transform.position + Camera.main.transform.forward);
}
}

using UnityEngine;

[System.Serializable]
public class PlaceStep
{
// 当前步骤要生成的餐具预制体
public GameObject itemPrefab;
// 对应场景里的点位Transform
public Transform pointTrans;
// 餐具显示名称(用于悬浮文字标注)
public string showName;
// 和上一个物体的标准间距(cm),用来显示距离文字
public float spaceCm;
}

using UnityEngine;
using UnityEngine.UI;
using TMPro;

public class TableStepManager : MonoBehaviour
{
[Header("摆台步骤列表,按顺序填:骨碟→汤碗→味碟...")]
public PlaceStep[] stepList;
[Header("下一步按钮")]
public Button btnNext;
[Header("名称&距离文字UI预制体(世界空间画布)")]
public GameObject tipUIPrefab;

// 当前进行到第几步
private int currentStepIndex = 0;

void Start()
{
// 绑定按钮点击事件
btnNext.onClick.AddListener(NextStep);
}

void NextStep()
{
// 所有步骤执行完毕直接返回
if (currentStepIndex >= stepList.Length)
{
Debug.Log("全部餐具摆放完成");
return;
}

// 取出当前步骤配置
PlaceStep curStep = stepList[currentStepIndex];
Transform point = curStep.pointTrans;

// 核心生成代码:按点位坐标、旋转生成,父物体为table6
GameObject itemObj = Instantiate(
curStep.itemPrefab,
point.position,
point.rotation,
transform
);

// 生成餐具名称悬浮文字
GameObject nameTip = Instantiate(tipUIPrefab, itemObj.transform.position + Vector3.up * 0.15f, Quaternion.identity, transform);
nameTip.GetComponentInChildren<TextMeshProUGUI>().text = curStep.showName;
nameTip.AddComponent<Billboard>();

// 如果不是第一步,计算和上一个物体的中点,显示间距文字
if (currentStepIndex > 0)
{
Transform lastItem = transform.GetChild(transform.childCount - 2);
Vector3 midPos = (itemObj.transform.position + lastItem.position) / 2;
GameObject spaceTip = Instantiate(tipUIPrefab, midPos, Quaternion.identity, transform);
spaceTip.GetComponentInChildren<TextMeshProUGUI>().text = curStep.spaceCm + "cm";
spaceTip.AddComponent<Billboard>();
}

// 步骤+1,等待下一次点击下一步
currentStepIndex++;
}
}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/2 1:09:33

STM32寄存器开发练习(一):GPIO-从最原始的代码到规范写法

前言关于STM32的教程&#xff0c;大部分一上来就让我们用HAL库或者标准外设库&#xff0c;调用几个函数就搞定了。但这样的话&#xff0c;其实不知道底层发生了什么。所以我最近跟着B站尚硅谷老师重新开始学习原始的编程方式——直接操作寄存器&#xff0c;这样才能真正理解MCU…

作者头像 李华
网站建设 2026/7/2 1:08:03

从推荐系统到大模型:算法工程师的转型实战指南

1. 转型背景与行业趋势观察2019年之前&#xff0c;推荐算法工程师还是互联网行业的热门岗位。当时我在某电商平台负责商品推荐系统&#xff0c;主要用协同过滤和矩阵分解这些传统方法。但到了2020年&#xff0c;明显感觉到行业风向在变——头部公司开始把更多资源投向预训练大模…

作者头像 李华
网站建设 2026/7/2 1:06:44

机械设计公差与配合实战指南:从核心原理到图纸标注

如果你是一名机械工程师、产品设计师&#xff0c;或者正在学习机械制图&#xff0c;那么“公差与配合”这个词组一定让你又爱又恨。爱的是&#xff0c;它是保证零件能够顺利装配、产品能够可靠运行的核心规则&#xff1b;恨的是&#xff0c;它概念抽象、符号繁多、计算复杂&…

作者头像 李华
网站建设 2026/7/2 1:05:14

零代码设计小米穿戴表盘:Mi-Create让创意触手可及

零代码设计小米穿戴表盘&#xff1a;Mi-Create让创意触手可及 【免费下载链接】Mi-Create Unofficial watchface creator for Xiaomi wearables ~2021 and above 项目地址: https://gitcode.com/gh_mirrors/mi/Mi-Create 厌倦了智能手表上千篇一律的默认表盘&#xff1f…

作者头像 李华
网站建设 2026/7/2 1:01:02

为什么说APAxpo已然成为各大品牌新品首发的核心阵地?

如果你留意过近年来的汽车改装圈&#xff0c;会发现一个明显的趋势&#xff1a;越来越多的国际一线品牌、国内头部厂商&#xff0c;选择把他们的重磅新品、全球首发车型&#xff0c;放在同一个展会上亮相。这个展会&#xff0c;就是APAxpo佛山改装展。为什么&#xff1f;因为这…

作者头像 李华
网站建设 2026/7/2 0:47:01

Redis Bitmap 实现北极星日淘用户签到与活跃度统计(极致省内存)

摘要&#xff1a;北极星日淘需要统计用户每日签到、月度活跃度、连续签到天数等运营数据&#xff0c;传统数据库存储每条签到记录数据冗余大、内存占用高、查询效率低。本文基于Redis Bitmap位图结构&#xff0c;实现百万级用户签到数据的极致轻量化存储&#xff0c;单月百万用…

作者头像 李华