Портирование оружий из различных шутеров в unity 3d - Форум Игроделов
Пт, 03 Май 2024, 17:51 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум Игроделов » UNITY3D » ОРУЖИЕ » Портирование оружий из различных шутеров в unity 3d (Что да как? Нужна помощь)
Портирование оружий из различных шутеров в unity 3d
ZedRotДата: Пн, 15 Окт 2012, 14:37 | Сообщение # 1
Нет аватара
 
Сообщений: 21
Награды: 0
Репутация: 2
Статус: Offline
Взял модель пушки Гаусса, а именно wpn_gauss_hud.ogf. Разорхивировал в .smd. reference.smd так и оставил, остольные типа idle.smd, reload.smd, shoot.smd, draw.smd через 3ds Max сохранил как анимацию .xaf. Далее импортировал reference.smd, загрузил нужные текстуры, последовательно импортировал фсе файлы анимации в на одну ленту анимации. Дале экспортирую в .fbx, рагружаю в unity 3d. НУ А ВОТ И ПРОБЛЕМА, вместо 4 действий idle, reload, shoot, draw у меня один файл со всеми анимациями под названием TAKE 001.
Пожалуйста помогите. Расскажите пожалуйста всё по этапам.
 
СообщениеВзял модель пушки Гаусса, а именно wpn_gauss_hud.ogf. Разорхивировал в .smd. reference.smd так и оставил, остольные типа idle.smd, reload.smd, shoot.smd, draw.smd через 3ds Max сохранил как анимацию .xaf. Далее импортировал reference.smd, загрузил нужные текстуры, последовательно импортировал фсе файлы анимации в на одну ленту анимации. Дале экспортирую в .fbx, рагружаю в unity 3d. НУ А ВОТ И ПРОБЛЕМА, вместо 4 действий idle, reload, shoot, draw у меня один файл со всеми анимациями под названием TAKE 001.
Пожалуйста помогите. Расскажите пожалуйста всё по этапам.

Автор - ZedRot
Дата добавления - 15 Окт 2012 в 14:37
seamanДата: Пн, 15 Окт 2012, 16:52 | Сообщение # 2
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
Во первых, - зачем объединяли анимации в одну ленту?
Во-вторых, - в Юнити простейшее действие - разделить анимации.
Мануал
 
СообщениеВо первых, - зачем объединяли анимации в одну ленту?
Во-вторых, - в Юнити простейшее действие - разделить анимации.
Мануал

Автор - seaman
Дата добавления - 15 Окт 2012 в 16:52
ZedRotДата: Пн, 15 Окт 2012, 18:33 | Сообщение # 3
Нет аватара
 
Сообщений: 21
Награды: 0
Репутация: 2
Статус: Offline
ну хотелось бы чтобы вся анимация с моделью была в одном файле

Добавлено (15.10.2012, 17:30)
---------------------------------------------
Всё получилось. Спасибо seaman за ссылочку.

Добавлено (15.10.2012, 18:33)
---------------------------------------------
Появмлась ёще одна проблема. Разделил анимацию в unity 3d через Spli animations но когда ставлю в скрипт ссылку анимации не проигрываются. ВОТ ССЫЛКА НА ПРОЭКТ В КОТОРОМ Я ПЫТАЮСЬ СДЕЛАТЬ ГАУСС, СЦЕНА 11 Пожалуйста посмотрите и помогите решить проблему.

 
Сообщениену хотелось бы чтобы вся анимация с моделью была в одном файле

Добавлено (15.10.2012, 17:30)
---------------------------------------------
Всё получилось. Спасибо seaman за ссылочку.

Добавлено (15.10.2012, 18:33)
---------------------------------------------
Появмлась ёще одна проблема. Разделил анимацию в unity 3d через Spli animations но когда ставлю в скрипт ссылку анимации не проигрываются. ВОТ ССЫЛКА НА ПРОЭКТ В КОТОРОМ Я ПЫТАЮСЬ СДЕЛАТЬ ГАУСС, СЦЕНА 11 Пожалуйста посмотрите и помогите решить проблему.


