HTC Vive VRTK入门之瞬移二设定瞬移区域的三种方法(再入桃花源)

时间:2024-03-16 18:24:19

梦里情缠万缕丝,红笺小字两心知。   

高山流水声难尽,笔墨书怀欲语迟。

----《一缕清幽入小诗》



一、TargetList Policy的用法

1、Tag名为“No Teleport”物体都不参与瞬移。

VRTK_Policy List

属性:

Operation------Ignore:忽略规则   Include:包含规则

Check Types:检出属性的类型

VRTK_DashTeleport

属性:

Target List Policy:过滤规则

①场景中有四个箱子,均可以参与瞬移

HTC Vive VRTK入门之瞬移二设定瞬移区域的三种方法(再入桃花源)

②选中Hierarchy视图中的任何物体,在Inspector视图中,点击Tag-->Add Tag,在弹出的属性面板中点击“+”,输入New Tag Name,然后点击Save

HTC Vive VRTK入门之瞬移二设定瞬移区域的三种方法(再入桃花源)

③选中其中的一个箱子,并添加Tag“NoTeleport”

HTC Vive VRTK入门之瞬移二设定瞬移区域的三种方法(再入桃花源)

④选中PlayArea,添加组件VRTK_Policy List,设置相关属性,并将其拖动到Target List Policy

HTC Vive VRTK入门之瞬移二设定瞬移区域的三种方法(再入桃花源)

⑤未设置Tag为No Teleport的箱子可以瞬移

HTC Vive VRTK入门之瞬移二设定瞬移区域的三种方法(再入桃花源)

HTC Vive VRTK入门之瞬移二设定瞬移区域的三种方法(再入桃花源)

设置了该tag的箱子不能瞬移(红色为不可以瞬移的区域)

HTC Vive VRTK入门之瞬移二设定瞬移区域的三种方法(再入桃花源)

二、Nav Mesh Limit DDistance的用法

Nav Mesh Limit Distance:设置导航区域

1、Window-->Navigation,添加Navigation视图

,HTC Vive VRTK入门之瞬移二设定瞬移区域的三种方法(再入桃花源)

2、选中PlayArea,将Target List Policy置为None,并移除组件VRTK_Policy List(即将上一种瞬移方式取消),设置Nav Mesh Limit Distance的范围

HTC Vive VRTK入门之瞬移二设定瞬移区域的三种方法(再入桃花源)

3、选中场景中的所要作为障碍物的物体,点击屏幕最右侧的Static-->Navigation Static,(即在场景中设置为障碍物的物体,不可以参与瞬移)

HTC Vive VRTK入门之瞬移二设定瞬移区域的三种方法(再入桃花源)

4、将所要参加瞬移的物体static复选框勾选上(即可以参加瞬移)

HTC Vive VRTK入门之瞬移二设定瞬移区域的三种方法(再入桃花源)

5、选中Navigation视图,点击Bake进行场景烘焙,蓝色区域为可以参与瞬移的区域(勾选了static的物体),设置了Navigation Static的物体为障碍物,如果场景中有可以移动的物体如僵尸等,碰到这些物体会掉头,其余未设置的为不参与瞬移的区域

HTC Vive VRTK入门之瞬移二设定瞬移区域的三种方法(再入桃花源)

6、运行结果

①设置了Navigation Static的物体,不可参与瞬移,为障碍物

HTC Vive VRTK入门之瞬移二设定瞬移区域的三种方法(再入桃花源)

HTC Vive VRTK入门之瞬移二设定瞬移区域的三种方法(再入桃花源)

HTC Vive VRTK入门之瞬移二设定瞬移区域的三种方法(再入桃花源)HTC Vive VRTK入门之瞬移二设定瞬移区域的三种方法(再入桃花源)

HTC Vive VRTK入门之瞬移二设定瞬移区域的三种方法(再入桃花源)

②设置了static的物体如地面可以参与瞬移

HTC Vive VRTK入门之瞬移二设定瞬移区域的三种方法(再入桃花源)

③没有进行任何设置的物体为不参与瞬移的物体,如地面之外的帐篷附近、山丘和小山

HTC Vive VRTK入门之瞬移二设定瞬移区域的三种方法(再入桃花源)

三、VRTK_Destination Point:设置瞬移点

1、Enable Teleport:选中可以瞬移到该点,没有勾选,该点不可瞬移

Snap To Point:瞬移到该点时是否和该点的位置重合

Hide Point Cursor:是否隐藏掉光标

①将DestinationPoint拖动到场景中,分别给添加组件VRTK_Policy List并设置相关属性,将VRTK_Policy List拖动到Target  List  Policy,设置Destination Marker Settings的属性值,运行后可以瞬移到该点

HTC Vive VRTK入门之瞬移二设定瞬移区域的三种方法(再入桃花源)

②运行后的结果

HTC Vive VRTK入门之瞬移二设定瞬移区域的三种方法(再入桃花源)HTC Vive VRTK入门之瞬移二设定瞬移区域的三种方法(再入桃花源)

2、选中一个DestinationPoint点,修改它的大小成为一个瞬移区域

分别修改该物体下的子物体的缩放值

HTC Vive VRTK入门之瞬移二设定瞬移区域的三种方法(再入桃花源)HTC Vive VRTK入门之瞬移二设定瞬移区域的三种方法(再入桃花源)HTC Vive VRTK入门之瞬移二设定瞬移区域的三种方法(再入桃花源)

运行后可以在该区域瞬移

HTC Vive VRTK入门之瞬移二设定瞬移区域的三种方法(再入桃花源)HTC Vive VRTK入门之瞬移二设定瞬移区域的三种方法(再入桃花源)HTC Vive VRTK入门之瞬移二设定瞬移区域的三种方法(再入桃花源)




注:

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

2、Nav Mesh Limit Distance:如果设置为0,为不考虑该因素,设置了不管用,而不是在该物体外的0米参与瞬移

				<script>
					(function(){
						function setArticleH(btnReadmore,posi){
							var winH = $(window).height();
							var articleBox = $("div.article_content");
							var artH = articleBox.height();
							if(artH > winH*posi){
								articleBox.css({
									'height':winH*posi+'px',
									'overflow':'hidden'
								})
								btnReadmore.click(function(){
									articleBox.removeAttr("style");
									$(this).parent().remove();
								})
							}else{
								btnReadmore.parent().remove();
							}
						}
						var btnReadmore = $("#btn-readmore");
						if(btnReadmore.length>0){
							if(currentUserName){
								setArticleH(btnReadmore,3);
							}else{
								setArticleH(btnReadmore,1.2);
							}
						}
					})()
				</script>
				</article>