Вопрос-[ответ] по Unity
| |
QWER56 | Дата: Понедельник, 09 Августа 2010, 10:58 | Сообщение # 1 |
старожил
Сейчас нет на сайте
| Вопрос-[Ответ] по Unity3d
База скриптов Unity3d Курс Уроков по Unity 3D от Alcatraz
ConsMark - поисковик по интернет магазинам.
Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54 |
|
| |
[_RHYME_] | Дата: Воскресенье, 14 Апреля 2013, 21:25 | Сообщение # 3841 |
частый гость
Сейчас нет на сайте
| Ага, спасибо.
Люди не летают, один сказал, все повторили. Мы доказали обратное © Трейсеры
|
|
| |
vitamin | Дата: Воскресенье, 14 Апреля 2013, 23:01 | Сообщение # 3842 |
был не раз
Сейчас нет на сайте
| я нашёл и подделал под себя скрипт стрельбы. но объекты(пули) которые спауняться из дула пушки не исчезают и остаются лежать на терэйне. Как вставить в код "такой то объект" при контактом с коллайдером дестроится
Сообщение отредактировал vitamin - Воскресенье, 14 Апреля 2013, 23:01 |
|
| |
basist | Дата: Понедельник, 15 Апреля 2013, 06:05 | Сообщение # 3843 |
пациент Flight Dream Studio
Сейчас нет на сайте
| Цитата (vitamin) но объекты(пули) которые спауняться из дула пушки не исчезают и остаются лежать на терэйне. Как вставить в код "такой то объект" при контактом с коллайдером дестроится
добавь к пуле function OnCollisionEnter(collision : Collision) {
for (var contact : ContactPoint in collision.contacts) { Debug.DrawRay(contact.point, contact.normal); } if (collision.relativeVelocity.magnitude > 2) Destroy (gameObject); }
|
|
| | |
basist | Дата: Понедельник, 15 Апреля 2013, 18:10 | Сообщение # 3845 |
пациент Flight Dream Studio
Сейчас нет на сайте
| Fr0sT, В справке введи RotateTowards
|
|
| |
vitamin | Дата: Понедельник, 15 Апреля 2013, 22:51 | Сообщение # 3846 |
был не раз
Сейчас нет на сайте
| Цитата (basist) добавь к пуле function OnCollisionEnter(collision : Collision) {
for (var contact : ContactPoint in collision.contacts) { Debug.DrawRay(contact.point, contact.normal); }
if (collision.relativeVelocity.magnitude > 2) Destroy (gameObject); } это jS или C#?
|
|
| |
Knight1032 | Дата: Понедельник, 15 Апреля 2013, 22:59 | Сообщение # 3847 |
заслуженный участник
Сейчас нет на сайте
| Есть идея райкастить на материал и по полученной текстуре выводить нужный звук шагов(кирпичная текстура - звук ходьбы по кирпичам и тд.) И вот это работает: Код hit.collider.transform.renderer.material.GetTexture("_MainTex"); Но как поступить с террейном, как с него получать нужную текстуру? Кто знает?
Да, я программист, дизайнер, сценарист, Я сам себе издатель и сам себе игрок...
|
|
| |
basist | Дата: Понедельник, 15 Апреля 2013, 23:28 | Сообщение # 3848 |
пациент Flight Dream Studio
Сейчас нет на сайте
| vitamin, Джава Добавлено (15.04.2013, 23:22) --------------------------------------------- Knight1032, Может это? Тыц Добавлено (15.04.2013, 23:28) --------------------------------------------- Можно попробовать лучем определять текстуру, но возможно ли такое )))
|
|
| |
romgerman | Дата: Вторник, 16 Апреля 2013, 20:33 | Сообщение # 3849 |
старожил
Сейчас нет на сайте
| Вот смотрите. У меня луч получается таким вот образом - var ray = Camera.main.ScreenPointToRay(Input.mousePosition); Я пытаюсь сделать, чтобы, в позиции соприкосновения луча с коллайдером, появлялся объект: Код var pos = hit.collider.transform.position; Instantiate(fireSkillObj, pos, transform.rotation); У меня пол - это большой сплюснутый куб. И когда я нажимаю кнопку мыши, чтобы создался объект в позиции мыши (raycast hit), то объект создаётся исключительно в центре куба и ни метром левее/правее/ниже/выше от центра. Вот я не знаю, как сделать, чтобы объект появлялся в месте клика. Пробовал делать по позиции мыши Input.mousePosition.normalized.x/z, но получается тоже самое. Кто даст верный ответ - тому плюс (Выгодно же . +6/5 к репутации)Добавлено (16.04.2013, 20:33) --------------------------------------------- Извините, решение нашёл) Надо было просто создавать объект в позиции hit.point.
Сообщение отредактировал romgerman - Вторник, 16 Апреля 2013, 20:30 |
|
| |
basist | Дата: Вторник, 16 Апреля 2013, 20:42 | Сообщение # 3850 |
пациент Flight Dream Studio
Сейчас нет на сайте
| romgerman, Ну вот видишь, не так уж все и плохо)))
|
|
| |
Fr0sT | Дата: Среда, 17 Апреля 2013, 22:20 | Сообщение # 3851 |
постоянный участник
Сейчас нет на сайте
| Ребяяят if(Physics.Raycast(transform.position,-transform.up,out downRay)) { Quaternion fromToRotate = Quaternion.FromToRotation(Vector3.up,downRay.normal); transform.rotation = Quaternion.RotateTowards(transform.rotation,fromToRotate,2); } и значит проблема такая.В некоторых местах где стоит мой перс,на углах бывают такие моменты когда он дергается очень сильно,пытаясь наклониться в обе стороны.С этим чтото можно сделать кроме как скорость поворота понизить?Добавлено (17.04.2013, 22:20) --------------------------------------------- И ещё один вопрос который меня мучает.Можно какнибудь двигать перса с Character controlleroм учитывая его поворот?Я пробовал через transform.translate(0,0,0,space.self) но он тогда не замечает препятствия и насквозь всё проходит.А мне нужно двигать именно с учетом поворота.
|
|
| |
White9 | Дата: Среда, 17 Апреля 2013, 22:30 | Сообщение # 3852 |
заслуженный участник
Сейчас нет на сайте
| Fr0sT, transform.localEulerAngles = new Vector3(0, CurrentRotation, 0);
|
|
| | |
White9 | Дата: Среда, 17 Апреля 2013, 23:21 | Сообщение # 3854 |
заслуженный участник
Сейчас нет на сайте
| Fr0sT, не понял вопрос. Что именно тебе нужно? Приводи в движение charactercontroller стандартной командой, а той, что я скинул - поворачивай...
|
|
| |
Fr0sT | Дата: Пятница, 19 Апреля 2013, 12:54 | Сообщение # 3855 |
постоянный участник
Сейчас нет на сайте
| White9, Короче игра про соника.Он в петли вбегает и мне нужно чтобы он по этой петле бежал,я сделал чтобы он поворачивался и становился перпенликулярно поверхности на которой стоит и мне надо двигать его не по оси Х относительно мира,а учитывая его поворот,тоесть чтобы он бежал по петле,а не впирался в неё пытаясь дальше двигаться.Как я писал - я пробовал через transform.translate(0,0,0,space.self) но он тогда не замечает препятствия и насквозь всё проходит.А если через move то он не учитывает поворот объекта((( Добавлено (18.04.2013, 17:12) --------------------------------------------- Короче или сделать как в resident evil 1,2,3,чтобы я мог повернуть персонада в нужную сторону,нажать вперед и он бы двигался,но через controller.move Добавлено (19.04.2013, 12:54) --------------------------------------------- сделал moveDirection = transform.transformDirection(moveDirection); но на некоторых углах отказывается двигаться вверх,нужно чтоб двигался чуть его подвинуть.
|
|
| |
romgerman | Дата: Пятница, 19 Апреля 2013, 18:12 | Сообщение # 3856 |
старожил
Сейчас нет на сайте
| Я пытаюсь сделать сохранение в файл (TXT. Потому что с XML всё сложнее ). У меня такой код: Код import System.IO;
static var dataFileName : String = "gameSettings.txt"; static var dataFilePath : String;
function Start() { dataFilePath = Application.dataPath + dataFileName; }
function Update() { if(Input.GetKeyDown("r")) { ReadFile(); } }
static function WriteFile(lineToWrite) { var sw : StreamWriter = new StreamWriter(dataFilePath);
sw.WriteLine(lineToWrite); sw.Flush(); sw.Close(); }
function ReadFile() { var sr = new File.OpenText(dataFilePath);
var input = sr.ReadLine();
Debug.Log("data: "+input);
sr.Close(); } Всё нормально записывается и читается, НО выскакивает ошибка: Цитата ArgumentNullException: Argument cannot be null. Parameter name: path System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) (at /Applications/buildAgent/work/3df08680c6f85295/mcs/class/corlib/System.IO/FileStream.cs:205) System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share) (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare) System.IO.StreamWriter..ctor (System.String path, Boolean append, System.Text.Encoding encoding, Int32 bufferSize) (at /Applications/buildAgent/work/3df08680c6f85295/mcs/class/corlib/System.IO/StreamWriter.cs:124) System.IO.StreamWriter..ctor (System.String path) (wrapper remoting-invoke-with-check) System.IO.StreamWriter:.ctor (string) SaveLoad.WriteFile (System.Object lineToWrite) (at Assets/JS/SaveLoad.js:18) MainMenu.Start () (at Assets/JS/MainMenu.js:33) В скрипте MainMenu просто такой код для записи настроек в файл: Код SaveLoad.WriteFile('volume-'+volumeSlider+',resolution-'+resPnum+',fullscreen-'+fullscreen+',quality-'+qualitySlider); Подскажите, кто знает, как убрать эту ошибку и, вообще, из-за чего она выскакивает?
|
|
| |
seaman | Дата: Пятница, 19 Апреля 2013, 23:08 | Сообщение # 3857 |
старожил
Сейчас нет на сайте
| WriteFile - статик. Он может быть вызван до вызова Start. Следовательно он увидит значение dataFilePath по умолчанию, а не то что Вы ей когда-то там еще присвоите (может через час после запуска программы). Ну а оно - null. Следовательно вы пытаетесь записать файл в путь == null
|
|
| |
Knight1032 | Дата: Суббота, 20 Апреля 2013, 12:54 | Сообщение # 3858 |
заслуженный участник
Сейчас нет на сайте
| 1)Как можно експортнуть террейн как текстуру? 2)Если, никак - то как сделать высококачественные снимки в большом разрешении террейна с видом сверху?
Да, я программист, дизайнер, сценарист, Я сам себе издатель и сам себе игрок...
|
|
| |
basist | Дата: Суббота, 20 Апреля 2013, 13:13 | Сообщение # 3859 |
пациент Flight Dream Studio
Сейчас нет на сайте
| Knight1032, Как вариант. Делать частями и соединять в Ф.Ш.
|
|
| |
romgerman | Дата: Суббота, 20 Апреля 2013, 16:44 | Сообщение # 3860 |
старожил
Сейчас нет на сайте
| seaman, спасибо Заработало.. Можете ещё подсказать, как в файле найти определённый символ. Ну, я хотел сделать такую систему: 1. Читается строка var input = ReadLine(); 2. В этой строке ищется какой-либо символ (в моём случае - число). Это число/символ ищется после слова, например, "volume-" и до запятой..
|
|
| |
|