Автор - ZedRot
Дата добавления - 15 Окт 2012 в 18:33
ЛевшаДата: Пн, 15 Окт 2012, 20:43 | Сообщение # 4
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
Quote (seaman)
зачем объединяли анимации в одну ленту?

А в чем проблема ? Это один из способов реализации.
Сам пользуюсь им и доволен. smile

Quote (ZedRot)
помогите решить проблему.




Пример кода;

Code

if (condition <= 0) { if (!death) { death = true; animation.CrossFade("soldierDieFront", 0.2); } }
else { if (death) death = false; if (trgDist > 0.025) animation.CrossFade("soldierRun", 0.2); else animation.CrossFade("soldierIdle", 0.2); }
Прикрепления: 3451699.jpg (13.1 Kb)


X.cor.R (Prologue)
 
Сообщение
Quote (seaman)
зачем объединяли анимации в одну ленту?

А в чем проблема ? Это один из способов реализации.
Сам пользуюсь им и доволен. smile

Quote (ZedRot)
помогите решить проблему.




Пример кода;

Code

if (condition <= 0) { if (!death) { death = true; animation.CrossFade("soldierDieFront", 0.2); } }
else { if (death) death = false; if (trgDist > 0.025) animation.CrossFade("soldierRun", 0.2); else animation.CrossFade("soldierIdle", 0.2); }

Автор - Левша
Дата добавления - 15 Окт 2012 в 20:43
ZedRotДата: Пн, 15 Окт 2012, 21:30 | Сообщение # 5
Нет аватара
 
Сообщений: 21
Награды: 0
Репутация: 2
Статус: Offline
что то не получилось анимация перезарядки не проигрывается и вообще вся. Попробуйте проэкт скачать посмотрень может в скрипте проблема. Я недавно начал с unity работать. И еще многого не знаю.
 
Сообщениечто то не получилось анимация перезарядки не проигрывается и вообще вся. Попробуйте проэкт скачать посмотрень может в скрипте проблема. Я недавно начал с unity работать. И еще многого не знаю.

Автор - ZedRot
Дата добавления - 15 Окт 2012 в 21:30
seamanДата: Пн, 15 Окт 2012, 21:58 | Сообщение # 6
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
Quote
А в чем проблема ? Это один из способов реализации.

Да ни в чем, просто дополнительное действие. Если уже в одном таймлайн сделаны - понятно, А так - сначала объединить, чтобы тут же разделить...
ЗЫ: у меня была анимация почти на 2000 кадров (где-то 50-60 анимаций). К сожалению уже готовая. Я задолбался ее делить в Юнити smile
ЗЫ: Собственно, а с чего Вы взяли, что у Вас все будет само собой проигрываться? Я ни у одного перса на сцене не увидел ни то что анимации оружия, но и самого оружия.
 
Сообщение
Quote
А в чем проблема ? Это один из способов реализации.

Да ни в чем, просто дополнительное действие. Если уже в одном таймлайн сделаны - понятно, А так - сначала объединить, чтобы тут же разделить...
ЗЫ: у меня была анимация почти на 2000 кадров (где-то 50-60 анимаций). К сожалению уже готовая. Я задолбался ее делить в Юнити smile
ЗЫ: Собственно, а с чего Вы взяли, что у Вас все будет само собой проигрываться? Я ни у одного перса на сцене не увидел ни то что анимации оружия, но и самого оружия.

Автор - seaman
Дата добавления - 15 Окт 2012 в 21:58
ZedRotДата: Пн, 15 Окт 2012, 23:00 | Сообщение # 7
Нет аватара
 
Сообщений: 21
Награды: 0
Репутация: 2
Статус: Offline
Ну при совершении определённого условия выполняется действие
 
СообщениеНу при совершении определённого условия выполняется действие

Автор - ZedRot
Дата добавления - 15 Окт 2012 в 23:00
seamanДата: Пн, 15 Окт 2012, 23:50 | Сообщение # 8
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
Quote
Ну при совершении определённого условия выполняется действие

Вы о чем? Какое действие? "animation.CrossFade"? А где собственно нужная Вам анимация, если у персов на сцене нет самого оружия? Что анимировать то собрались?
Так, увидел еще одну "плюху":

