Вопрос-[ответ] по Unity
|
|
QWER56 | Дата: Понедельник, 09 Августа 2010, 10:58 | Сообщение # 1 |
старожил
Сейчас нет на сайте
| Вопрос-[Ответ] по Unity3d
База скриптов Unity3d Курс Уроков по Unity 3D от Alcatraz
ConsMark - поисковик по интернет магазинам.
Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54 |
|
| |
castielblack | Дата: Пятница, 07 Февраля 2014, 18:17 | Сообщение # 5561 |
почетный гость
Сейчас нет на сайте
| Террейн в помощь
Знания : C#, Lua, C++, Unity, Dreemchest, DirectX 11 Выпущенные проекты : BuildAndRun, Match 3 Cubes
|
|
| |
Adom | Дата: Пятница, 07 Февраля 2014, 19:01 | Сообщение # 5562 |
Печенька!
Сейчас нет на сайте
| Он как-раз таки не подходит т.к у меня мир генерируется причем рельеф разный и скопировать его не могу будь все так просто я не писал бы. Вот еще вопрос я сделал примитивный урон от падения но вышла проблема в том что когда я прыгаю и приземлюсь то у меня отнимаются хп не зависимо с какой высоты я упал вот скрипт поможете исправить ? Код using UnityEngine; using System.Collections; using System.Collections.Generic;
public class FallDamage : MonoBehaviour { RaycastHit uHit; CharacterController uCharControler; public float uHealth = 100.0f; public float fallDamageCoef = 5.0f; float lastVelocity = 0.0f; float velocityLimit = -15.0f; private bool uGUIEnable = false; public AudioClip [] Hit; void fDEBUG (){ GUI.Label (new Rect (1, 1, 100, 100), "Health: " + uHealth); }
void fGroundet () { //Функция расчета урона от падения if (uCharControler.isGrounded) { if (lastVelocity < velocityLimit) { float damage = -lastVelocity * fallDamageCoef; Damage(damage); lastVelocity = 0.0f; }; } else lastVelocity = uCharControler.velocity.y; } float lastShot=0; int i = 1;
void Damage(float damage) { uHealth -= damage; GameObject.FindWithTag("Player").GetComponent<XP>().CurHealth -=damage; audio.PlayOneShot(Hit[Random.Range(0,Hit.Length)]); }
Vector2 VC = Vector2.zero;
void DrawGUI() { GUI.EndScrollView(); }
void OnGUI () { #region DrawLabel Ray uCastRay = new Ray (Camera.mainCamera.transform.TransformPoint (0, 0, 0.5f), Camera.mainCamera.transform.TransformDirection (new Vector3 (0, 0, 5))); #endregion DrawLabel
fDEBUG (); if(uGUIEnable == true)DrawGUI(); }
void Start () { uCharControler = (CharacterController)GetComponent ("CharacterController"); }
void Update () { fGroundet (); } }
|
|
| |
Ranger | Дата: Суббота, 08 Февраля 2014, 21:30 | Сообщение # 5563 |
почти ветеран
Сейчас нет на сайте
| Цитата Adom ( ) поможете исправить Исправить не поможем, но копать в эту сторону:
========================= Collision.relativeVelocity Vector3 relativeVelocity; Description The relative linear velocity of the two colliding objects (Read Only). ============================= простыми словам при коллизии с землей смотри relativeVelocity. исходя из нее отнимай хп
|
|
| |
Adom | Дата: Воскресенье, 09 Февраля 2014, 13:32 | Сообщение # 5564 |
Печенька!
Сейчас нет на сайте
| Все таки решился делать рандомное оружие так-вот появилась проблема вот скрипт. Код using UnityEngine; using System.Collections;
public class RandomWeapon : MonoBehaviour { public Transform a; public Transform b; public Transform c; public Transform d; public Vector3 a1; public Vector3 b1; public Vector3 c1; public Vector3 d1; // Use this for initialization void Start () { } // Update is called once per frame void Update () { a.transform.position = a1; b.transform.position = b1; c.transform.position = c1; d.transform.position = d1; } }
Так вот он будет помещать части оружии в нужных местах но это работает только если все эти объекты на сцене а мне нужно что-бы они появлялись как сделать появление этих частей по ссылаясь на это public Vector3 a1; я хотел сделать через Instantiate но не знаю как помогите. Добавлено (09.02.2014, 13:26) --------------------------------------------- Хотя все уже решил. Добавлено (09.02.2014, 13:32) --------------------------------------------- Есть еще один вопрос есть строка Код public Transform [] A; И там лежат 4 объекта как сделать что-бы из этих 4 объектов один рандомно создавался на сцене ?
|
|
| |
МаоДзедун | Дата: Воскресенье, 09 Февраля 2014, 17:30 | Сообщение # 5565 |
почетный гость
Сейчас нет на сайте
| Люди расскажите пожайлуста что обозначают следующие функции Код Vector3.Normolize Vector3.magnitude Vector3.sqrMagnitude Vector3.Slerp Буду очень благодарен, поскольку сам не могу разобраться
Знакомая попросила переустановить Windows, взял дистрибутив Ubuntu Интеллигенция — самая необразованная часть общества.©Мао Дзэдун Кто не побывал на Великой китайской стене, тот не может считаться китайцем.©Мао Дзэдун
|
|
| |
NEBR | Дата: Воскресенье, 09 Февраля 2014, 18:35 | Сообщение # 5566 |
почти ветеран
Сейчас нет на сайте
| МаоДзедун, почитай уроки "Математика в Unity3d" от ПогКсерта, там все это есть, доступно описано
King Size #Gamiron12
|
|
| |
JustYork | Дата: Воскресенье, 09 Февраля 2014, 18:56 | Сообщение # 5567 |
уже был
Сейчас нет на сайте
| Всем привет. Что надо сделать, чтобы не проваливаться в лифт? Лифт стоит на анимации.
|
|
| |
NEBR | Дата: Воскресенье, 09 Февраля 2014, 19:40 | Сообщение # 5568 |
почти ветеран
Сейчас нет на сайте
| JustYork, на лифт повесь бокс коллайдер если это куб. Или меш коллайдер если это модель лифта
King Size #Gamiron12
|
|
| |
Adom | Дата: Воскресенье, 09 Февраля 2014, 19:42 | Сообщение # 5569 |
Печенька!
Сейчас нет на сайте
| NEBR, Поможешь ? Код public Transform [] A;
И там лежат 4 объекта как сделать что-бы из этих 4 объектов один рандомно создавался на сцене ?
|
|
| |
JustYork | Дата: Воскресенье, 09 Февраля 2014, 21:00 | Сообщение # 5570 |
уже был
Сейчас нет на сайте
| NEBR, в том и дело что есть, даже 2 Добавлено (09.02.2014, 21:00) --------------------------------------------- Не знаю нормально это или нет, я повесил еще один колайдер и все стало норм. и фигня видать была из за того что слишком близко к стене был
|
|
| |
allods | Дата: Воскресенье, 09 Февраля 2014, 23:43 | Сообщение # 5571 |
почти ветеран
Сейчас нет на сайте
| Цитата Adom ( ) public Transform [] A; Тут у тебя 4 префаба?
ObjRandom=Instantiate(A[Random.Range(0,4)],transform.position,transform.rotation);
|
|
| |
castielblack | Дата: Воскресенье, 09 Февраля 2014, 23:51 | Сообщение # 5572 |
почетный гость
Сейчас нет на сайте
| Цитата allods ( ) Цитата Adom () Код public Transform [] A; Тут у тебя 4 префаба? ObjRandom=Instantiate(A[Random.Range(0,4)],transform.position,transform.rotation); Не важно ObjRandom=Instantiate(A[Random.Range(0,A.Length)],transform.position,transform.rotation);
Знания : C#, Lua, C++, Unity, Dreemchest, DirectX 11 Выпущенные проекты : BuildAndRun, Match 3 Cubes
|
|
| |
squakoon | Дата: Вторник, 11 Февраля 2014, 19:23 | Сообщение # 5573 |
был не раз
Сейчас нет на сайте
| кто-нибудь знает, можно ли в юнити реализовать поддержку нескольких мониторов так, чтобы на каждом мониторе была картинка с определенной камеры?
|
|
| |
Ahmad | Дата: Вторник, 11 Февраля 2014, 21:34 | Сообщение # 5574 |
частый гость
Сейчас нет на сайте
| Посмотрите код пожалуйста.Не пойму в чем дело( Код #pragma strict var ranDom: int;
function Start () {
}
function Update () { if(Input.GetButtonDown("Fire1")) { ranDom = Random.Range(0.6 , 100.0); Debug.Log(ranDom); } } У меня выдает ошибку Код Assets/Project files/Scripts/Random.js(11,14): BCE0019: 'Range' is not a member of 'Random'. Что делать?Почему?
|
|
| |
NEBR | Дата: Вторник, 11 Февраля 2014, 22:29 | Сообщение # 5575 |
почти ветеран
Сейчас нет на сайте
| Ahmad, рандом сделай целыми числами, у тебя переменная ranDom - интовая. А в функции рандома - числа с плавающей точкой
King Size #Gamiron12
|
|
| |
Ranger | Дата: Среда, 12 Февраля 2014, 05:41 | Сообщение # 5576 |
почти ветеран
Сейчас нет на сайте
| Цитата Ahmad ( ) ranDom = Random.Range(0.6 , 100.0); букафку "f" в аргументы добавь.. Random.Range(0.6f , 100f)
Сообщение отредактировал Ranger - Среда, 12 Февраля 2014, 05:53 |
|
| |
error111 | Дата: Среда, 12 Февраля 2014, 07:16 | Сообщение # 5577 |
заслуженный участник
Сейчас нет на сайте
| Цитата Ranger ( ) букафку "f" в аргументы добавь.. Random.Range(0.6f , 100f)
Нафига? Этоже джаваСкрипт, а не шарп.
[Shmup/RPG] Fantasy Shmup!
|
|
| |
seaman | Дата: Среда, 12 Февраля 2014, 08:35 | Сообщение # 5578 |
старожил
Сейчас нет на сайте
| Цитата 'Range' is not a member of 'Random'. Не спец в JS, но имхо нужно явно указать, что требуется использовать Юнитивский рендом. Что-то типа: Код ranDom = UnityEngine.Random.Range(0.6 , 100.0); Для C# это 100% нужно делать.
Сообщение отредактировал seaman - Среда, 12 Февраля 2014, 08:36 |
|
| |
LennyOs | Дата: Среда, 12 Февраля 2014, 11:17 | Сообщение # 5579 |
был не раз
Сейчас нет на сайте
| Здравствуйте, такая проблема. В своей игре я сделал меню, компилирую в exe файл и запускаю, все кнопки работают, но когда нажимаю new game игра зависает. А если я ее нажимаю в самом unity, то все работает и уровень загружается. Что делать?! Меню и уровень разные сцены.
|
|
| |
NEBR | Дата: Среда, 12 Февраля 2014, 11:50 | Сообщение # 5580 |
почти ветеран
Сейчас нет на сайте
| Цитата LennyOs ( ) Здравствуйте, такая проблема. В своей игре я сделал меню, компилирую в exe файл и запускаю, все кнопки работают, но когда нажимаю new game игра зависает. А если я ее нажимаю в самом unity, то все работает и уровень загружается. Что делать?! Меню и уровень разные сцены. может в bildSetting не добавил все сцены? Хотя в редакторе она тогда тоже не должна запускатся по идее... Надо тебе пересмотреть код второй сцены, в Awake и Start возможно накосячил... Вторая сцена сильно нагружена в плане ресурсов?
King Size #Gamiron12
|
|
| |