Collider









How do I use Collider
Below are practical examples compiled from projects for learning and reference purposes

Featured Snippets


File name: JumpAndRunMovement.cs Copy
94     void UpdateIsGrounded()
95     {
96         Vector2 position = new Vector2( transform.position.x, transform.position.y );
97
98         RaycastHit2D hit = Physics2D.Raycast( position, -Vector2.up, 0.1f, 1 << LayerMask.NameToLayer( "Ground" ) );
99
100         m_IsGrounded = hit.collider != null;
101         m_Animator.SetBool( "IsGrounded", m_IsGrounded );
102     }
File name: BallControl.cs Copy
36  void OnCollisionEnter2D(Collision2D coll) {
37   if (coll.collider.CompareTag ("Player")) {
38    vel.x = rb2d.velocity.x;
39    vel.y = (rb2d.velocity.y / 2.0f) + (coll.collider.attachedRigidbody.velocity.y / 3.0f);
40    rb2d.velocity = vel;
41   }
42  }
File name: SideWalls.cs Copy
7  void OnTriggerEnter2D(Collider2D hitInfo) {
8   if (hitInfo.name == "Ball")
9   {
10    string wallName = transform.name;
11    GameManager.Score (wallName);
12    hitInfo.gameObject.SendMessage ("RestartGame", 1, SendMessageOptions.RequireReceiver);
13   }
14  }
File name: OnCollideSwitchTeam.cs Copy
9     public void OnTriggerEnter(Collider other)
10     {
11         // it's ridiculously easy to switch teams. you only have to make sure you do it for your own characters
12         // (this trigger is called on all clients, when a user's character enters the trigger...)
13
14         // find a PhotonView and check if the character "isMine". Only then, set this client's player-team.
15         PhotonView otherPv = other.GetComponent();
16         if (otherPv != null && otherPv.isMine)
17         {
18             PhotonNetwork.player.SetTeam(this.TeamToSwitchTo);
19         }
20     }
File name: PickupCamera.cs Copy
41     void OnEnable()
42     {
43         if( this.photonView != null && !this.photonView.isMine )
44         {
45             this.enabled = false;
46             return;
47         }
48
49         if( !cameraTransform && Camera.main )
50             cameraTransform = Camera.main.transform;
51         if( !cameraTransform )
52         {
53             Debug.Log( "Please assign a camera to the ThirdPersonCamera script." );
54             enabled = false;
55         }
56
57         m_CameraTransformCamera = cameraTransform.GetComponent();
58
59
60         _target = transform;
61         if( _target )
62         {
63             controller = _target.GetComponent();
64         }
65
66         if( controller )
67         {
68             CharacterController characterController = (CharacterController)_target.GetComponent();
69             centerOffset = characterController.bounds.center - _target.position;
70             headOffset = centerOffset;
71             headOffset.y = characterController.bounds.max.y - _target.position.y;
72         }
73         else
74             Debug.Log( "Please assign a target to the camera that has a ThirdPersonController script attached." );
75
76
77         Cut( _target, centerOffset );
78     }
File name: PickupTriggerForward.cs Copy
14     public void OnTriggerEnter(Collider other)
15     {
16         PickupItem parentPickupItem = this.transform.parent.GetComponent();
17         if (parentPickupItem != null)
18         {
19            parentPickupItem.OnTriggerEnter(other);
20         }
21
22         // by enabling this log, you can see that more triggers are forwarded than necessary.
23         // collisions with any collider will trigger, which is not perfect but OK in the demo.
24         //Debug.Log("Triggered. Called parent: " + ((parentPickupItem != null)));
25     }
File name: ThirdPersonCamera.cs Copy
40     void OnEnable()
41     {
42         if( !cameraTransform && Camera.main )
43             cameraTransform = Camera.main.transform;
44         if( !cameraTransform )
45         {
46             Debug.Log( "Please assign a camera to the ThirdPersonCamera script." );
47             enabled = false;
48         }
49
50         m_CameraTransformCamera = cameraTransform.GetComponent();
51
52         _target = transform;
53         if( _target )
54         {
55             controller = _target.GetComponent();
56         }
57
58         if( controller )
59         {
60             CharacterController characterController = (CharacterController)_target.GetComponent();
61             centerOffset = characterController.bounds.center - _target.position;
62             headOffset = centerOffset;
63             headOffset.y = characterController.bounds.max.y - _target.position.y;
64         }
65         else
66             Debug.Log( "Please assign a target to the camera that has a ThirdPersonController script attached." );
67
68
69         Cut( _target, centerOffset );
70     }
File name: ThirdPersonController.cs Copy
419     void OnControllerColliderHit(ControllerColliderHit hit)
420     {
421         // Debug.DrawRay(hit.point, hit.normal);
422         if (hit.moveDirection.y > 0.01f)
423             return;
424     }
File name: ClickDetector.cs Copy
27     private GameObject RaycastObject(Vector2 screenPos)
28     {
29         RaycastHit info;
30         #if UNITY_3_5
31         Camera cam = Camera.mainCamera;
32         #else
33         Camera cam = Camera.main;
34         #endif
35
36         if (Physics.Raycast(cam.ScreenPointToRay(screenPos), out info, 200))
37         {
38             return info.collider.gameObject;
39         }
40
41         return null;
42     }
File name: InputToEvent.cs Copy
104     private GameObject RaycastObject( Vector2 screenPos )
105     {
106         RaycastHit info;
107         if( Physics.Raycast( m_Camera.ScreenPointToRay( screenPos ), out info, 200 ) )
108         {
109             inputHitPos = info.point;
110             return info.collider.gameObject;
111         }
112
113         return null;
114     }

Collider 129 lượt xem

Gõ tìm kiếm nhanh...