Но это легко исправляется.
ЗЫ: что интересно, на сцене полные персы (для 3d), да и камера TPS, а оружие все подготовлено для FPS - с руками.
 
Сообщение
Quote
Ну при совершении определённого условия выполняется действие

Вы о чем? Какое действие? "animation.CrossFade"? А где собственно нужная Вам анимация, если у персов на сцене нет самого оружия? Что анимировать то собрались?
Так, увидел еще одну "плюху":

Но это легко исправляется.
ЗЫ: что интересно, на сцене полные персы (для 3d), да и камера TPS, а оружие все подготовлено для FPS - с руками.

Автор - seaman
Дата добавления - 15 Окт 2012 в 23:50
ZedRotДата: Вт, 16 Окт 2012, 14:18 | Сообщение # 9
Нет аватара
 
Сообщений: 21
Награды: 0
Репутация: 2
Статус: Offline
Мне нужно чтобы у пушки гаусса анимация fire проигрывалась при выстреле, reload проигрывалась при перезарядке и т.д. Я перетаскиваю анимацию idle, draw,reload,shoot в GunScript, но она не работает при запуске игры.

Добавлено (16.10.2012, 14:18)
---------------------------------------------
Мне нужно настроит FPS. Не могу понять в чем проблема или в анимации или в скрипте

 
СообщениеМне нужно чтобы у пушки гаусса анимация fire проигрывалась при выстреле, reload проигрывалась при перезарядке и т.д. Я перетаскиваю анимацию idle, draw,reload,shoot в GunScript, но она не работает при запуске игры.

Добавлено (16.10.2012, 14:18)
---------------------------------------------
Мне нужно настроит FPS. Не могу понять в чем проблема или в анимации или в скрипте


Автор - ZedRot
Дата добавления - 16 Окт 2012 в 14:18
seamanДата: Вт, 16 Окт 2012, 18:18 | Сообщение # 10
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
Вы вообще читаете что Вам пишут, или сами с собой предпочитаете общаться?
Вы зачем выложили проект? Просто для понта?
Еще раз.
В проекте в сцене нет оружия. Нет скриптов оружия. Не на чем поигрывать Вашу анимацию.
На префабах не висит этот скрипт.
Quote
Мне нужно настроит FPS.

В сцене нет FPS.
Или выкладывайте рабочий проект, или разбирайтесь сами.
 
СообщениеВы вообще читаете что Вам пишут, или сами с собой предпочитаете общаться?
Вы зачем выложили проект? Просто для понта?
Еще раз.
В проекте в сцене нет оружия. Нет скриптов оружия. Не на чем поигрывать Вашу анимацию.
На префабах не висит этот скрипт.
Quote
Мне нужно настроит FPS.

В сцене нет FPS.
Или выкладывайте рабочий проект, или разбирайтесь сами.

Автор - seaman
Дата добавления - 16 Окт 2012 в 18:18
ZedRotДата: Вт, 16 Окт 2012, 21:26 | Сообщение # 11
Нет аватара
 
Сообщений: 21
Награды: 0
Репутация: 2
Статус: Offline
там всё есть. Сцена 11. Пожалуйста посмотрине еще раз.

Добавлено (16.10.2012, 21:26)
---------------------------------------------
Да я читаю, но вы мне пишите про НПС

 
Сообщениетам всё есть. Сцена 11. Пожалуйста посмотрине еще раз.

Добавлено (16.10.2012, 21:26)
---------------------------------------------
Да я читаю, но вы мне пишите про НПС


Автор - ZedRot
Дата добавления - 16 Окт 2012 в 21:26
HunjethДата: Вт, 16 Окт 2012, 22:03 | Сообщение # 12
 
Сообщений: 354
Награды: 1
Репутация: 112
Статус: Offline
лол в том что у тебя анимация на другом объекте должна быть надо писать :
Code
var gg : GameObject;//gausgobject
gg.animation.CrossFade("draw");

или
Code
var animm : Animation;//gausgobject
animm.CrossFade("draw");

а не
Code
animation.CrossFade("draw");

юнити не будет mesh для костей за тебя искать


Сообщение отредактировал Hunjeth - Вт, 16 Окт 2012, 22:39
 
