Пятница, 27 Декабря 2024, 10:44

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос-[ответ] по Unity
QWER56Дата: Понедельник, 09 Августа 2010, 10:58 | Сообщение # 1
старожил
Сейчас нет на сайте
Вопрос-[Ответ] по Unity3d

  • База скриптов Unity3d
  • Курс Уроков по Unity 3D от Alcatraz

    ConsMark - поисковик по интернет магазинам.

    Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54
  • realmadДата: Воскресенье, 07 Сентября 2014, 14:33 | Сообщение # 6501
    был не раз
    Сейчас нет на сайте
    Цитата MANMANA ()
    1) в UnderwaterEffects.js в строке 23 замени gameObject на GameObject. Второй вариант записать эту строку так "if(water) waterLevel = water.gameObject.transform.position.y;" 2) Shader error in 'FX/Island Water Simple': 'tex2Dproj': no matching 2 parameter intrinsic function; Possible intrinsic functions are: tex2Dproj(sampler2D, float4|half4|min10flo удали все из шейдера и запусти игру. Проект был написан под 2.0, а ты его запускаешь на 4. воды не будет (розовым будет вода отображаться), но запускаться проект будет. Если хочешь воду - найди другой шейдер для воды и скопируй из него все в файл шейдера. Но связывать с существующими материалами придется ручками. 3) если вылезет ошибка про UnityEditor, то закомментируй строку, на которую ссылается консоль (там две или три подобных ошибки). 13-ая "//UnityEditor.TerrainLightmapper.UpdateTreeLightmapColor(tex, Terrain.activeTerrain.terrainData);" 31-ая "// UnityEditor.TerrainLightmapper.UpdateTreeColor(tex, Terrain.activeTerrain.terrainData);" Специально поставил, пофиксил костылями. У меня заработало. А английский правильно посоветовали учить.


    Спасибо огромное smile

    Добавлено (07.09.2014, 14:33)
    ---------------------------------------------

    Цитата MANMANA ()
    Специально поставил, пофиксил костылями. У меня заработало.


    А у меня после ввода комментария в 13 и в 31 строке возникают такие ошибки:

    Assets/Editor/UpdateTreeColors.js(13,113): BCE0034: Expressions in statements must only be executed for their side-effects.

    Assets/Editor/UpdateTreeColors.js(31,105): BCE0034: Expressions in statements must only be executed for their side-effects.

    помогите плиз)
    MANMANAДата: Воскресенье, 07 Сентября 2014, 17:35 | Сообщение # 6502
    почти ветеран
    Сейчас нет на сайте
    Если ты целиком строку закомментируешь, как у тебя консоль может выдавать в этой строке какую-то ошибку?
    Непонятно...
    ты эти строки закомментировал ?
    UnityEditor.TerrainLightmapper.UpdateTreeLightmapColor(tex, Terrain.activeTerrain.terrainData);
    UnityEditor.TerrainLightmapper.UpdateTreeColor(tex, Terrain.activeTerrain.terrainData);
    т.е. поставил перед ними //, сохранил и запустил проект?


    http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
    VKонтакте 3Dbuffer

    Последнее:

    Новый раздел "Текстуры"

    Как запатентовать, защитить техническое решение, игру, идею
    realmadДата: Воскресенье, 07 Сентября 2014, 18:55 | Сообщение # 6503
    был не раз
    Сейчас нет на сайте
    MANMANA спасибо тебе огромное за ответы)

    Цитата MANMANA ()
    Если ты целиком строку закомментируешь, как у тебя консоль может выдавать в этой строке какую-то ошибку? Непонятно... ты эти строки закомментировал ? UnityEditor.TerrainLightmapper.UpdateTreeLightmapColor(tex, Terrain.activeTerrain.terrainData); UnityEditor.TerrainLightmapper.UpdateTreeColor(tex, Terrain.activeTerrain.terrainData); т.е. поставил перед ними //, сохранил и запустил проект?


    Нажал билд и ран он компилируется, а при простом билд он все равно выдает ошибку Assets/Editor/UpdateTreeColors.js(13,17): BCE0031: Language feature not implemented: UnityEditor.

    в коде указанно так

    UnityEditor.TerrainLightmapper.UpdateTreeLightmapColor(tex, Terrain.activeTerrain.terrainData); //"UnityEditor.TerrainLightmapper.UpdateTreeLightmapColor(tex, Terrain.activeTerrain.terrainData)";

    и

    UnityEditor.TerrainLightmapper.UpdateTreeColor(tex, Terrain.activeTerrain.terrainData); //"UnityEditor.TerrainLightmapper.UpdateTreeColor(tex, Terrain.activeTerrain.terrainData)";

    при запуска екзешника не работает управление почему-то?
    MANMANAДата: Воскресенье, 07 Сентября 2014, 20:37 | Сообщение # 6504
    почти ветеран
    Сейчас нет на сайте
    Это, конечно, не ответ, но у меня все скомпилилось и работает.
    Цитата realmad ()
    в коде указанно так

    UnityEditor.TerrainLightmapper.UpdateTreeLightmapColor(tex, Terrain.activeTerrain.terrainData); //"UnityEditor.TerrainLightmapper.UpdateTreeLightmapColor(tex, Terrain.activeTerrain.terrainData)";

    а должно быть //UnityEditor.TerrainLightmapper.UpdateTreeLightmapColor(tex, Terrain.activeTerrain.terrainData);
    Цитата realmad ()
    и

    UnityEditor.TerrainLightmapper.UpdateTreeColor(tex, Terrain.activeTerrain.terrainData); //"UnityEditor.TerrainLightmapper.UpdateTreeColor(tex, Terrain.activeTerrain.terrainData)";

    а должно быть //UnityEditor.TerrainLightmapper.UpdateTreeColor(tex, Terrain.activeTerrain.terrainData);

    Зачем ты добавлял закомментированные строки...

    если поставишь перед своими проблемными строками //, то на редактор ругаться не будет

    вот подправленные скрипты с теми костылями, про которые я писал

    КСТАТИ, кто-то искал в прошлом месяце скриптик УБЕГАЮЩИХ ОТ ИГРОКА ВРАГОВ, так в ассете, про который идет речь, хороший такой ПРИМЕР убегающей цапли (или кто оно там такое)


    http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
    VKонтакте 3Dbuffer

    Последнее:

    Новый раздел "Текстуры"

    Как запатентовать, защитить техническое решение, игру, идею


    Сообщение отредактировал MANMANA - Понедельник, 08 Сентября 2014, 18:47
    allodsДата: Вторник, 09 Сентября 2014, 11:06 | Сообщение # 6505
    почти ветеран
    Сейчас нет на сайте
    Как заставить одну камеру рендерится поверх первой? Возможно ли ?
    На первой у меня вся сцена, на второй некоторые 3д объекты, вот они рендерятся за всем тем что есть на первой.
    RangerДата: Вторник, 09 Сентября 2014, 12:23 | Сообщение # 6506
    почти ветеран
    Сейчас нет на сайте
    Цитата allods ()
    Как заставить одну камеру рендерится поверх первой? Возможно ли ?

    doc
    параметр Depth

    Добавлено (09.09.2014, 12:23)
    ---------------------------------------------
    Цитата morglodddd ()
    Рендерить в текстуру чудики

    только в "про".

    Цитата MANMANA ()
    Есть какие-то решения на Unity ответах, что-то про GUITexture...

    Решение:
    Код

       void Start () {

        Rect cameraRect = new Rect(10,10,20,20);
        interface1Camera = GameObject.Find("Interface1Camera").camera;
        interface1Camera.camera.pixelRect = cameraRect;
        interface1Camera.camera.enabled = false;
    }

       void OnGUI(){

        if(Event.current.type == EventType.Repaint)
        {   
         interface1Camera.Render();
        }
    }




    Сообщение отредактировал Ranger - Вторник, 09 Сентября 2014, 12:24
    DantorSДата: Суббота, 13 Сентября 2014, 23:19 | Сообщение # 6507
    заслуженный участник
    Сейчас нет на сайте
    Как реализовать такое на unity? Т.е. циклическая картинка. B ещё со скайбоксом.

    Добавлено (13.09.2014, 10:19)
    ---------------------------------------------
    Или так можно делать только с векторной графикой?

    Добавлено (13.09.2014, 10:25)
    ---------------------------------------------
    Ведь skybox, как минимум на половину это бесшовная тексура. И что нужно? Писать шейдер? Или как-то процедурно можно сделать? ( т.к. скайбокс бесшовен как правило только с 1-2 сторон)

    Добавлено (13.09.2014, 23:19)
    ---------------------------------------------
    up

    GantZ_YakaДата: Воскресенье, 14 Сентября 2014, 14:16 | Сообщение # 6508
    почетный гость
    Сейчас нет на сайте
    крутишь цилиндр/сферу с текстурой облаков...
    бесшовной текстуру сделать просто - открыть в фотошопе, разделить пополам, правую половину переместить влево, левую - вправо, слить в один слой, шов посередине - замазать.
    DantorSДата: Воскресенье, 14 Сентября 2014, 15:49 | Сообщение # 6509
    заслуженный участник
    Сейчас нет на сайте
    GantZ_Yaka, да со сферой понятно и так было. Но как реализовать такое со скайбоксом? Как я уже писал, в скайбоксе как правило только 1-2 стороны (-x, -y и т.п.) являются бесшовными. Если у меня система смены дня/ночи ( текстура одного скайбокса блендится с текстурой другого), мне нужно определять какие стороны являются бесшовными и для каждой текстуры скайбокса писать свой шейдер? И снова повторяю: или можно сделать как-нибудь всё процедурно?
    GeorgeThreeD2Дата: Воскресенье, 14 Сентября 2014, 17:04 | Сообщение # 6510
    частый гость
    Сейчас нет на сайте
    DantorS,
    Цитата
    (-x, -y и т.п.)
    - прочитал, поржал)))
    А по делу, не юзай скайбокс, это для нубов. Пишешь скриптик для инверта нормалек(или делаешь в максе сферу с инвертнутыми нормалями) и анлит материалом накладываешь на сферу текстуру неба. Делаешь вторую такую сферу со слоем с облаками и т.д. Каждую сферу можешь вращать как хочешь, изменять прозрачность и т.д. и т.п.
    DantorSДата: Воскресенье, 14 Сентября 2014, 18:56 | Сообщение # 6511
    заслуженный участник
    Сейчас нет на сайте
    GeorgeThreeD2, я думал об этом. Но я встал на этом вопросе когда пытался найти текстуру облаков. Где их вообще искать? Гугл неприкольные текстурки выдаёт. Или рисовать надо? Но так получится как-то неестественно. Поэтому решил перенестись к скайбоксу.
    GeorgeThreeD2Дата: Воскресенье, 14 Сентября 2014, 23:36 | Сообщение # 6512
    частый гость
    Сейчас нет на сайте
    DantorS, Хочешь естественно и уникально, но сам ничего не умеешь - обратись к специалисту, коих в сети великое множество. За небольшую плату тебе сделают офигенное небо=) Все просто. Мое решение я написал исходя из личного опыта, т.е. то, что делал сам для своих проектов.
    DantorSДата: Понедельник, 15 Сентября 2014, 01:44 | Сообщение # 6513
    заслуженный участник
    Сейчас нет на сайте
    Т.е. такая задача не для меня. Мне нужно либо запрячь какого-нибудь крутого 2д артера чтоб он нарисовал мега реалистичные облака, либо запрячь какого-нибудь спеца по шейдерам чтоб он захреначил такую анимацию со скайбоксом. Я правильно понял?
    MANMANAДата: Понедельник, 15 Сентября 2014, 11:29 | Сообщение # 6514
    почти ветеран
    Сейчас нет на сайте
    Извини, не могу посмотреть сам Ассет, нет сейчас Unity под рукой, а вот этот не подойдет?
    Simple Cloud System by RM
    или
    Sky FX Pack

    Если с Blender знаком - Blender Skybox Generator


    http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
    VKонтакте 3Dbuffer

    Последнее:

    Новый раздел "Текстуры"

    Как запатентовать, защитить техническое решение, игру, идею
    DantorSДата: Понедельник, 15 Сентября 2014, 15:53 | Сообщение # 6515
    заслуженный участник
    Сейчас нет на сайте
    MANMANA, крутяк, спасибо.
    allodsДата: Понедельник, 15 Сентября 2014, 22:24 | Сообщение # 6516
    почти ветеран
    Сейчас нет на сайте
    Цитата DantorS ()
    мега реалистичные облака

    Обычные кисти для фотошопа в виде облаков их дофига, и если разрабатываем игру в соло фотошоп как и 3д редактор просто обязательно знать
    berilДата: Вторник, 16 Сентября 2014, 20:37 | Сообщение # 6517
    Я не ленивый, я — энергосберегающий
    Сейчас нет на сайте
    Помогите ребята советом !!!
    В общем у меня есть мобы на них висит CharacterController с помощьбю него они двигаются. Что бы работал метод OnControllerColliderHit(), мне пришлось вешать на каждого моба еще и по коллайдеру. Вопрос как сильно влияет кол-во коллайдеров на производительность?. Мне что то подсказывает, что в принципе не влияет, но все же...




    Накодил? Убери за собой!
    Инвентарь в Unity(UI)
    Инвентарь в Unity(GUI)
    MANMANAДата: Вторник, 16 Сентября 2014, 21:21 | Сообщение # 6518
    почти ветеран
    Сейчас нет на сайте
    с rigitbody - грустно будет. коллайдеры = меш-коллайдеры совсем грустно. обычные бокс-коллайдеры не шибко снижают производительность. по сути, как обычный "if" с несколькими вложенными друг в друга "if" в коде.

    http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг
    VKонтакте 3Dbuffer

    Последнее:

    Новый раздел "Текстуры"

    Как запатентовать, защитить техническое решение, игру, идею
    berilДата: Вторник, 16 Сентября 2014, 23:18 | Сообщение # 6519
    Я не ленивый, я — энергосберегающий
    Сейчас нет на сайте
    Возник еще один вопрос.
    Я смотрел новые видео уроки и там юнитиевци используют NavMeshAgent. И там около 50-60 юнитов одновременно используют его. Я так понимаю они переделали NavMesh и теперь его можно спокойно юзать в большом количестве ))?




    Накодил? Убери за собой!
    Инвентарь в Unity(UI)
    Инвентарь в Unity(GUI)


    Сообщение отредактировал beril - Вторник, 16 Сентября 2014, 23:26
    TapokДата: Среда, 17 Сентября 2014, 19:31 | Сообщение # 6520
    был не раз
    Сейчас нет на сайте
    Поскольку мой предыдущий аккаунт не хотят разбанить , то я буду писать с этого (да простят меня админы.).
    В общем , пытался сделать жалкое подобие прицела из World of Tanks.
    Добился только этого.
    Код
    using UnityEngine;
    using System.Collections;

    public class Cross : MonoBehaviour {
    public RaycastHit Hit;
    Vector3 HitPoint;
    public Texture2D CrossTexture;
    public Transform StartPoint;
    public GUISkin Skin;
    // Use this for initialization
    void Start () {
       
    }
    // Update is called once per frame
    void Update () {
    Vector3 Point =StartPoint.TransformDirection (Vector3.forward);  
    if (Physics.Raycast (StartPoint.position, Point, out Hit, 5000)) {
    HitPoint = Camera.main.WorldToScreenPoint(Hit.point);
    }
    if(GameObject.FindWithTag("BulletSpawnPoint")){
    StartPoint=GameObject.FindGameObjectWithTag("BulletSpawnPoint").transform;
    StartPoint=GameObject.Find("BulletSpawnPoint").transform;
    }  
    }
    void OnGUI(){
    GUI.skin = Skin;
    Rect CrossRect = new Rect ();
    CrossRect.x = Screen.width-HitPoint.x-2.5f/5000;
    CrossRect.y = Screen.height-HitPoint.y-2.5f/5000;
    CrossRect.width = 200;
    CrossRect.height = 200;
    //GUI.DrawTexture (CrossRect, CrossTexture);
    GUI.Label(CrossRect,"+");
    }
    }

    В чем вопрос , как сделать этот самый крестик двигаться медленней , плавней и самое главное точнее , т.е снаряд летит чуть выше крестика.


    :D
    Поиск:

    Все права сохранены. GcUp.ru © 2008-2024 Рейтинг