2024-12-17 09:50:47 +08:00
|
|
|
|
<示例>
|
|
|
|
|
|
<!--顺序执行完毕-->
|
2025-06-05 18:11:30 +08:00
|
|
|
|
<Action type="Sequence">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Action type="Log" value="进入初始状态"></Action>
|
|
|
|
|
|
<Action type="Log" value="进入初始状态"></Action>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</Action>
|
2024-12-17 09:50:47 +08:00
|
|
|
|
<!--同时执行完毕-->
|
2025-06-05 18:11:30 +08:00
|
|
|
|
<Action type="Parallel">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Action type="Log" value="1"></Action>
|
|
|
|
|
|
<Action type="Log" value="2"></Action>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</Action>
|
2024-12-17 09:50:47 +08:00
|
|
|
|
<!--只要任意满足就结束这个动作组-->
|
|
|
|
|
|
<Action type="Any"></Action>
|
|
|
|
|
|
<!--打印日志-->
|
|
|
|
|
|
<Action type="Log" value="进入初始状态"></Action>
|
2024-12-18 10:20:37 +08:00
|
|
|
|
<!--显示UI value是UI的名字 isShow 是显示还是隐藏-->
|
|
|
|
|
|
<Action type="UIShow" value="UIOperationList" isShow="false"></Action>
|
|
|
|
|
|
<!--移动物体 time是多长时间移动到目标位置 0是瞬间完成-->
|
2024-12-17 09:50:47 +08:00
|
|
|
|
<Action type="Move" value="Main Camera" to="18.162,2.113,3.22" time="0"></Action>
|
2024-12-18 10:20:37 +08:00
|
|
|
|
<!--旋转物体 time是多长时间旋转到目标位置 0是瞬间完成-->
|
2024-12-17 09:50:47 +08:00
|
|
|
|
<Action type="Rotate" value="Main Camera" to="0,180,0" time="0"></Action>
|
2024-12-18 14:26:56 +08:00
|
|
|
|
<!--缩放物体 time是多长时间旋转到目标位置 0是瞬间完成-->
|
|
|
|
|
|
<Action type="Scale" value="Main Camera" to="0,180,0" time="0"></Action>
|
2024-12-18 10:20:37 +08:00
|
|
|
|
<!--执行下一步左侧步骤列表 默认开始的时候为-1步 要主动调用一次才到第1步-->
|
2024-12-17 09:50:47 +08:00
|
|
|
|
<Action type="NextOperation"></Action>
|
2025-02-08 17:30:04 +08:00
|
|
|
|
|
2025-03-26 09:48:17 +08:00
|
|
|
|
<!--显示得分UI界面 onlyCurModule 是否仅显示当前模块成绩 默认为false-->
|
|
|
|
|
|
<Action type="ShowScore" onlyCurModule="true"></Action>
|
2025-04-08 17:17:27 +08:00
|
|
|
|
|
2025-02-08 17:30:04 +08:00
|
|
|
|
<!--切换operation模块 使用此功能 operation的配置中必须有name属性
|
2025-03-10 17:08:23 +08:00
|
|
|
|
name为operation配置中的name
|
2025-03-10 17:09:16 +08:00
|
|
|
|
执行此行后 不需要在执行NextOperationAction 框架底层执行了
|
2025-03-10 17:08:23 +08:00
|
|
|
|
此行之后 会停止当前的Action组 此行代码要放到最后执行 后期针对此加控制参数-->
|
2025-02-08 17:30:04 +08:00
|
|
|
|
<Action type="OperationChange" name="operation配置的name值"></Action>
|
|
|
|
|
|
|
2025-01-02 14:19:47 +08:00
|
|
|
|
<!--播放动画 reset=true则动画停在第一帧 frame是指定格在动画的某一帧 如果为-1 正常播放动画 speed 动画播放速度 默认为1 deviceName与物体路径二选一 -->
|
|
|
|
|
|
<Action type="Anim" value="物体路径" deviceName="" animName="动画名字" frame="-1" speed="1"></Action>
|
2024-12-17 09:50:47 +08:00
|
|
|
|
<!--右下角生成按钮 可生成多个 用逗号分开-->
|
|
|
|
|
|
<Action type="Btns" value="按钮1,按钮2,按钮3"></Action>
|
2025-01-14 18:16:35 +08:00
|
|
|
|
<!--用于右侧道具栏选择正确的道具 event用于配合StrEventCondition 做检测
|
|
|
|
|
|
rightScore 正确选择一个 得分 wrongScore 错误一个 得分 scoreStepName是评分的key
|
2025-01-19 11:20:01 +08:00
|
|
|
|
autoHide =-1 则点击结束 否则 等待对应时间后自动结束
|
2025-03-07 15:06:15 +08:00
|
|
|
|
totalScore 是配合wrongScore的用于初始化一个分数 然后选择扣分
|
|
|
|
|
|
random 是否打乱devices的顺序
|
2025-03-07 16:02:36 +08:00
|
|
|
|
scrollSpeed 鼠标滚轮的滑动速度
|
2025-03-26 15:21:46 +08:00
|
|
|
|
position left/right 可以让道具栏在左侧或者右侧
|
|
|
|
|
|
errorCount 错误的次数 不为0的情况下 大于这个次数才会触发WrongScore-->
|
2024-12-19 16:38:42 +08:00
|
|
|
|
<Action type="UITools" devices="道具名字1" answers="正确道具"
|
2024-12-17 09:50:47 +08:00
|
|
|
|
setActive="true"
|
|
|
|
|
|
rightLabel="提示:器械选择正确。"
|
|
|
|
|
|
wrongLabel="提示:器械选择错误,\r\n当前模块中,不需要该物品。"
|
|
|
|
|
|
rightEvent=""
|
2024-12-30 15:32:34 +08:00
|
|
|
|
wrongEvent=""
|
|
|
|
|
|
rightScore=""
|
|
|
|
|
|
wrongScore=""
|
2025-01-19 11:20:01 +08:00
|
|
|
|
totalScore=""
|
2025-01-14 18:16:35 +08:00
|
|
|
|
scoreStepName="手术准备器械选择"
|
2025-03-07 15:06:15 +08:00
|
|
|
|
autoHide="-1"
|
|
|
|
|
|
random="true"
|
2025-03-07 16:02:36 +08:00
|
|
|
|
scrollSpeed="25"
|
2025-03-26 15:21:46 +08:00
|
|
|
|
position="right"
|
|
|
|
|
|
wrongCount="0"></Action>
|
2024-12-18 11:18:25 +08:00
|
|
|
|
|
2025-03-08 13:15:13 +08:00
|
|
|
|
<!--道具背包,用于配合状态机进行道具的使用 目前是初步版本,仅支持配合UIClick点击,暂无道具数量等功能 详细参数可参考UITools-->
|
|
|
|
|
|
<Action type="UIBackPack" devices="道具名字1"
|
|
|
|
|
|
random="true"
|
|
|
|
|
|
scrollSpeed="25"
|
|
|
|
|
|
position="right"></Action>
|
|
|
|
|
|
|
2024-12-18 10:20:37 +08:00
|
|
|
|
<!--物体点位选择 物体的中心点-->
|
2024-12-17 09:50:47 +08:00
|
|
|
|
<Action type="PointQuestion" value="路径1,路径2"></Action>
|
2025-01-13 15:14:02 +08:00
|
|
|
|
<!--物体点位选择 3D版
|
|
|
|
|
|
position坐标
|
|
|
|
|
|
rotate 旋转角度
|
|
|
|
|
|
scale 缩放
|
|
|
|
|
|
如果deviceName存在 则不需要写坐标旋转和缩放,是参照把deviceName的物体作为父物体
|
|
|
|
|
|
rotateSpeed="180" 点图标旋转速度
|
|
|
|
|
|
clickEvent是点击后发送的字符串配合StrEvent
|
|
|
|
|
|
-->
|
|
|
|
|
|
<Action type="Point3DQuestion">
|
|
|
|
|
|
<Data deviceName="Point1" clickEvent="点1"></Data>
|
|
|
|
|
|
<Data position="0,0,0" rotate="0,0,0" scale="1,1,1" clickEvent="点1" rotateSpeed="360"></Data>
|
|
|
|
|
|
<Data deviceName="Point2" clickEvent="点2"></Data>
|
|
|
|
|
|
<Data deviceName="Point3" clickEvent="点3"></Data>
|
|
|
|
|
|
</Action>
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-02-07 17:06:19 +08:00
|
|
|
|
<!--输入框
|
|
|
|
|
|
title 显示的题目
|
|
|
|
|
|
Input 为输入框(可多个) var里面存储是输入值
|
|
|
|
|
|
btn 为按钮(可多个)
|
|
|
|
|
|
checkAnswer 是否开启检查答案
|
2025-03-24 17:43:19 +08:00
|
|
|
|
answer 是正确答案 用|分割 可以支持多个正确答案
|
2025-02-07 17:06:19 +08:00
|
|
|
|
wrongLabel 输入错误的提示文字
|
|
|
|
|
|
wrongCount 错误后重新输入的次数
|
|
|
|
|
|
autoHide 错误弹窗自动消失的停留时间
|
|
|
|
|
|
scoreStepName 对应Score
|
|
|
|
|
|
rightScore 答对的分数
|
|
|
|
|
|
wrongScore错误的分数 (每错一次扣一次分)
|
|
|
|
|
|
-->
|
|
|
|
|
|
<Action type="Input" title="请输入" finishedEvent="UI关闭事件通知用StrEvent接收">
|
2025-03-24 17:43:19 +08:00
|
|
|
|
<Input name="数字1:" var="变量1" answer="100|200"></Input>
|
|
|
|
|
|
<Input name="数字2:" var="变量2" answer="200|400"></Input>
|
2025-02-07 17:06:19 +08:00
|
|
|
|
<Btn name="确定" clickEvent="确定点击" checkAnswer="true" wrongLabel="输入错误" wrongCount="3" autoHide="-1" scoreStepName="" rightScore="0" wrongScore="-1"></Btn>
|
|
|
|
|
|
<Btn name="取消"></Btn>
|
|
|
|
|
|
</Action>
|
2025-01-13 15:14:02 +08:00
|
|
|
|
|
2024-12-26 15:44:04 +08:00
|
|
|
|
<!--文字选择题 scoreName="分数名"
|
|
|
|
|
|
rightScore="5" 可以是正确加分
|
|
|
|
|
|
wrongScore="-5" 也可以是错误减分
|
|
|
|
|
|
absolutely="false" true错一个选项就扣全部分 false按错的选项数量来算分
|
|
|
|
|
|
format="{0:F1}" F1代表保留1位小数 F2代表2位 F0代表不保留小数
|
|
|
|
|
|
注意:rightScore与wrongScore不能同时存在 同时存在则只生效rightScore
|
2025-01-06 10:50:23 +08:00
|
|
|
|
finishedEvent 用于监听选择题UI消失
|
2025-01-14 18:48:46 +08:00
|
|
|
|
optionType 0 根据答案数量自动判断单选还是多选 1 单选 2多选
|
2024-12-26 15:44:04 +08:00
|
|
|
|
-->
|
2025-01-14 18:48:46 +08:00
|
|
|
|
<Action type="TextQuestion" title="这里是标题" options="A.111|B.222|C.333|D.4444" answers="2" btns="确定" wait="1" showAnswer="true" scoreName="分数名" rightScore="5" wrongScore="-5" absolutely="false" format="{0:F1}" finishedEvent="事件名" optionType="0"></Action>
|
2024-12-17 09:50:47 +08:00
|
|
|
|
<!--提示 time为显示的时间 -1则一直显示 icon是前面的绿色图标是否显示 audio是音频 位于data文件夹下的Audio-->
|
|
|
|
|
|
<Action type="Hint" value="这里是文字描述" time="5" icon="false" audio="音频.mp3"></Action>
|
|
|
|
|
|
<!--设置变量 value只能是数字可以是小数-->
|
|
|
|
|
|
<Action type="Var" name="变量名" value="1"></Action>
|
|
|
|
|
|
<!--设置分数 与Score配合使用 步骤名字一定要是step+name-->
|
|
|
|
|
|
<Action type="SetScore" name="步骤名字" value="1"></Action>
|
2024-12-31 16:24:35 +08:00
|
|
|
|
<!--镜头切换 近距离和默认 如果有了nearDevice就可以不用nearPos和nearRot了 按照device的坐标和旋转来处理镜头 normalDevice同理
|
2024-12-31 16:31:32 +08:00
|
|
|
|
只设置坐标 不执行镜头切换 是否执行要根据UI的按钮操作来
|
2025-01-20 18:42:51 +08:00
|
|
|
|
如果不配置 nearPos或者normalPos 则自动隐藏对应的视角UI按钮
|
2025-03-24 14:32:22 +08:00
|
|
|
|
|
|
|
|
|
|
VR版 单独的相机位置使用vrPos和vrRot来配置
|
2024-12-31 16:24:35 +08:00
|
|
|
|
-->
|
2025-03-24 14:32:22 +08:00
|
|
|
|
<Action type="CameraSwitch" nearDevice="肠钳" normalDevice="组织钳" nearPos="-3.942,3.24,-4.319" nearRot="16.42331,180,0" nearTime="1" normalPos="-3.942,3.24,-3.946" normalRot="16.42331,180,-5.305351E-14" normalTime="1" vrPos="0,0,0" vrRot="0,0,0" vrTime="0"></Action>
|
2025-03-07 15:18:20 +08:00
|
|
|
|
<!--文字弹窗 按钮可以多个 点击事件使用UIClick
|
|
|
|
|
|
alpha 0-1 背景的透明度
|
|
|
|
|
|
-->
|
|
|
|
|
|
<Action type="TextTip" title="这里是标题" value="这里是文字描述" audio="q001.mp3" btns="确定,取消" alpha="0.5"/>
|
2025-03-08 14:05:03 +08:00
|
|
|
|
<!--文字窗口 用于用一直存在的 非弹窗类需求-->
|
|
|
|
|
|
<Action type="TextWindow" title="这里是标题" value="这里是文字描述" audio="q001.mp3" btns="确定,取消" position="left" scrollSpeed="25"/>
|
2025-01-09 15:07:31 +08:00
|
|
|
|
<!--锁定镜头 true为开启 false为锁定 isMove是移动镜头 isRotate是旋转镜头-->
|
|
|
|
|
|
<Action type="CameraLock" isMove="true" isRotate="true"></Action>
|
2024-12-17 18:07:20 +08:00
|
|
|
|
<!--播放视频 size为视频窗口大小 offset为窗口中心点偏移 播放完成事件和关闭事件 通常使用关闭事件即可
|
2024-12-18 09:41:34 +08:00
|
|
|
|
宽度不要小于500 否则进度条看不太清楚-->
|
2024-12-18 11:18:25 +08:00
|
|
|
|
<Action type="Video" value="test.mp4" size="500,500" offset="10,10" finishedEvent="finished" closeEvent="close"></Action>
|
2024-12-17 18:07:20 +08:00
|
|
|
|
|
2025-01-02 14:19:47 +08:00
|
|
|
|
<!--物体显隐 用于3D物体 isShow=true为显示 false为隐藏 UI的显隐使用UIShow isDevice为true的话 value就要写device配置的Name
|
|
|
|
|
|
如果deviceName存在 则不用isDevice
|
|
|
|
|
|
-->
|
|
|
|
|
|
<Action type="Show" value="SM_QvanChangJing/sence/pPlane1" deviceName="设备名字" isShow="false" isDevice="false"></Action>
|
2025-02-07 13:07:29 +08:00
|
|
|
|
<!--设置物体高亮 deviceName可以用于设备名字 value是物体路径 color是rgba isHigh设置是否显示高亮 isIndependent为true 可以避免模型高亮被遮挡
|
|
|
|
|
|
visibility: 有三种形式 Normal, AlwaysOnTop,OnlyWhenOccluded
|
|
|
|
|
|
-->
|
|
|
|
|
|
<Action type="HighLight" deviceName="设备名字" value="路径" isHigh="true" color="0,255,0,255" isIndependent="true" visibility="Normal"></Action>
|
2025-02-06 16:26:44 +08:00
|
|
|
|
<!--设置物体高亮 deviceName可以用于设备名字 value是物体路径 color是rgba isHigh设置是否显示高亮 isIndependent为true 可以避免模型高亮被遮挡
|
|
|
|
|
|
time是从不显示到完全显示的时间
|
|
|
|
|
|
count是循环 -1为无限循环需要主动关闭
|
|
|
|
|
|
当count不为-1时 可以使用finishedEvent配合strEvent做闪烁结束的监听
|
2025-02-07 13:07:29 +08:00
|
|
|
|
visibility: 有三种形式 Normal, AlwaysOnTop,OnlyWhenOccluded
|
2025-02-06 16:26:44 +08:00
|
|
|
|
-->
|
2025-02-07 13:07:29 +08:00
|
|
|
|
<Action type="HighLightFlash" deviceName="测试" isHigh="true" color="0,255,0,255" time="1" count="-1" finishedEvent="等待" visibility="Normal"></Action>
|
2024-12-18 13:16:36 +08:00
|
|
|
|
<!--延迟 value是秒-->
|
|
|
|
|
|
<Action type="Delay" value="2"></Action>
|
2024-12-19 09:47:07 +08:00
|
|
|
|
<!--
|
|
|
|
|
|
* audioType="Music" 播放背景音乐,同一时间只能播放一个音乐,播放别的音乐会直接卸载掉正在播放的音乐。
|
|
|
|
|
|
* audioType="Sound" 播放音效,同一时间可以播放多个音效,当多人说话时,也可以用来播放人声。
|
|
|
|
|
|
* audioType="Voice" 播放人声,与播放背景音乐一致,同一时间只能播放一个人声,用于播放一些旁白之类的声音非常适合。
|
|
|
|
|
|
volumen 是播放音量 默认是跟随设置中的背景音乐的音量
|
|
|
|
|
|
waitFinished = false 则不会等待播放完成就往下进行
|
|
|
|
|
|
-->
|
|
|
|
|
|
<Action type="Audio" audioType="Voice" value="q001.mp3" loop="false" waitFinished="true" volumen="1" isPlay="true"></Action>
|
2024-12-17 18:07:20 +08:00
|
|
|
|
|
2024-12-17 09:50:47 +08:00
|
|
|
|
<!--判断UI点击-->
|
|
|
|
|
|
<Condition type="UIClick" value="UI路径 可以使用快捷键Ctrl+Q获取"></Condition>
|
2025-02-06 15:17:08 +08:00
|
|
|
|
<!--判断物体点击 支持deviceName isRight = true 则点击到目标物体 才算满足 false 则点击了其他物体就满足 常用于错误的点击-->
|
|
|
|
|
|
<Condition type="ObjClick" deviceName="设备名" value="物体路径 可以使用快捷键Ctrl+Q获取" isRight="true"></Condition>
|
|
|
|
|
|
<!--判断物体点击(长按) time为长按时间(秒)-->
|
|
|
|
|
|
<Condition type="ObjClickLong" deviceName="设备名" value="物体路径 可以使用快捷键Ctrl+Q获取" time="3"></Condition>
|
|
|
|
|
|
|
2025-02-06 13:11:06 +08:00
|
|
|
|
<!--判断键盘输入 这里的value对应的是KeyCode枚举-->
|
2024-12-17 09:50:47 +08:00
|
|
|
|
<Condition type="Input" value="A"></Condition>
|
|
|
|
|
|
<!--判断变量名i是否等于1-->
|
|
|
|
|
|
<Condition type="Var" name="变量名" value="1"></Condition>
|
2024-12-17 18:07:20 +08:00
|
|
|
|
<!--字符串类型的事件监听 UI中的事件监听都 也可以自定义事件监听-->
|
|
|
|
|
|
<Condition type="StrEvent" value="器械选择通过"></Condition>
|
2025-05-19 15:08:55 +08:00
|
|
|
|
|
|
|
|
|
|
<!--身上是否存有某个道具 count默认为1 可以判断数量 如:身上有某个道具20个-->
|
|
|
|
|
|
<Condition type="HasDevice" deviceName="道具名" count="1"></Condition>
|
2024-12-19 16:38:42 +08:00
|
|
|
|
<!--画线 途径点使用|分割 lineScale 可以调整x轴向和y轴线上的线的粗细-->
|
|
|
|
|
|
<Action type="Line" name="红线" value="-4.030808,2.689521,-1.768913|-3.759371,2.694512,-1.247592" color="255,0,0,255" width="0.05" lineScale="10,0.5"></Action>
|
|
|
|
|
|
<!--相机锁定 是否可以移动 isMove 是否可以旋转镜头 isRotate-->
|
|
|
|
|
|
<Action type="CameraLock" isMove="false" isRotate="false"></Action>
|
2024-12-19 17:43:29 +08:00
|
|
|
|
<!--正确和错误的弹窗 isRight 是否正确-->
|
2025-01-16 18:57:42 +08:00
|
|
|
|
<Action type="ResultTip" value="这里是一个弹窗" isRight="true" finishedEvent="关闭弹窗事件" autoHide="1"></Action>
|
2025-02-08 10:59:20 +08:00
|
|
|
|
<!--图片弹窗
|
2025-02-08 11:00:12 +08:00
|
|
|
|
path 为Data/Image/下的路径
|
2025-02-08 10:59:20 +08:00
|
|
|
|
size 设置图片尺寸 size="0,0"或者不写代表使用图片原尺寸
|
|
|
|
|
|
isDrag 设置是否可以拖拽
|
|
|
|
|
|
position 图片初始位置-->
|
|
|
|
|
|
<Action type="ImageTip" path="骨刀.png" isDrag="true" size="100,100" position="0,0"></Action>
|
2024-12-20 15:58:05 +08:00
|
|
|
|
|
|
|
|
|
|
<!--Led数字显示 要求每个数字单独一个模型面片,所有数字面片放在一个物体的子级,第一个物体是最右侧的数字,只能放数字面片模型 不要放其他的东西
|
|
|
|
|
|
number 是数值 支持 小数点和横线 例如 12.34 3-5 -->
|
|
|
|
|
|
<Action type="Led" value="Number" number="12.34" color="255,0,0,255"></Action>
|
2024-12-20 17:16:37 +08:00
|
|
|
|
<!--删除场景中的物体-->
|
|
|
|
|
|
<Action type="Destroy" value="路径"/>
|
2024-12-20 15:58:05 +08:00
|
|
|
|
|
2024-12-20 17:05:19 +08:00
|
|
|
|
<!--给程序使用的:自定义脚本 挂空预制体上 预制体放在Resources/CustomAction目录下 执行完毕后记得使用StringEventSystem.Global.Send(finishedEvent)-->
|
|
|
|
|
|
<Action type="Script" value="MyAction" finishedEvent="111"/>
|
2024-12-20 17:16:37 +08:00
|
|
|
|
|
2024-12-25 11:25:06 +08:00
|
|
|
|
<!--
|
2024-12-26 15:44:04 +08:00
|
|
|
|
给物体设置Collider value是物体路径 DeviceName是Device名字 与path二选一 colliderType:AddBox AddMesh Remove Active
|
2024-12-25 11:25:06 +08:00
|
|
|
|
当colliderType为AddBox的时候 args用|分割后 第一个参数是 中心点 第二个参数是box碰撞的大小
|
|
|
|
|
|
当colliderType为Active的时候 args为false或者是true
|
|
|
|
|
|
当colliderType为AddMesh和Remove的时候 args不需要
|
2025-06-06 18:38:37 +08:00
|
|
|
|
|
2024-12-25 11:25:06 +08:00
|
|
|
|
-->
|
2024-12-26 15:44:04 +08:00
|
|
|
|
<Action type="Collider" value="路径和DeviceName二选一" deviceName="肠钳" colliderType="AddBox" args="0,0,0|1,1,1"></Action>
|
2024-12-25 11:25:06 +08:00
|
|
|
|
|
2024-12-25 16:33:45 +08:00
|
|
|
|
<!--
|
2024-12-25 16:34:30 +08:00
|
|
|
|
倒计时动画 value是文字描述 支持富文本 要按照xml的语法 把<>括号转义 <代表< >代表>
|
2024-12-25 16:33:45 +08:00
|
|
|
|
time是动画时间
|
|
|
|
|
|
values 支持多个动画 使用C#的{0} {1} 对应values的|分割后的数据 5,10 是从5到10的意思
|
|
|
|
|
|
finishedEvent 是倒计时结束后的回调
|
|
|
|
|
|
needClick如果为true 动画结束后不会自动小时 需要点击空白处
|
|
|
|
|
|
reverse 是时钟倒计时动画是否倒序播放
|
2024-12-26 15:44:04 +08:00
|
|
|
|
format="{0:F1}" F1代表保留1位小数 F2代表2位 F0代表不保留小数
|
2025-06-06 18:38:37 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
使用例子
|
|
|
|
|
|
<Action type="TimeTip" value="消毒倒计时<color=#FF00FF>{0}</color>分钟" time="5" values="15,0" format="{0:F1}" finishedEvent="close" needClick="false" reverse="true" ></Action>
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-12-27 14:08:27 +08:00
|
|
|
|
-->
|
2024-12-25 16:33:45 +08:00
|
|
|
|
<Action type="TimeTip" value="这里是文字描述<color=#FF00FF>{0}</color>-{1}" time="5" values="5,10|50,100" format="{0:F1}" finishedEvent="close" needClick="false" reverse="false" ></Action>
|
|
|
|
|
|
|
2025-01-02 14:11:28 +08:00
|
|
|
|
<!--用于刷新骨骼动画执行后 meshCollider最后的位置-->
|
|
|
|
|
|
<Action type="SkinnedBake" value="路径和DeviceName二选一" deviceName="肠钳"></Action>
|
2024-12-31 17:06:00 +08:00
|
|
|
|
|
|
|
|
|
|
<!--通用事件通知
|
|
|
|
|
|
|
2025-01-09 15:07:31 +08:00
|
|
|
|
HighLightTrigger:value=false 关闭device悬浮高亮 value=true 开启
|
2024-12-31 17:06:00 +08:00
|
|
|
|
|
|
|
|
|
|
-->
|
|
|
|
|
|
<Action type="StrEvent" name="HighLightTrigger" value="false"></Action>
|
|
|
|
|
|
|
2025-01-07 11:22:06 +08:00
|
|
|
|
<!--支持deviceName isWait是只Action是否等待结束 frame 从哪一帧开始播放 endFrame 从哪一帧结束-->
|
|
|
|
|
|
<Action type="TimeLine" value="Models/CZ_FengXian_Timeline" isShow="true" finishedEvent="播放完毕" isWait="true" frame="140" endFrame="240"></Action>
|
2025-01-06 19:29:04 +08:00
|
|
|
|
|
2025-03-25 10:46:22 +08:00
|
|
|
|
<!--弹窗 btns可支持多个按钮
|
|
|
|
|
|
如果value中包含{Score} 则{Score}会替换成当前模块实际得分来显示-->
|
|
|
|
|
|
<Action type="TipWindow" value="恭喜你完成当前模块 得分:{Score}" btns="确定,取消" audio=""></Action>
|
|
|
|
|
|
|
2025-01-08 16:04:48 +08:00
|
|
|
|
|
2025-01-19 17:13:40 +08:00
|
|
|
|
<!--动态更换材质球和主贴图 材质球优先级高于贴图 同时写的情况下 先换材质球再换贴图-->
|
|
|
|
|
|
<Action type="Mat" value="Models/zhudao/nan_shoushufu.012" matName="yiyongshoutao_yellow1" index="1" mainTexture="贴图名字"></Action>
|
2025-01-13 15:14:02 +08:00
|
|
|
|
|
2025-02-08 17:30:04 +08:00
|
|
|
|
|
2025-02-10 10:54:47 +08:00
|
|
|
|
<!--3D展示
|
|
|
|
|
|
3D展示的UI界面 是自动启动 但需要使用UIShow手动关闭
|
|
|
|
|
|
关闭的监听可以使用Btns与UIClick配合
|
|
|
|
|
|
属性解释:
|
|
|
|
|
|
Object 是要展示的物体 与 Device配合使用
|
|
|
|
|
|
postion rotate scale是物体初始位置和旋转
|
|
|
|
|
|
rotateSpeed 按住鼠标左键的旋转速度
|
|
|
|
|
|
moveSpeed 按住鼠标右键的移动速度
|
|
|
|
|
|
distance 是相机默认距离物体的距离
|
|
|
|
|
|
distanceMin 和 distanceMax 是相机远近的最小和最大值
|
|
|
|
|
|
pitchMin和pitchMax 是相机俯仰角范围
|
|
|
|
|
|
-->
|
|
|
|
|
|
<Action type="3DObjShow">
|
|
|
|
|
|
<Object deviceName="器械盒" position="10000,10000,10000" rotate="0,90,0" rotateSpeed="11" moveSpeed="0.12" distance="0.25" pitchMin="-31" pitchMax="81" distanceMin="0.3" distanceMax="10"></Object>
|
|
|
|
|
|
<Object deviceName="创巾钳"></Object>
|
|
|
|
|
|
</Action>
|
|
|
|
|
|
|
2024-12-19 11:05:02 +08:00
|
|
|
|
<!--预加载模块 要在app.xml的Data标签内-->
|
|
|
|
|
|
<PreLoad>
|
|
|
|
|
|
<Action type="Parallel">
|
2025-03-10 17:05:22 +08:00
|
|
|
|
<Action type="LoadRes" value="Pig.xml" resType="xml" index="1"></Action>
|
2024-12-19 11:05:02 +08:00
|
|
|
|
</Action>
|
|
|
|
|
|
</PreLoad>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-12-17 09:50:47 +08:00
|
|
|
|
<Module>
|
|
|
|
|
|
<!--场景名字-->
|
|
|
|
|
|
<Scene>Scene</Scene>
|
|
|
|
|
|
<!--Study学习模式 Exam实训模式 All都有-->
|
|
|
|
|
|
<Type>Study</Type>
|
2025-03-26 09:48:17 +08:00
|
|
|
|
<!--右上角显示成绩的时候 是否只显示当前模块的-->
|
|
|
|
|
|
<OnlyCurScore>false</OnlyCurScore>
|
2025-03-24 17:43:19 +08:00
|
|
|
|
<!--
|
|
|
|
|
|
用于显示模块选择页面的 模块图标
|
|
|
|
|
|
图片存放于Data/Image/路径下面 可以自己构建子路径
|
|
|
|
|
|
-->
|
|
|
|
|
|
<Icon>图片名字</Icon>
|
2024-12-17 09:50:47 +08:00
|
|
|
|
<!--模块名字-->
|
|
|
|
|
|
<Name>模块1</Name>
|
|
|
|
|
|
|
2025-01-09 17:08:20 +08:00
|
|
|
|
<Descript>
|
2025-01-13 15:14:02 +08:00
|
|
|
|
这里是实训描述内容.....
|
|
|
|
|
|
巴拉巴拉....
|
2025-01-09 17:08:20 +08:00
|
|
|
|
</Descript>
|
2025-05-19 11:49:19 +08:00
|
|
|
|
|
2024-12-17 17:29:03 +08:00
|
|
|
|
<Device>
|
|
|
|
|
|
<Name>组织钳</Name>
|
|
|
|
|
|
<HighLight color="255,255,255"/>
|
|
|
|
|
|
<Path>SM_QvanChangJing/SM_JianZiLei/zuzhiqian</Path>
|
2025-02-08 11:17:37 +08:00
|
|
|
|
<!--支持多行内容展示 \n为换行 支持富文本-->
|
|
|
|
|
|
<Tip>组织钳\n巴拉巴拉巴拉</Tip>
|
2024-12-17 17:29:03 +08:00
|
|
|
|
<BoxCollider size="0.15,0.05,0.06" center="-0.03,0,0"/>
|
|
|
|
|
|
<!--MeshCollider和Box只需要一个-->
|
|
|
|
|
|
<MeshCollider/>
|
|
|
|
|
|
<Icon>工具/骨刀.png</Icon>
|
2025-05-19 13:46:05 +08:00
|
|
|
|
<!--右键点击后的菜单 目前写死 拾取:把device拾取到背包 丢弃:把背包中的device丢弃一个 其他的按钮使用UIClick自行配合状态机实现具体逻辑-->
|
|
|
|
|
|
<RightMenu values="拾取,丢弃,观察"/>
|
2024-12-17 17:29:03 +08:00
|
|
|
|
</Device>
|
2024-12-17 18:07:20 +08:00
|
|
|
|
|
|
|
|
|
|
|
2025-04-21 10:03:46 +08:00
|
|
|
|
<!--timeFormat用于控制输出到实验报告的操作时间格式
|
|
|
|
|
|
不需要年月日的时候 HH:mm:ss 即可
|
|
|
|
|
|
-->
|
2024-12-17 09:50:47 +08:00
|
|
|
|
<Score>
|
2025-04-21 10:03:46 +08:00
|
|
|
|
<Item step="术前准备" name="器械准备" sum="6.5" bind="" timeFormat="yyyy-MM-dd HH:mm:ss"/>
|
|
|
|
|
|
<Item step="术前准备" name="药品准备" sum="5.5" bind="" timeFormat="yyyy-MM-dd HH:mm:ss"/>
|
|
|
|
|
|
<Item step="术前准备" name="耗材准备" sum="15.5" bind="" timeFormat="yyyy-MM-dd HH:mm:ss"/>
|
|
|
|
|
|
<Item step="术前准备" name="主刀人员准备" sum="10" bind="" timeFormat="yyyy-MM-dd HH:mm:ss"/>
|
|
|
|
|
|
<Item step="术前准备" name="手术动物准备" sum="10" bind="" timeFormat="yyyy-MM-dd HH:mm:ss"/>
|
|
|
|
|
|
<Item step="术前准备" name="术部剃毛准备" sum="10" bind="" timeFormat="yyyy-MM-dd HH:mm:ss"/>
|
|
|
|
|
|
<Item step="术前准备" name="术部消毒准备" sum="10" bind="" timeFormat="yyyy-MM-dd HH:mm:ss"/>
|
|
|
|
|
|
<Item step="手术过程" name="测试麻醉程度" sum="10" bind="" timeFormat="yyyy-MM-dd HH:mm:ss"/>
|
|
|
|
|
|
<Item step="手术过程" name="术部开刀" sum="10" bind="" timeFormat="yyyy-MM-dd HH:mm:ss"/>
|
|
|
|
|
|
<Item step="手术过程" name="找出病变小肠" sum="10" bind="" timeFormat="yyyy-MM-dd HH:mm:ss"/>
|
|
|
|
|
|
<Item step="手术过程" name="去除病变小肠" sum="10" bind="" timeFormat="yyyy-MM-dd HH:mm:ss"/>
|
|
|
|
|
|
<Item step="手术过程" name="肠端吻合" sum="10" bind="" timeFormat="yyyy-MM-dd HH:mm:ss"/>
|
|
|
|
|
|
<Item step="手术过程" name="缝合切口" sum="10" bind="" timeFormat="yyyy-MM-dd HH:mm:ss"/>
|
|
|
|
|
|
<Item step="手术过程" name="缝合后处理" sum="10" bind="" timeFormat="yyyy-MM-dd HH:mm:ss"/>
|
2024-12-17 09:50:47 +08:00
|
|
|
|
</Score>
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-02-08 17:30:04 +08:00
|
|
|
|
<!--步骤操作 相同的moduleType 仅支持一个 name用于切换操作模块使用-->
|
|
|
|
|
|
<Operation name="模块名字" moduleType="Exam" freeStep="false">
|
2024-12-17 09:50:47 +08:00
|
|
|
|
<Step name="术前准备">
|
|
|
|
|
|
<Step name="器械准备">
|
|
|
|
|
|
<Reset>
|
|
|
|
|
|
<Action type="Log" value="1-1步重置"></Action>
|
|
|
|
|
|
</Reset>
|
|
|
|
|
|
<Start>
|
|
|
|
|
|
<Action type="Sequence">
|
|
|
|
|
|
<Action type="Log" value="1111"></Action>
|
|
|
|
|
|
<Action type="Move" value="Main Camera" to="-3.206,3.24,-1.425" time="0"></Action>
|
|
|
|
|
|
<Action type="Rotate" value="Main Camera" to="27.9597,270,2.899792E-06" time="0"></Action>
|
|
|
|
|
|
<Action type="Btns" value="下一步"></Action>
|
|
|
|
|
|
<Condition type="UIClick" value="UIRoot/Common/UIBtns/BtnContent/下一步"></Condition>
|
|
|
|
|
|
<Action type="NextOperation"></Action>
|
|
|
|
|
|
</Action>
|
|
|
|
|
|
</Start>
|
2024-12-30 16:19:29 +08:00
|
|
|
|
<Finished>
|
|
|
|
|
|
<Action type="Sequence">
|
|
|
|
|
|
</Action>
|
|
|
|
|
|
</Finished>
|
2024-12-17 09:50:47 +08:00
|
|
|
|
</Step>
|
|
|
|
|
|
</Step>
|
|
|
|
|
|
</Operation>
|
|
|
|
|
|
|
2025-04-08 17:17:27 +08:00
|
|
|
|
<!--知识点
|
|
|
|
|
|
title对应左侧树状图的名字
|
|
|
|
|
|
bgImage是右侧的长图
|
|
|
|
|
|
Component是长图上挂在的组件 目前仅支持Type=Button的按钮类型
|
|
|
|
|
|
Action是动作组 点击按钮后的动作
|
|
|
|
|
|
|
|
|
|
|
|
Component标签与bgImage属性 可以在根节点Knowledge上也可以在子节点Item上
|
|
|
|
|
|
位于根节点时 是全局的 位于Item节点时是切换Item后展示的针对与Item的
|
|
|
|
|
|
-->
|
|
|
|
|
|
<Knowledge bgImage="Knowledge/ChangTu.png">
|
|
|
|
|
|
<Item title="第一步" setPos="0,0">
|
|
|
|
|
|
<Item title="第一步_第一个子步骤" bgImage="" setPos="0,100">
|
|
|
|
|
|
<Component type="Button" size="200,200" pos="200,-200">
|
|
|
|
|
|
<Action type="Log" value="第二步_第二个子步骤"></Action>
|
|
|
|
|
|
</Component>
|
|
|
|
|
|
<Component type="Button" size="200,200" pos="400,-200">
|
|
|
|
|
|
<Action type="Log" value="第二步_第二个子步骤"></Action>
|
|
|
|
|
|
</Component>
|
|
|
|
|
|
</Item>
|
|
|
|
|
|
</Item>
|
|
|
|
|
|
<Item title="第二步" setPos="0,400">
|
|
|
|
|
|
<Item title="第二步_第一个子步骤" bgImage="" setPos="0,500">
|
|
|
|
|
|
<Component type="Button" size="200,200" pos="200,-400">
|
|
|
|
|
|
<Action type="Log" value="第二步_第二个子步骤"></Action>
|
|
|
|
|
|
</Component>
|
|
|
|
|
|
<Component type="Button" size="200,200" pos="400,-400">
|
|
|
|
|
|
<Action type="Log" value="第二步_第二个子步骤"></Action>
|
|
|
|
|
|
</Component>
|
|
|
|
|
|
|
|
|
|
|
|
</Item>
|
|
|
|
|
|
<Item title="第二步_第二个子步骤" bgImage="" setPos="0,600"></Item>
|
|
|
|
|
|
</Item>
|
|
|
|
|
|
<Component type="Button" size="932,526" pos="20,-9653">
|
|
|
|
|
|
<Action type="Sequence">
|
|
|
|
|
|
<Action type="Log" value="第一步_第一个子步骤"></Action>
|
|
|
|
|
|
<Action type="Video" value="test.mp4" size="500,500" offset="10,10" finishedEvent="finished" closeEvent="close"></Action>
|
|
|
|
|
|
</Action>
|
|
|
|
|
|
</Component>
|
|
|
|
|
|
</Knowledge>
|
2024-12-17 09:50:47 +08:00
|
|
|
|
|
|
|
|
|
|
<!--动作组-->
|
|
|
|
|
|
<Action name="初始化" type="Sequence">
|
|
|
|
|
|
<Action type="Log" value="开始"></Action>
|
|
|
|
|
|
<Action type="UIShow" value="UIRightTop"></Action>
|
|
|
|
|
|
<Action type="Delay" value="2"></Action>
|
|
|
|
|
|
<Condition type="UIClick" value="UIRoot/Common/UIModeSelect/Exam"></Condition>
|
|
|
|
|
|
<Action type="Log" value="0000"></Action>
|
|
|
|
|
|
<Action type="Parallel">
|
|
|
|
|
|
<Action type="Log" value="11111"></Action>
|
|
|
|
|
|
<Action type="Delay" value="2"></Action>
|
|
|
|
|
|
<Action type="Log" value="22222"></Action>
|
|
|
|
|
|
</Action>
|
|
|
|
|
|
<Condition type="And">
|
|
|
|
|
|
<Condition type="ObjClick" value="Cube"></Condition>
|
|
|
|
|
|
</Condition>
|
|
|
|
|
|
<Action type="Log" value="并行结束"></Action>
|
|
|
|
|
|
<Action type="Delay" value="5"></Action>
|
|
|
|
|
|
<Action type="Sequence">
|
|
|
|
|
|
<Condition type="Or">
|
|
|
|
|
|
<Condition type="ObjClick" value="Cube"></Condition>
|
|
|
|
|
|
<Condition type="ObjClick" value="Cube (1)"></Condition>
|
|
|
|
|
|
</Condition>
|
|
|
|
|
|
<Action type="Log" value="aaaaa"></Action>
|
|
|
|
|
|
<Action type="Delay" value="5"></Action>
|
|
|
|
|
|
<Action type="Log" value="bbbbb"></Action>
|
|
|
|
|
|
</Action>
|
|
|
|
|
|
<Action type="Log" value="结束"></Action>
|
|
|
|
|
|
</Action>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--状态机-->
|
2025-05-19 11:49:19 +08:00
|
|
|
|
<FSM name="状态机的名字 必须有且唯一">
|
2024-12-17 09:50:47 +08:00
|
|
|
|
<State name="状态2">
|
|
|
|
|
|
<Enter>
|
|
|
|
|
|
<Action type="Sequence">
|
|
|
|
|
|
<Action type="Log" value="aaa"></Action>
|
|
|
|
|
|
<Action type="Delay" value="2"></Action>
|
|
|
|
|
|
<Action type="Log" value="bbb"></Action>
|
|
|
|
|
|
</Action>
|
|
|
|
|
|
</Enter>
|
|
|
|
|
|
<Exit>
|
|
|
|
|
|
<Action type="Parallel">
|
|
|
|
|
|
<Action type="Log" value="ccc"></Action>
|
|
|
|
|
|
<Action type="Delay" value="2"></Action>
|
|
|
|
|
|
<Action type="Log" value="ddd"></Action>
|
|
|
|
|
|
</Action>
|
|
|
|
|
|
</Exit>
|
2025-04-08 17:17:27 +08:00
|
|
|
|
</State>
|
2024-12-17 09:50:47 +08:00
|
|
|
|
<Transision from="any" to="状态1">
|
2025-04-08 17:17:27 +08:00
|
|
|
|
<Condition type="UIClick" value="Cube"></Condition>
|
2024-12-17 09:50:47 +08:00
|
|
|
|
</Transision>
|
|
|
|
|
|
<Transision from="初始状态" to="状态2">
|
|
|
|
|
|
<Condition type="ObjClick" value="Cube (1)"></Condition>
|
|
|
|
|
|
</Transision>
|
|
|
|
|
|
</FSM>
|
|
|
|
|
|
|
|
|
|
|
|
</Module>
|
|
|
|
|
|
|
2025-03-11 13:59:38 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<Body3D>
|
|
|
|
|
|
<Body name="头颈" icon="" path="Ren_NEW/SM_GuGe/skull" FocusDistance="1" audio="" tip="">
|
|
|
|
|
|
<Body name="骨骼系统" path="Ren_NEW/SM_GuGe" >
|
|
|
|
|
|
<Body name="左肋骨" path="Ren_NEW/SM_GuGe/upper_limb_bone">
|
|
|
|
|
|
<Body name="左肋" path="Ren_NEW/SM_GuGe/upper_limb_bone/Left_upper_limb_bones">
|
|
|
|
|
|
<Body name="左一" path="Ren_NEW/SM_GuGe/upper_limb_bone/Left_upper_limb_bones/Left_free_upper_limb_bones" tip="左一肋骨描述">
|
|
|
|
|
|
<ObjectToggle>
|
|
|
|
|
|
<Color isOn="0,255,255" isOff="255,255,255"></Color>
|
2025-04-08 17:17:27 +08:00
|
|
|
|
</ObjectToggle>
|
2025-03-11 13:59:38 +08:00
|
|
|
|
</Body>
|
|
|
|
|
|
<Body name="左二" path="Ren/Tou/GuGe/LeiGu/ZuoLei/2" tip="左二肋骨描述">
|
|
|
|
|
|
<ObjectToggle>
|
|
|
|
|
|
<Color isOn="0,255,255" isOff="255,255,255"></Color>
|
|
|
|
|
|
</ObjectToggle>
|
|
|
|
|
|
</Body>
|
|
|
|
|
|
</Body>
|
2025-04-08 17:17:27 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-03-11 13:59:38 +08:00
|
|
|
|
<Body name="右肋" path="Ren/Tou/GuGe/LeiGu/YouLei">
|
|
|
|
|
|
<Body name="右一" path="Ren/Tou/GuGe/LeiGu/YouLei/1" tip="7右一肋骨描述">
|
|
|
|
|
|
<ObjectToggle>
|
|
|
|
|
|
<Color isOn="0,255,255" isOff="255,255,255"></Color>
|
|
|
|
|
|
</ObjectToggle>
|
|
|
|
|
|
</Body>
|
|
|
|
|
|
<Body name="右二" path="Ren/Tou/GuGe/LeiGu/YouLei/2" tip="右二肋骨描述">
|
|
|
|
|
|
<ObjectToggle>
|
|
|
|
|
|
<Color isOn="0,255,255" isOff="255,255,255"></Color>
|
|
|
|
|
|
</ObjectToggle>
|
|
|
|
|
|
</Body>
|
|
|
|
|
|
</Body>
|
|
|
|
|
|
</Body>
|
|
|
|
|
|
</Body>
|
|
|
|
|
|
<Body name="皮肤系统" path="Ren/Tou/PiFu" isShow="false">
|
|
|
|
|
|
<Body name="肋骨" path="Ren/Tou/PiFu/LeiGu">
|
|
|
|
|
|
<Body name="左肋" path="Ren/Tou/PiFu/LeiGu/ZuoLei">
|
|
|
|
|
|
<Body name="左一" path="Ren/Tou/PiFu/LeiGu/ZuoLei/1"></Body>
|
|
|
|
|
|
<Body name="左二" path="Ren/Tou/PiFu/LeiGu/ZuoLei/2"></Body>
|
|
|
|
|
|
</Body>
|
|
|
|
|
|
<Body name="右肋" path="Ren/Tou/PiFu/LeiGu/YouLei">
|
|
|
|
|
|
<Body name="右一" path="Ren/Tou/PiFu/LeiGu/YouLei/1"></Body>
|
|
|
|
|
|
<Body name="右二" path="Ren/Tou/PiFu/LeiGu/YouLei/2"></Body>
|
|
|
|
|
|
</Body>
|
|
|
|
|
|
</Body>
|
|
|
|
|
|
</Body>
|
|
|
|
|
|
<Body name="肌肉" isBodyList="true" path="Ren/Tou/JiRou">
|
|
|
|
|
|
<Body name="111" path="Ren/Tou/JiRou/1">
|
|
|
|
|
|
<ObjectToggle>
|
|
|
|
|
|
<Color></Color>
|
|
|
|
|
|
</ObjectToggle>
|
|
|
|
|
|
</Body>
|
|
|
|
|
|
<Body name="动脉" path="Ren_NEW/SM_DongMai">
|
|
|
|
|
|
<ObjectToggle>
|
|
|
|
|
|
<Color></Color>
|
|
|
|
|
|
</ObjectToggle>
|
|
|
|
|
|
</Body>
|
|
|
|
|
|
<Body name="静脉" path="Ren/Tou/JiRou/3">
|
|
|
|
|
|
<ObjectToggle>
|
|
|
|
|
|
<Color></Color>
|
|
|
|
|
|
</ObjectToggle>
|
|
|
|
|
|
</Body>
|
|
|
|
|
|
</Body>
|
2025-04-08 17:17:27 +08:00
|
|
|
|
|
|
|
|
|
|
<Body name="神经" isBodyList="true">
|
2025-03-11 13:59:38 +08:00
|
|
|
|
<Body name="aaa" path="Ren/Tou/ShenJing/1">
|
|
|
|
|
|
<ObjectToggle>
|
|
|
|
|
|
<Color></Color>
|
|
|
|
|
|
</ObjectToggle>
|
|
|
|
|
|
</Body>
|
|
|
|
|
|
<Body name="bbb" path="Ren/Tou/ShenJing/2">
|
|
|
|
|
|
<ObjectToggle>
|
|
|
|
|
|
<Color></Color>
|
|
|
|
|
|
</ObjectToggle>
|
|
|
|
|
|
</Body>
|
|
|
|
|
|
<Body name="ccc" path="Ren/Tou/ShenJing/3">
|
|
|
|
|
|
<ObjectToggle>
|
|
|
|
|
|
<Color></Color>
|
|
|
|
|
|
</ObjectToggle>
|
|
|
|
|
|
</Body>
|
|
|
|
|
|
</Body>
|
2025-04-08 17:17:27 +08:00
|
|
|
|
|
2025-03-11 13:59:38 +08:00
|
|
|
|
</Body>
|
|
|
|
|
|
|
|
|
|
|
|
</Body3D>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</示例>
|
|
|
|
|
|
|
|
|
|
|
|
|