Сообщениелол в том что у тебя анимация на другом объекте должна быть надо писать :
Code
var gg : GameObject;//gausgobject
gg.animation.CrossFade("draw");

или
Code
var animm : Animation;//gausgobject
animm.CrossFade("draw");

а не
Code
animation.CrossFade("draw");

юнити не будет mesh для костей за тебя искать

Автор - Hunjeth
Дата добавления - 16 Окт 2012 в 22:03
ZedRotДата: Ср, 17 Окт 2012, 00:21 | Сообщение # 13
Нет аватара
 
Сообщений: 21
Награды: 0
Репутация: 2
Статус: Offline
спасибо. Это в gunscript дописать

Добавлено (17.10.2012, 00:21)
---------------------------------------------
Видимо я вообще дебил. Мне это не помогло, анимации не работают.

 
Сообщениеспасибо. Это в gunscript дописать

Добавлено (17.10.2012, 00:21)
---------------------------------------------
Видимо я вообще дебил. Мне это не помогло, анимации не работают.


Автор - ZedRot
Дата добавления - 17 Окт 2012 в 00:21
HunjethДата: Ср, 17 Окт 2012, 01:40 | Сообщение # 14
 
Сообщений: 354
Награды: 1
Репутация: 112
Статус: Offline
замени все "аnimation." в скрипте GunScript.js
на "animm."
допиши
var animm : Animation;//выбери gauss Animation(или объект gauss скинь в animm)
в начале убери animm.AddClip (тк уже есть)
и изучи основы скриптинга видно что ты совсем в этом не понимаешь


Сообщение отредактировал Hunjeth - Ср, 17 Окт 2012, 01:41
 
Сообщениезамени все "аnimation." в скрипте GunScript.js
на "animm."
допиши
var animm : Animation;//выбери gauss Animation(или объект gauss скинь в animm)
в начале убери animm.AddClip (тк уже есть)
и изучи основы скриптинга видно что ты совсем в этом не понимаешь

Автор - Hunjeth
Дата добавления - 17 Окт 2012 в 01:40
ZedRotДата: Ср, 17 Окт 2012, 14:44 | Сообщение # 15
Нет аватара
 
Сообщений: 21
Награды: 0
Репутация: 2
Статус: Offline
Вот что у меня получилось, но unity выдаёт оштбку.

Code
#pragma strict

enum GunTypes {
Pistol = 0,
Gun = 1

}

enum BulletDirection{
forX = 0,
forY = 1,
forZ = 2
}

var gunType : GunTypes;
var gunName : String;
var shellPoint : Transform;
var emptyShell : Rigidbody;
var delay : float = 0.5;
var bullets : int = 20;
var bulletsInClip : int = 20;
var clips : int = 120;
var muzzleFlash : Renderer;
var fireSmoke : ParticleRenderer;
var fireLight : Light;
var fireAnim : AnimationClip;
var reloadAnim : AnimationClip;
var reloadSound : AudioClip;
var runAnim : AnimationClip;
var walkAnim : AnimationClip;
var standAnim : AnimationClip;
var drawAnim : AnimationClip;
var drawSound : AudioClip;
var fire : AudioClip;
var guiStyle : GUISkin;
var hud : Texture;
var midPoint : Vector3;
var aimPoint : Vector3;
var mainCam : Camera;
var weaponCam : Camera;
var zoom : int;
var bullet : Rigidbody;
var bulletDirection : BulletDirection;
var bulletSpeed : float = 40;
var bulletSpawn : Transform;
@HideInInspector var playerGo : boolean;
@HideInInspector var playerRun : boolean;
private var mc : float;
private var wc : float;
private var saveTime : float = 0;

function Start() {
mc = mainCam.fieldOfView;
wc = weaponCam.fieldOfView;
animm.AddClip(walkAnim,"walk");
animm.AddClip(runAnim,"run");
animm.AddClip(standAnim,"stand");
animm.AddClip(fireAnim,"fire");
animm.AddClip(reloadAnim,"reload");
animm.AddClip(drawAnim, "draw");
UpWeapon();
}

