2016-11-05 16 views
0

私はシンプルなビルディングシステムで作業しています。ここには私が持っているものの小さなGIFがあります。レイプキャストが何もヒットしなかった場合、プレビューオブジェクトは消えます。私はそれをYの位置を変えたいと思っていますが、レイキャストは何も返しません。どのように達成するのですか?レイキャストの位置を取得しても何もヒットしない場合でも

https://gfycat.com/ifr/ShallowTepidAnkolewatusi

ここでは、光線が終了位置を見つけて、そこにあなたのプレビューオブジェクトを移動することができ、プレビュー位置

 if (deployPreview) 
     { 
      if (Physics.Raycast(cam.position, cam.forward, out deployableHit, 5, deployableMask)) 
      { 
       if (deployPreview.gameObject.activeSelf) 
       { 
        if (deployableHit.transform != transform) 
        { 
         if (heldDeployable.deployable.DepType == EDeployableType.Buildable) 
         { 
          HandleBuilding(); 
         } 
         else 
         { 
          deployPos = deployableHit.point; 
          deployPreview.rotation = transform.rotation; 
          deployPreview.position = deployPos; 
         } 
        } 
       } 
      } 
     } 

答えて

1

の責任だコードのビットです。

if (deployPreview) 
{ 
     if (Physics.Raycast(cam.position, cam.forward, out deployableHit, 5, deployableMask)) 
     { 
      //your code 
     } 
     else 
     { 
      //not hit code 
      var position = cam.position + cam.forward * 5; 
      //position is where ray ends 
     } 
} 
+0

ありがとう、それは私が探していたものです。 – Fiffe

関連する問題