Interaction System入门之ItemPackage配套物品的同时抓取(矛与盾:吾盾之坚 , 物莫能陷也‘吾矛之利 , 于物无不陷也)

吾盾之坚 , 物莫能陷也‘吾矛之利 , 于物无不陷也。--------------矛与盾




ItemPackage:交互过程中用到的

ItemPackageSpawner:实现交互效果的逻辑,基于生成机制

ItemPackageReference:设定物体与组织的关系


 一、从Assets下载SteamVR Plugins和Standard Assets(模型资源),然后导入到Unity

Interaction System入门之ItemPackage配套物品的同时抓取(矛与盾:吾盾之坚 , 物莫能陷也‘吾矛之利 , 于物无不陷也)

二、将Standard Assets中的PlatformPrototype02x01x02拖动到Hierarchy视图中,并调整角度和大小

Interaction System入门之ItemPackage配套物品的同时抓取(矛与盾:吾盾之坚 , 物莫能陷也‘吾矛之利 , 于物无不陷也)

三、将Standard Assets中的FloorPrototype64x01x64拖动到Hierarchy视图中,设置大小和位置

Interaction System入门之ItemPackage配套物品的同时抓取(矛与盾:吾盾之坚 , 物莫能陷也‘吾矛之利 , 于物无不陷也)

四、将SteamVr中的Player拖动到Hierarchy视图

Interaction System入门之ItemPackage配套物品的同时抓取(矛与盾:吾盾之坚 , 物莫能陷也‘吾矛之利 , 于物无不陷也)

五、删掉MainCamera,创建Cube并给Cube添加Interactable组件、Item Package Spanner组件并设置相关属性

Interaction System入门之ItemPackage配套物品的同时抓取(矛与盾:吾盾之坚 , 物莫能陷也‘吾矛之利 , 于物无不陷也)

六、给Item Package Spawner赋值

1、在Hierarchy视图创建一个空物体,添加一个组件Item Package,拖进Assets中变成Prefeb

Interaction System入门之ItemPackage配套物品的同时抓取(矛与盾:吾盾之坚 , 物莫能陷也‘吾矛之利 , 于物无不陷也)

七、导入SwordAndShield(剑与盾的资源包)包到unity,然后删除掉Hierarchy视图中的GameObject,配置prefeb的相关属性

1、

Interaction System入门之ItemPackage配套物品的同时抓取(矛与盾:吾盾之坚 , 物莫能陷也‘吾矛之利 , 于物无不陷也)

2、生成模型,并赋值

①复制两个Sword物体,并重命名为SwordOutline、ShieldPreView

Interaction System入门之ItemPackage配套物品的同时抓取(矛与盾:吾盾之坚 , 物莫能陷也‘吾矛之利 , 于物无不陷也)

②选中SwordOutline,在搜索框中搜索silhouette,并拖动给SwordOutline的shader

Interaction System入门之ItemPackage配套物品的同时抓取(矛与盾:吾盾之坚 , 物莫能陷也‘吾矛之利 , 于物无不陷也)

生成的是一张有轮廓的剑

Interaction System入门之ItemPackage配套物品的同时抓取(矛与盾:吾盾之坚 , 物莫能陷也‘吾矛之利 , 于物无不陷也)

③给Prefeb 的名为GameObject赋值

Interaction System入门之ItemPackage配套物品的同时抓取(矛与盾:吾盾之坚 , 物莫能陷也‘吾矛之利 , 于物无不陷也)

七、给Cube添加属性,去掉勾选“Mesh Renderer”,的Item Package Spawner中的Item Package赋值,将刚才生成的GameObjet拖动到Item Package处

Interaction System入门之ItemPackage配套物品的同时抓取(矛与盾:吾盾之坚 , 物莫能陷也‘吾矛之利 , 于物无不陷也)

添加一个Item Package Reference组件

Interaction System入门之ItemPackage配套物品的同时抓取(矛与盾:吾盾之坚 , 物莫能陷也‘吾矛之利 , 于物无不陷也)

八、分别给Sword和Shild添加一个Destroy on Detach from hand的组件

Interaction System入门之ItemPackage配套物品的同时抓取(矛与盾:吾盾之坚 , 物莫能陷也‘吾矛之利 , 于物无不陷也)

Interaction System入门之ItemPackage配套物品的同时抓取(矛与盾:吾盾之坚 , 物莫能陷也‘吾矛之利 , 于物无不陷也)

运行后的结果:当手靠近台面上的模型时,手柄边缘出现黄色边框,按下扳机键后拿起剑,另一只手柄变成盾牌

Interaction System入门之ItemPackage配套物品的同时抓取(矛与盾:吾盾之坚 , 物莫能陷也‘吾矛之利 , 于物无不陷也)














注:

参考资料:http://edu.manew.com/course/344/learn#lesson/5602

遇到的问题

1、手柄渲染不上,或者是只渲染一半儿(手柄末尾没渲染上)

Interaction System入门之ItemPackage配套物品的同时抓取(矛与盾:吾盾之坚 , 物莫能陷也‘吾矛之利 , 于物无不陷也)

原因:当手柄离视线有一段距离时可以被渲染上,但是当距离眼睛比较近时渲染不上,出现上面的情况,被player的collider挡住了

解决办法:调整player的比例


2、使用Interaction System的组件后,在Scene界面出现白色的带把手的小球

Interaction System入门之ItemPackage配套物品的同时抓取(矛与盾:吾盾之坚 , 物莫能陷也‘吾矛之利 , 于物无不陷也)

原因:Interaction System为了编辑时方便找到组件,添加了这些标志

解决办法:

Gizmos-->取消勾选“3D Icons”-->将滑动条拖动到最左端

Interaction System入门之ItemPackage配套物品的同时抓取(矛与盾:吾盾之坚 , 物莫能陷也‘吾矛之利 , 于物无不陷也)


Interaction System入门之ItemPackage配套物品的同时抓取(矛与盾:吾盾之坚 , 物莫能陷也‘吾矛之利 , 于物无不陷也)