function Reload() {
var animm : Animation;//gaussobject
animm.CrossFade("reload");
audio.PlayOneShot(reloadSound);
clips-=bulletsInClip;
bullets = bulletsInClip;
}

function UpWeapon() {
var animm : Animation;//gaussobject
animm.CrossFade("draw");
audio.PlayOneShot(drawSound);
}

function Update() {

if(Input.GetKey(KeyCode.W) || Input.GetKey(KeyCode.A) || Input.GetKey(KeyCode.S) || Input.GetKey(KeyCode.D) || Input.GetKey(KeyCode.UpArrow) || Input.GetKey(KeyCode.DownArrow) || Input.GetKey(KeyCode.LeftArrow) || Input.GetKey(KeyCode.RightArrow)) {
if(Input.GetKey(KeyCode.LeftShift)) {
playerRun = true;
playerGo = false;
}
else{
playerRun = false;
playerGo = true;
}
}
else{
playerRun = false;
playerGo = false;
}

if(playerRun) {
if(!animm.IsPlaying("draw")) {
animm.CrossFade("run");
}

}
else{
if(playerGo) {
if(!animm.IsPlaying("reload") && !animm.IsPlaying("fire") && !animm.IsPlaying("draw")) {
animm.CrossFade("walk");
}
}
else
{
if(!animm.IsPlaying("reload") && !animm.IsPlaying("fire") && !animm.IsPlaying("draw")) {
animm.CrossFade("stand");
}
}
}

if(bullets == 0 && clips > bulletsInClip) {
Reload();
}

if(Input.GetKeyDown("r") && clips>=bulletsInClip && bullets<bulletsInClip) {
Reload();
}

if(gunType==0) {

if(Input.GetMouseButtonDown(0)) {
Fire();
}

}

if(gunType == 1) {

if(Input.GetMouseButton(0)) {
Fire();
}

}

if(Input.GetMouseButton(1)) {
Aim();
}

if(Input.GetMouseButtonUp(1)) {
ExitAim();
}
}

function Aim() {
var cz = mc-zoom;
var cz2 = wc-zoom;
mainCam.fieldOfView = cz;
weaponCam.fieldOfView = cz2;
transform.localPosition = aimPoint;
}

function ExitAim() {
mainCam.fieldOfView = mc;
weaponCam.fieldOfView = wc;
transform.localPosition = midPoint;
}

function Fire() {

if(bullets>0 && Time.time > saveTime && !animm.IsPlaying("reload") && !animm.IsPlaying("run")) {
audio.PlayOneShot(fire);
bullets--;

if(emptyShell && shellPoint) {
var gilza = Instantiate(emptyShell, shellPoint.position, shellPoint.rotation);
gilza.velocity = transform.TransformDirection(10,0,0);
}

if(bulletDirection == 0) {
var bul = Instantiate(bullet, bulletSpawn.position, bulletSpawn.rotation);
bul.velocity = transform.TransformDirection(bulletSpeed,0,0);
}

if(bulletDirection == 1) {
var bul2 = Instantiate(bullet, bulletSpawn.position, bulletSpawn.rotation);
bul2.velocity = transform.TransformDirection(0,bulletSpeed,0);
}

if(bulletDirection == 2) {
var bul3 = Instantiate(bullet, bulletSpawn.position, bulletSpawn.rotation);
bul3.velocity = transform.TransformDirection(0,0,bulletSpeed);
}

animm.Rewind("fire");
animm.CrossFade("fire");
saveTime = Time.time + delay;
muzzleFlash.enabled = true;
fireSmoke.enabled = true;
fireLight.enabled = true;
Invoke("ExitFire",0.1);
}
else
{
ExitFire();
}

}

function ExitFire() {
muzzleFlash.enabled = false;
fireSmoke.enabled = false;
fireLight.enabled = false;
}

function OnGUI() {
GUI.skin = guiStyle;
GUI.DrawTexture(new Rect(0,0,210,40),hud);
GUI.Label(new Rect(30,6,250,30)," " + gunName + " : " + bullets + " / " + clips);
}


Сообщение отредактировал ZedRot - Ср, 17 Окт 2012, 14:45
 
СообщениеВот что у меня получилось, но unity выдаёт оштбку.

