Автор Тема: Пуля летит куда не надо...  (Прочитано 1665 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Сентябрь 06, 2012, 05:51:00 am
Прочитано 1665 раз

WinSTOP

  • Частный гость

  • Оффлайн
  • ***

  • 123
  • Репутация:
    3
    • Просмотр профиля
Привет.Помогите пожалуйста разобраться
вот скрипт стрельбы:

public var bulletImpulse = 300;
public var shootSpeed = 1;
public var bullet : GameObject;
function Update () {
if (Input.GetKeyDown(KeyCode.Mouse0)) {
var bull_clone : GameObject;
bull_clone = Instantiate(bullet, transform.position, transform.rotation);
Physics.IgnoreCollision(bull_clone.collider, collider);
bull_clone.rigidbody.AddForce(transform.forward*bulletImpulse, ForceMode.Impulse);
}
}
как сделать, что бы патрон летел в прицел а лучше как во всех норм играх куда целишься туда и летит патрон..
у меня летит туда куда смотрит дуло. помогите пожалуйста...
к стати у оружия на конце есть маленький объект (SpawnPoint) из него и вылетают патроны))

Желательно на js а то потом на c# фиг чё найдёшь (перезарядку и т.п)
« Последнее редактирование: Сентябрь 06, 2012, 07:59:39 am от WinSTOP »

Сентябрь 06, 2012, 08:07:06 am
Ответ #1

Ru_lon

  • Активный участник

  • Оффлайн
  • ****

  • 390
  • Репутация:
    9
    • Просмотр профиля
Зачем тебе она нужна? Сделай у пули рейкаст  и бей рейкастов в центр икрана. А там и  делай дырки от пуль и отнимай жизни у врагов.
Сильное государство угнетает нас, при слабом государстве погибаем мы сами.

Сентябрь 06, 2012, 08:31:01 am
Ответ #2

WinSTOP

  • Частный гость

  • Оффлайн
  • ***

  • 123
  • Репутация:
    3
    • Просмотр профиля
Спасибо очень полезная штука))

Сентябрь 06, 2012, 09:38:09 am
Ответ #3

WinSTOP

  • Частный гость

  • Оффлайн
  • ***

  • 123
  • Репутация:
    3
    • Просмотр профиля
помогите перевести скрипт c# на js
using UnityEngine;
using System.Collections;
public class Shoot_2 : MonoBehaviour {
private float Distance = 10f;

void Update (){
        if (Input.GetKeyDown(KeyCode.Mouse0))
        {
            Ray ray = new Ray(transform.position, transform.forward);
            RaycastHit hit;

            if(Physics.Raycast(ray, out hit, Distance))
         {
            Debug.DrawLine(ray.origin, hit.point, Color.red, 2, false);
            }
        }
    }
}

Сентябрь 06, 2012, 09:49:57 am
Ответ #4

Alcatraz

  • Администратор
  • Старожил форума

  • Оффлайн
  • *****

  • 1851
  • Репутация:
    123
    • Просмотр профиля
    • Flight Dream Studio
учись переводить, эта тема не раз обсуждалось.

меняй:
void на function

public int hh на public hh: int;

Ray ray на ray : Ray

итд.