Unity – Create A Cannon Ball / Shooting with power and direction

English:

This post will show you how to create a cannon ball or shooting object with a power and direction.

step 1: create a sphere with the size as you want.

step 2: add Rigidbody to the sphere.

– At here, if you want to add a Collider to sphere you may have to change a value of  “Collision Detection” in Rigidbody to “Continuous” or “Continuous Dynamic”, because if you stay the value of Collision Detection = Discrete, it will not happen when you add physics to it. It’s up to you!

step 3: convert sphere into prefab

step 4: right now, we begin with a following code

clone =(GameObject) Instantiate(cannonball,<transform.position>, Quaternion.identity);
clone.GetComponent<Rigidbody>().AddForce(<direction> * power, ForceMode.Impulse);

cannonball is a sphere prefab you created.

with <transform.position> is where you want to begin shoot the sphere

<direction> is a vector3 forwad of your cannon.

ex: you want to shoot with angle = 45 degree in front of your cannon <direction> will be (1,1,0) or (0,1,1).

Vietnamese:

bài viết này sẽ hướng dẫn bạn cách bắn 1 quả đại bác với 1 hướng và lực xác định

bước 1: tạo 1 sphere với kích thước bạn muốn.

bước 2: thêm Rigidbody vào sphere.

– Tại đây, nếu bạn muốn thêm vào collider cho sphere bạn có thể phải thay đổi giá trị của Collision Detection trong Rigidbody thành “Continuous” hoặc “Continuous Dynamic”, bởi vì nếu để giá trị của Collision Detection = Discrete, quả đại bác sẽ không bắn được khi thêm và tác động vật lý. ( thêm vào hay không tùy bạn có cần xữ lý va chạm địa hình hay bắn trúng đầu thằng NPC nào đó không 😀 )

bước 3: biến sphere thành prefab

bước 4: thêm vào code của bạn đoạn script sau

Gameobject clone =(GameObject) Instantiate(cannonball,<transform.position>, Quaternion.identity);
clone.GetComponent<Rigidbody>().AddForce(<direction> * power, ForceMode.Impulse);

cannonball là cái sphere mà bạn đã chuyển thành prefab.

<transform.position>nơi bạn muốn quả đại bác bắt đầu bay ( thường thì trong họng bạn, ah nhầm họng pháo :)) )

<direction> là cái hướng muốn bắn

ví dụ: nếu muốn bán hướng trước mặt với góc 45 độ thì direction = (1,1,0) hoặc (0,1,1)

phần còn lại bạn tự xử :)))))))

Advertisements

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Đăng xuất / Thay đổi )

Connecting to %s