Code
#pragma strict

enum GunTypes {
Pistol = 0,
Gun = 1

}

enum BulletDirection{
forX = 0,
forY = 1,
forZ = 2
}

var gunType : GunTypes;
var gunName : String;
var shellPoint : Transform;
var emptyShell : Rigidbody;
var delay : float = 0.5;
var bullets : int = 20;
var bulletsInClip : int = 20;
var clips : int = 120;
var muzzleFlash : Renderer;
var fireSmoke : ParticleRenderer;
var fireLight : Light;
var fireAnim : AnimationClip;
var reloadAnim : AnimationClip;
var reloadSound : AudioClip;
var runAnim : AnimationClip;
var walkAnim : AnimationClip;
var standAnim : AnimationClip;
var drawAnim : AnimationClip;
var drawSound : AudioClip;
var fire : AudioClip;
var guiStyle : GUISkin;
var hud : Texture;
var midPoint : Vector3;
var aimPoint : Vector3;
var mainCam : Camera;
var weaponCam : Camera;
var zoom : int;
var bullet : Rigidbody;
var bulletDirection : BulletDirection;
var bulletSpeed : float = 40;
var bulletSpawn : Transform;
@HideInInspector var playerGo : boolean;
@HideInInspector var playerRun : boolean;
private var mc : float;
private var wc : float;
private var saveTime : float = 0;

function Start() {
mc = mainCam.fieldOfView;
wc = weaponCam.fieldOfView;
animm.AddClip(walkAnim,"walk");
animm.AddClip(runAnim,"run");
animm.AddClip(standAnim,"stand");
animm.AddClip(fireAnim,"fire");
animm.AddClip(reloadAnim,"reload");
animm.AddClip(drawAnim, "draw");
UpWeapon();
}

function Reload() {
var animm : Animation;//gaussobject
animm.CrossFade("reload");
audio.PlayOneShot(reloadSound);
clips-=bulletsInClip;
bullets = bulletsInClip;
}

function UpWeapon() {
var animm : Animation;//gaussobject
animm.CrossFade("draw");
audio.PlayOneShot(drawSound);
}

function Update() {

if(Input.GetKey(KeyCode.W) || Input.GetKey(KeyCode.A) || Input.GetKey(KeyCode.S) || Input.GetKey(KeyCode.D) || Input.GetKey(KeyCode.UpArrow) || Input.GetKey(KeyCode.DownArrow) || Input.GetKey(KeyCode.LeftArrow) || Input.GetKey(KeyCode.RightArrow)) {
if(Input.GetKey(KeyCode.LeftShift)) {
playerRun = true;
playerGo = false;
}
else{
playerRun = false;
playerGo = true;
}
}
else{
playerRun = false;
playerGo = false;
}

if(playerRun) {
if(!animm.IsPlaying("draw")) {
animm.CrossFade("run");
}

}
else{
if(playerGo) {
if(!animm.IsPlaying("reload") && !animm.IsPlaying("fire") && !animm.IsPlaying("draw")) {
animm.CrossFade("walk");
}
}
else
{
if(!animm.IsPlaying("reload") && !animm.IsPlaying("fire") && !animm.IsPlaying("draw")) {
animm.CrossFade("stand");
}
}
}

if(bullets == 0 && clips > bulletsInClip) {
Reload();
}

if(Input.GetKeyDown("r") && clips>=bulletsInClip && bullets<bulletsInClip) {
Reload();
}

if(gunType==0) {

if(Input.GetMouseButtonDown(0)) {
Fire();
}

}

if(gunType == 1) {

if(Input.GetMouseButton(0)) {
Fire();
}

}

if(Input.GetMouseButton(1)) {
Aim();
}

if(Input.GetMouseButtonUp(1)) {
ExitAim();
}
}

function Aim() {
var cz = mc-zoom;
var cz2 = wc-zoom;
mainCam.fieldOfView = cz;
weaponCam.fieldOfView = cz2;
transform.localPosition = aimPoint;
}

function ExitAim() {
mainCam.fieldOfView = mc;
weaponCam.fieldOfView = wc;
transform.localPosition = midPoint;
}

