吾盾之坚 , 物莫能陷也‘吾矛之利 , 于物无不陷也。--------------矛与盾
ItemPackage:交互过程中用到的
ItemPackageSpawner:实现交互效果的逻辑,基于生成机制
ItemPackageReference:设定物体与组织的关系
一、从Assets下载SteamVR Plugins和Standard Assets(模型资源),然后导入到Unity
二、将Standard Assets中的PlatformPrototype02x01x02拖动到Hierarchy视图中,并调整角度和大小
三、将Standard Assets中的FloorPrototype64x01x64拖动到Hierarchy视图中,设置大小和位置
四、将SteamVr中的Player拖动到Hierarchy视图
五、删掉MainCamera,创建Cube并给Cube添加Interactable组件、Item Package Spanner组件并设置相关属性
六、给Item Package Spawner赋值
1、在Hierarchy视图创建一个空物体,添加一个组件Item Package,拖进Assets中变成Prefeb
七、导入SwordAndShield(剑与盾的资源包)包到unity,然后删除掉Hierarchy视图中的GameObject,配置prefeb的相关属性
1、
2、生成模型,并赋值
①复制两个Sword物体,并重命名为SwordOutline、ShieldPreView
②选中SwordOutline,在搜索框中搜索silhouette,并拖动给SwordOutline的shader
生成的是一张有轮廓的剑
③给Prefeb 的名为GameObject赋值
七、给Cube添加属性,去掉勾选“Mesh Renderer”,的Item Package Spawner中的Item Package赋值,将刚才生成的GameObjet拖动到Item Package处
添加一个Item Package Reference组件
八、分别给Sword和Shild添加一个Destroy on Detach from hand的组件
运行后的结果:当手靠近台面上的模型时,手柄边缘出现黄色边框,按下扳机键后拿起剑,另一只手柄变成盾牌
注:
参考资料:http://edu.manew.com/course/344/learn#lesson/5602
遇到的问题
1、手柄渲染不上,或者是只渲染一半儿(手柄末尾没渲染上)
原因:当手柄离视线有一段距离时可以被渲染上,但是当距离眼睛比较近时渲染不上,出现上面的情况,被player的collider挡住了
解决办法:调整player的比例
2、使用Interaction System的组件后,在Scene界面出现白色的带把手的小球
原因:Interaction System为了编辑时方便找到组件,添加了这些标志
解决办法:
Gizmos-->取消勾选“3D Icons”-->将滑动条拖动到最左端