<p>ã¹ããåãã¢ããªã§å©ç¨ãããVirtual Joystickã§æåãªããªã¼ã¢ã»ãã<a href="https://assetstore.unity.com/packages/tools/input-management/joystick-pack-107631" target="_blank" rel="noreferrer noopener">ãJOYSTICK PACKã</a>ãã¨ã¦ã使ãæãã¦ç³ãåãªãã®ã§ãããã©ããã¦ãæ°ã«ãªã£ãäºããã£ãã®ã§æ¸ãã¾ãã</p>



<h2 class="wp-block-heading">æ°ã«ãªã£ãäº</h2>



<p>Dynamic Joystick ããã㯠Floating Joystickã鏿ããæãã²ã¼ã éå§æã®æåã®ã¿ããã§ãããªãåãã¦ãã¾ãï¼æ¡ä»¶ã«ãã£ã¦ã¯Joystickã®ç»é¢ã表示ãããªããï¼ä¸åº¦ãæãé¢ãã¦å度ç»é¢ãæ¼ãã¨æãéãã«åãï¼</p>



<p>ä¸è¨çç¶ã¯ä»¥ä¸ã®æ¡ä»¶ã§çºçãã¾ããã</p>



<ul class="wp-block-list"><li>Canvas ã®Render ModeããScreen Space &#8211; Cameraã(Overlayã ã¨åé¡ãªã)</li><li>Dynamic Joystick(Floating Joystick)ã®Axis OptionsãBoth以å¤ã ã¨ï¼ä¸çªæåã®ã¿ããã§ï¼Joystickã®ç»åã表示ãããªã</li></ul>



<p>åå ã¯ä¸çªæåã«ç»é¢ãã¿ããããæã«Cameraã®è¨å®ãæ£ããããã¦ããªãããã ã£ãã®ã§ã以ä¸ã®ããã«ä¿®æ£ãã¾ããã</p>



<pre class="wp-block-code"><code>// Assets -> Joystick Pack -> Scripts -> Base -> Joystick.cs
protected virtual void Start()
{
 HandleRange = handleRange;
 DeadZone = deadZone;
 baseRect = GetComponent<;RectTransform>();
 canvas = GetComponentInParent<;Canvas>();
 if (canvas == null)
 Debug.LogError("The Joystick is not placed inside a canvas");

 Vector2 center = new Vector2(0.5f, 0.5f);
 background.pivot = center;
 handle.anchorMin = center;
 handle.anchorMax = center;
 handle.pivot = center;
 handle.anchoredPosition = Vector2.zero;

 // 追å é¨å
 cam = null;
 if (canvas.renderMode == RenderMode.ScreenSpaceCamera)
 cam = canvas.worldCamera;
}

public void OnDrag(PointerEventData eventData)
{
 /* ãã®é¨åãStart()ã«ç§»å
 cam = null;
 if (canvas.renderMode == RenderMode.ScreenSpaceCamera)
 cam = canvas.worldCamera;
 */

 Vector2 position = RectTransformUtility.WorldToScreenPoint(cam, background.position);
 Vector2 radius = background.sizeDelta / 2;
 input = (eventData.position - position) / (radius * canvas.scaleFactor);
 FormatInput();
 HandleInput(input.magnitude, input.normalized, radius, cam);
 handle.anchoredPosition = input * radius * handleRange;
}
</code></pre>



<p>ããã§ä¸å¿ã¡ããã¨åãã¦ãã¾ãã<br> æ°ã«ãªãã®ã¯ããªãªã¸ãã«ã§ã¯ãªãæ¯åCameraãnullã«ãã¦ååå¾ãã¦ããã®ãï¼ã§ããä½ãæå³ãããã®ãããããªãã®ã§ããããªæã¯ã³ã¡ã³ãã¢ã¦ããå¤ãã°å¤§ä¸å¤«ãã ã¨æãã¾ãã</p>