function Fire() {

if(bullets>0 && Time.time > saveTime && !animm.IsPlaying("reload") && !animm.IsPlaying("run")) {
audio.PlayOneShot(fire);
bullets--;

if(emptyShell && shellPoint) {
var gilza = Instantiate(emptyShell, shellPoint.position, shellPoint.rotation);
gilza.velocity = transform.TransformDirection(10,0,0);
}

if(bulletDirection == 0) {
var bul = Instantiate(bullet, bulletSpawn.position, bulletSpawn.rotation);
bul.velocity = transform.TransformDirection(bulletSpeed,0,0);
}

if(bulletDirection == 1) {
var bul2 = Instantiate(bullet, bulletSpawn.position, bulletSpawn.rotation);
bul2.velocity = transform.TransformDirection(0,bulletSpeed,0);
}

if(bulletDirection == 2) {
var bul3 = Instantiate(bullet, bulletSpawn.position, bulletSpawn.rotation);
bul3.velocity = transform.TransformDirection(0,0,bulletSpeed);
}

animm.Rewind("fire");
animm.CrossFade("fire");
saveTime = Time.time + delay;
muzzleFlash.enabled = true;
fireSmoke.enabled = true;
fireLight.enabled = true;
Invoke("ExitFire",0.1);
}
else
{
ExitFire();
}

}

function ExitFire() {
muzzleFlash.enabled = false;
fireSmoke.enabled = false;
fireLight.enabled = false;
}

function OnGUI() {
GUI.skin = guiStyle;
GUI.DrawTexture(new Rect(0,0,210,40),hud);
GUI.Label(new Rect(30,6,250,30)," " + gunName + " : " + bullets + " / " + clips);
}

Автор - ZedRot
Дата добавления - 17 Окт 2012 в 14:44
HunjethДата: Ср, 17 Окт 2012, 17:20 | Сообщение # 16
 
Сообщений: 354
Награды: 1
Репутация: 112
Статус: Offline
и будет выдовать ошибку потому что у тебя таких анимаций нету типа run, walk
а еще в начале убери animm.AddClip (тк уже есть) уже писал
 
Сообщениеи будет выдовать ошибку потому что у тебя таких анимаций нету типа run, walk
а еще в начале убери animm.AddClip (тк уже есть) уже писал

Автор - Hunjeth
Дата добавления - 17 Окт 2012 в 17:20
ZedRotДата: Ср, 17 Окт 2012, 19:29 | Сообщение # 17
Нет аватара
 
Сообщений: 21
Награды: 0
Репутация: 2
Статус: Offline
А на счет знания языков програмирования вы правы, в js я особо ничего не понимаю. Только понимаю моменты чем то похожие на паскаль.

Добавлено (17.10.2012, 19:14)
---------------------------------------------
Это убрать???

Code
function Start() {  
  mc = mainCam.fieldOfView;  
  wc = weaponCam.fieldOfView;  
  animm.AddClip(walkAnim,"walk");  
  animm.AddClip(runAnim,"run");  
  animm.AddClip(standAnim,"stand");  
  animm.AddClip(fireAnim,"fire");  
  animm.AddClip(reloadAnim,"reload");  
  animm.AddClip(drawAnim, "draw");  
  UpWeapon();  
  }

Добавлено (17.10.2012, 19:28)
---------------------------------------------
Unity 3d пишет в консоли Unknown identifer: 'animm'.

Добавлено (17.10.2012, 19:29)
---------------------------------------------
MissingMethodException: Cannot find the requested method.
UnityEditor.AppStatusBar.OnGUI () (at C:/BuildAgent/work/d9c061b1c154f5ae/Editor/Mono/GUI/AppStatusBar.cs:117)

 
СообщениеА на счет знания языков програмирования вы правы, в js я особо ничего не понимаю. Только понимаю моменты чем то похожие на паскаль.

Добавлено (17.10.2012, 19:14)
---------------------------------------------
Это убрать???

Code
function Start() {  
  mc = mainCam.fieldOfView;  
  wc = weaponCam.fieldOfView;  
  animm.AddClip(walkAnim,"walk");  
  animm.AddClip(runAnim,"run");  
  animm.AddClip(standAnim,"stand");  
  animm.AddClip(fireAnim,"fire");  
  animm.AddClip(reloadAnim,"reload");  
  animm.AddClip(drawAnim, "draw");  
  UpWeapon();  
  }

