オブジェクトを押す
![2c390966 8694 4adf 8fba 5e32a2b82fc6](https://codegenius.org/uploads/slide/image/2092/2c390966-8694-4adf-8fba-5e32a2b82fc6.jpeg)
オブジェクトを押す
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MoveObject : MonoBehaviour {
public float pushPower = 2.0f;
void OnControllerColliderHit(ControllerColliderHit hit){
Rigidbody rb = hit.collider.attachedRigidbody;
// 相手のオブジェクトにRigidbodyがついていなかったり、isKinematicにチェックが入っている場合には押せない。
// returnの機能を復習
if (rb == null || rb.isKinematic) {
return;
}
if (hit.moveDirection.y < -0.3f) {
return;
}
Vector3 pushDir = new Vector3 (hit.moveDirection.x, 0, hit.moveDirection.z);
rb.velocity = pushDir * pushPower;
}
}
![C97451d0 e202 465e 99d9 cb2d7c77136e](https://codegenius.org/uploads/slide/image/2093/c97451d0-e202-465e-99d9-cb2d7c77136e.jpeg)
![2c390966 8694 4adf 8fba 5e32a2b82fc6](https://codegenius.org/uploads/slide/image/2092/2c390966-8694-4adf-8fba-5e32a2b82fc6.jpeg)
オブジェクトを押す
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MoveObject : MonoBehaviour {
public float pushPower = 2.0f;
void OnControllerColliderHit(ControllerColliderHit hit){
Rigidbody rb = hit.collider.attachedRigidbody;
// 相手のオブジェクトにRigidbodyがついていなかったり、isKinematicにチェックが入っている場合には押せない。
// returnの機能を復習
if (rb == null || rb.isKinematic) {
return;
}
if (hit.moveDirection.y < -0.3f) {
return;
}
Vector3 pushDir = new Vector3 (hit.moveDirection.x, 0, hit.moveDirection.z);
rb.velocity = pushDir * pushPower;
}
}
![C97451d0 e202 465e 99d9 cb2d7c77136e](https://codegenius.org/uploads/slide/image/2093/c97451d0-e202-465e-99d9-cb2d7c77136e.jpeg)
オブジェクトを押す