Вопрос-[ответ] по Unity
|
|
QWER56 | Дата: Понедельник, 09 Августа 2010, 10:58 | Сообщение # 1 |
старожил
Сейчас нет на сайте
| Вопрос-[Ответ] по Unity3d
База скриптов Unity3d Курс Уроков по Unity 3D от Alcatraz
ConsMark - поисковик по интернет магазинам.
Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54 |
|
| |
Nekit_Aut | Дата: Пятница, 20 Апреля 2012, 23:40 | Сообщение # 1941 |
The Dizziness - Man
Сейчас нет на сайте
| Quote (Knight1032) Как реализовать движение предмета к игроку(js)? Можно установить ротацию (LookAt например) объекта на игрока и прибавлять позицию. Например: Code var thisObject : Transform; var Player : GameObject; var speed : float;
function Start(){ thisObject = transform; Player = GameObject.FindGameObjectWithTag("Player"); // Или Player = GameObject.Find("Player"); }
function Update(){ var pos : Vector3 = Player.transform.position; pos.y = transform.position.y; transform.LookAt(pos); transform.position += thisObject.forward * speed * Time.deltaTime; } В общем как то так...
Сообщение отредактировал Nekit_Aut - Пятница, 20 Апреля 2012, 23:41 |
|
| |
FroSTDS | Дата: Суббота, 21 Апреля 2012, 09:38 | Сообщение # 1942 |
почетный гость
Сейчас нет на сайте
| Есть ли такой урок по Unity, в котором описан весь процесс создания... игры? Например: создание простого шутера от первого лица, полное описание как все сделать, что настроить, какие писать скрипты и т.п.?
|
|
| |
dima9595 | Дата: Суббота, 21 Апреля 2012, 10:32 | Сообщение # 1943 |
почти ветеран
Сейчас нет на сайте
| FroSTDS, посмотри здесб клац
|
|
| |
JSent | Дата: Суббота, 21 Апреля 2012, 17:53 | Сообщение # 1944 |
постоянный участник
Сейчас нет на сайте
| А есть способы создать 2д уровень? Я понимаю, что можно настроить камеру перпендикуляроно плоскости и в этой плоскости размещать спрайты. Но это не джентльменски. Можно ли в Юнити сразу создать 2д уровень?
Программист — человек, больной тяжёлой формой поражения коры головного мозга — интеллектом, который выражается в маниакально-деструктивном стремлении писать непонятные и бессмысленные наборы символов и словосочетаний.
|
|
| |
Левша | Дата: Воскресенье, 22 Апреля 2012, 03:25 | Сообщение # 1945 |
почти ветеран
Сейчас нет на сайте
| Quote (JSent) Можно ли в Юнити сразу создать 2д уровень? Разве что на ГУИ, но не думаю что это хорошее решение...
X.cor.R (Prologue)
|
|
| |
MyACT | Дата: Воскресенье, 22 Апреля 2012, 06:22 | Сообщение # 1946 |
C# CODERS
Сейчас нет на сайте
| JSent, можно,есть полно фишек для упрощения создания 2d. Поищи.
3дэшечки: https://sketchfab.com/myactyindie Курентли воркс он: https://myacty.itch.io/raskopnik
|
|
| |
Самоделкин | Дата: Воскресенье, 22 Апреля 2012, 07:20 | Сообщение # 1947 |
участник
Сейчас нет на сайте
| Хочу сделать панель интерфейса справа при помощи объекта plane (без Ngui, просто пробую). Разместил объект, сделал его дочерним к main camera. 1) Когда верчу камерой источники света в сцене действуют и на панель тоже (освещают ее). Как сделать чтоб она выглядела всегда одинаково? 2) Хочу опробовать некоторые функции, например "панель уезжает в сторону". Мне необходимо прописать в скрипте панели направление движения с учетом позиции и угла камеры (она свободно перемещается) и пересчитывать это, или для дочернего объекта можно использовать какие-то относительные координаты сразу. То есть просто указать "сдвинуться вправо на ширину панели" и панель сама поймет что двигаться надо в плоскости перпендикулярной камере, а не в мировых координатах. Что-то типа примера в сообщении # 1941 этого топика, наверно. (Надеюсь понятно описал))
Сообщение отредактировал Самоделкин - Воскресенье, 22 Апреля 2012, 07:53 |
|
| |
Левша | Дата: Понедельник, 23 Апреля 2012, 09:47 | Сообщение # 1948 |
почти ветеран
Сейчас нет на сайте
| Quote (Самоделкин) Как сделать чтоб она выглядела всегда одинаково? Помести ее в слой, который игнорит ИС. Можно еще шейдеры повесить не реагирующие на свет.
Quote (Самоделкин) какие-то относительные координаты transform.localPosition перемещает относительно родителя.
X.cor.R (Prologue)
Сообщение отредактировал Левша - Понедельник, 23 Апреля 2012, 09:49 |
|
| |
pixeye | Дата: Понедельник, 23 Апреля 2012, 10:05 | Сообщение # 1949 |
Red Winter Software
Сейчас нет на сайте
| Quote (JSent) А есть способы создать 2д уровень? Я понимаю, что можно настроить камеру перпендикуляроно плоскости и в этой плоскости размещать спрайты. Но это не джентльменски. Можно ли в Юнити сразу создать 2д уровень?
А как по джентльменски? Ну ты просто мне скажи, а то я видимо уже 5 раз не джентльмен.
ACTORS - мой фреймворк на Unity Until We Die - игра над которой работаю
|
|
| |
White9 | Дата: Понедельник, 23 Апреля 2012, 14:30 | Сообщение # 1950 |
заслуженный участник
Сейчас нет на сайте
| У меня два небольших вопроса 1) Как получить координаты клика мыши по земле? 2) Что надо сделать с текстурой, чтобы на неё можно было рендерить изображение с камеры? Заранее спасибо )
|
|
| |
seaman | Дата: Понедельник, 23 Апреля 2012, 15:22 | Сообщение # 1951 |
старожил
Сейчас нет на сайте
| 1. Получаем луч из камеры через точку на экране в которую кликнули и получаем точку столкновения с чем то (необязательно с землей). Проверяем земля ли это. Code Vector3 hit = Vector3.zero; if (Input.GetButtonDown("Fire1")) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit rhit; if (Physics.Raycast(ray, rhit)) { if(rhit.collider.tag == "Terrain") hit = rhit.point; } } 2. Для начала - нужна ПРО. Затем создаем RenderTexture
|
|
| |
White9 | Дата: Понедельник, 23 Апреля 2012, 15:49 | Сообщение # 1952 |
заслуженный участник
Сейчас нет на сайте
| seaman, спасибо, но почему-то не работает... Вот как я это записал Code using UnityEngine; using System.Collections;
public class Moveunit : MonoBehaviour { void Update () { Vector3 hit = Vector3.zero; if (Input.GetButtonDown("Fire1")) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit rhit; if (Physics.Raycast(ray, rhit)) { if(rhit.collider.tag == "Terrain") hit = rhit.point; } } } } А вот выдаваемые ошибки: 1)Assets/Scripts/Moveunit.cs(13,43): error CS0165: Use of unassigned local variable `rhit' 2)Assets/Scripts/Moveunit.cs(13,30): error CS1502: The best overloaded method match for `UnityEngine.Physics.Raycast(UnityEngine.Ray, out UnityEngine.RaycastHit)' has some invalid arguments 3)Assets/Scripts/Moveunit.cs(13,30): error CS1620: Argument `#2' is missing `out' modifier
Причём если этот же код записать в js, то и в этом случае выдаёт ошибки, но уже другого рода.
|
|
| |
pixeye | Дата: Понедельник, 23 Апреля 2012, 16:11 | Сообщение # 1953 |
Red Winter Software
Сейчас нет на сайте
| Quote (White9) Причём если этот же код записать в js, то и в этом случае выдаёт ошибки, но уже другого рода.
поразительно учитывая что этот код от C#
Quote (White9) 1)Assets/Scripts/Moveunit.cs(13,43): error CS0165: Use of unassigned local variable `rhit' 2)Assets/Scripts/Moveunit.cs(13,30): error CS1502: The best overloaded method match for `UnityEngine.Physics.Raycast(UnityEngine.Ray, out UnityEngine.RaycastHit)' has some invalid arguments 3)Assets/Scripts/Moveunit.cs(13,30): error CS1620: Argument `#2' is missing `out' modifier
чтобы "это" заработало или хотя бы не выдавало ошибок писать надо так.
if (Physics.Raycast(ray, rhit))
это заменить на
if (Physics.Raycast(ray,out rhit, Mathf.Infinity))
ACTORS - мой фреймворк на Unity Until We Die - игра над которой работаю
Сообщение отредактировал pixeye - Понедельник, 23 Апреля 2012, 16:12 |
|
| |
White9 | Дата: Понедельник, 23 Апреля 2012, 16:51 | Сообщение # 1954 |
заслуженный участник
Сейчас нет на сайте
| Quote (pixeye) поразительно учитывая что этот код от C# Я на всякий случай проверил. Разумеется, перед этим немного его подредактировав )
Quote (pixeye) это заменить на if (Physics.Raycast(ray,out rhit, Mathf.Infinity)) Большое спасибо, теперь ошибок не выдаёт и всё прекрасно работает =)
|
|
| |
ReSeR | Дата: Понедельник, 23 Апреля 2012, 21:57 | Сообщение # 1955 |
постоянный участник
Сейчас нет на сайте
| Люди вопросик. Как округлить переменную float тоесь у меня значение 30.12345 как сделать просто 30
FastRoad[PC][Android](Забыто) COSMO 3D[PC][Android](Забыто) SnowBall[PC][Android](Замороженно)
|
|
| |
Nekit_Aut | Дата: Понедельник, 23 Апреля 2012, 22:00 | Сообщение # 1956 |
The Dizziness - Man
Сейчас нет на сайте
| Quote (ReSeR) Люди вопросик. Как округлить переменную float тоесь у меня значение 30.12345 как сделать просто 30 Хмм... В каком смысле округлить. Точнее где? В скрипте или где ещё?
|
|
| |
ReSeR | Дата: Понедельник, 23 Апреля 2012, 22:04 | Сообщение # 1957 |
постоянный участник
Сейчас нет на сайте
| Да Вскрипте) есть перемненная public float speed; В Апдейте у меня идёт нарастание значения этой переменной до 30. Но становится не ровно 30 а 30.12312....
FastRoad[PC][Android](Забыто) COSMO 3D[PC][Android](Забыто) SnowBall[PC][Android](Замороженно)
|
|
| |
Nekit_Aut | Дата: Понедельник, 23 Апреля 2012, 22:06 | Сообщение # 1958 |
The Dizziness - Man
Сейчас нет на сайте
| ReSeR, Так сделай условие! Code if(speed >= 30){ speed = 30; }
|
|
| |
pixeye | Дата: Понедельник, 23 Апреля 2012, 22:16 | Сообщение # 1959 |
Red Winter Software
Сейчас нет на сайте
| Quote (ReSeR) В Апдейте у меня идёт нарастание значения этой переменной до 30. Но становится не ровно 30 а 30.12312....
Mathf.Round(speed);
ACTORS - мой фреймворк на Unity Until We Die - игра над которой работаю
|
|
| |
SnakeR | Дата: Понедельник, 23 Апреля 2012, 22:22 | Сообщение # 1960 |
постоянный участник
Сейчас нет на сайте
| Люди, юзайте справку, елки палки =) 90% ответов на ваши вопросы находятся там =)
Unity3D Developer Ваш лучший помощник при разработке в Unity3D
|
|
| |