Добавлено (17.10.2012, 19:28)
---------------------------------------------
Unity 3d пишет в консоли Unknown identifer: 'animm'.

Добавлено (17.10.2012, 19:29)
---------------------------------------------
MissingMethodException: Cannot find the requested method.
UnityEditor.AppStatusBar.OnGUI () (at C:/BuildAgent/work/d9c061b1c154f5ae/Editor/Mono/GUI/AppStatusBar.cs:117)


Автор - ZedRot
Дата добавления - 17 Окт 2012 в 19:29
HunjethДата: Ср, 17 Окт 2012, 20:04 | Сообщение # 18
 
Сообщений: 354
Награды: 1
Репутация: 112
Статус: Offline
я же написал animm.AddClip а не всю функцию
а ты знал что (var animm : Animation;) не надо пихать во все функции а только 1 раз написать? опять ошибки
https://docs.google.com/open?id=0B0aMXRZ2PWXZbFNRN0dHS21wYjg
убрав пробелы скрипт работать быстрей не будет только тебе будет трудней понять где что


Сообщение отредактировал Hunjeth - Ср, 17 Окт 2012, 20:39
 
Сообщениея же написал animm.AddClip а не всю функцию
а ты знал что (var animm : Animation;) не надо пихать во все функции а только 1 раз написать? опять ошибки
https://docs.google.com/open?id=0B0aMXRZ2PWXZbFNRN0dHS21wYjg
убрав пробелы скрипт работать быстрей не будет только тебе будет трудней понять где что

Автор - Hunjeth
Дата добавления - 17 Окт 2012 в 20:04
ZedRotДата: Пт, 02 Ноя 2012, 00:06 | Сообщение # 19
Нет аватара
 
Сообщений: 21
Награды: 0
Репутация: 2
Статус: Offline
Всё я разобрался. Огромное спасибо всем кто мне помог. Как доделаю, выложу этот небольшой проэкт.

Снова нужна помощь. Не могу отразить модель оружия в unity. И почему то при запуске сцены из за анимации оружие увеличивается в размерах. Помогите плз. ТУТ ПРОЭКТ
 
СообщениеВсё я разобрался. Огромное спасибо всем кто мне помог. Как доделаю, выложу этот небольшой проэкт.

Снова нужна помощь. Не могу отразить модель оружия в unity. И почему то при запуске сцены из за анимации оружие увеличивается в размерах. Помогите плз. ТУТ ПРОЭКТ

Автор - ZedRot
Дата добавления - 02 Ноя 2012 в 00:06
ЛевшаДата: Вт, 06 Ноя 2012, 19:18 | Сообщение # 20
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
Quote (ZedRot)
И почему то при запуске сцены из за анимации оружие увеличивается в размерах.

Чтоб не увеличивалось, в сцене скалинг ствола должен быть = 1.
А размеры подгонять надо в настройках импортера или в 3Д редакторе заранее.

Quote (ZedRot)
Не могу отразить модель оружия в unity

Экстрасенсы в отпуске...

По остальному - качать твой проект вряд ли кто будет... cool Чтоб получить правильные ответы, учись задавать правильные вопросы. smile


X.cor.R (Prologue)
 
Сообщение
Quote (ZedRot)
И почему то при запуске сцены из за анимации оружие увеличивается в размерах.

Чтоб не увеличивалось, в сцене скалинг ствола должен быть = 1.
А размеры подгонять надо в настройках импортера или в 3Д редакторе заранее.

Quote (ZedRot)
Не могу отразить модель оружия в unity

Экстрасенсы в отпуске...

По остальному - качать твой проект вряд ли кто будет... cool Чтоб получить правильные ответы, учись задавать правильные вопросы. smile

Автор - Левша
Дата добавления - 06 Ноя 2012 в 19:18
Форум Игроделов » UNITY3D » ОРУЖИЕ » Портирование оружий из различных шутеров в unity 3d (Что да как? Нужна помощь)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024