forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Общие вопросы (http://forum.boolean.name/forumdisplay.php?f=166)
-   -   Вопросы от новичка (http://forum.boolean.name/showthread.php?t=15809)

Morganolla 16.05.2013 21:09

Ответ: Вопросы от новичка
 
Как записать сохранение в файл и считать из файла? Есть ли какие то классы в Юнити? Или использовать чисто С#?

seaman 16.05.2013 21:49

Ответ: Вопросы от новичка
 
Вода - это не плоскость, если речь идет о физике. Ищем Buoyancy типа:
http://unity3d.ru/distribution/viewt...hp?f=13&t=3214

pax 16.05.2013 21:57

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от Morganolla (Сообщение 259440)
Как записать сохранение в файл и считать из файла? Есть ли какие то классы в Юнити? Или использовать чисто С#?

Стандартными средствами из пространства имен System.IO
http://msdn.microsoft.com/ru-ru/library/system.io.aspx

WISHMASTER35 19.05.2013 14:38

Ответ: Вопросы от новичка
 
Для чего это?
#region Unity Singleton Pattern
#endregion Unity Singleton Pattern
#region helper classes

pax 19.05.2013 14:40

Ответ: Вопросы от новичка
 
Это для структуризации кода, чтобы этот участок сворачивался в редакторе и имел описание

cahekp 20.05.2013 23:26

Ответ: Вопросы от новичка
 
День добрый.
Захотелось тут попробовать использовать вместо Tangent Space Normal Mapping (нормал-маппинг, который используется по умолчанию) Object Space Normal Mapping. Понравилось, как с помощью него можно сглаживать острые углы. Обычным картам нормалей такое и не снилось!
Вот, кстати, пример: http://freesdk.crydev.net/display/SD...Normal+Mapping
Обратите внимание на самые нижние картинки. Потрясающе.

Так вот, как перейти от Tangent Space к Object Space'у в Surface шейдерах? Казалось бы, ничего сложного не должно быть.. А вот фиг-то там. Всё никак решение придумать не могу.

pax 21.05.2013 00:44

Ответ: Вопросы от новичка
 
А есть с чем поиграть (меш с такой нормалмэпой)? Так то с первого взгляда на картинки надо пересчитать тангенты и бинормали просто. Сделать их одинаковыми для каждой вершины...

cahekp 21.05.2013 08:37

Ответ: Вопросы от новичка
 
Да, есть. Хорошо видно на примере простого куба.
Модель лежит тут: http://rghost.ru/46146782
Архив содержит сам куб с UV-разверткой, Object Space Normal текстуру, и две картинки с примером того, как это должно всё в итоге выглядеть.

pax 21.05.2013 10:20

Ответ: Вопросы от новичка
 
Ну с наскоку полностью решить не удалось, освещение считает не правильно, точнее не правильно считает нормали видимо (со стороны источника света куб становится темным)



Все что сделал, заменил макрос в UnityCG.cginc и сделал копию стандартного шейдера бампед диффуз.

был
PHP код:

// Declares 3x3 matrix 'rotation', filled with tangent space basis
#define TANGENT_SPACE_ROTATION \
    
float3 binormal crossv.normalv.tangent.xyz ) * v.tangent.w; \
    
float3x3 rotation float3x3v.tangent.xyzbinormalv.normal 

стал
PHP код:

// Declares 3x3 matrix 'rotation', filled with tangent space basis
#define TANGENT_SPACE_ROTATION \
    
float3x3 rotation UNITY_MATRIX_MVP

Не знаю, повлияет ли это при билде на стандартные шейдеры... дальше играться нету времени :pardon:

cahekp 21.05.2013 12:00

Ответ: Вопросы от новичка
 
Интересно.. Мне и в голову не пришло менять сам UnityCG.cginc. Класс. )

Только..
1) Попробовал сделать копию UnityCG.cginc и назвал ее UnityCG_OSN.cginc. В ней заменил float3x3 rotation.
2) Создал новый шейдер. Запомнил то, что на экране.
3) После этого в новом шейдере написал #include "UnityCG_OSN.cginc" вместо стандартного #include "UnityCG.cginc". Ничего не изменилось.
4) На всякий случай попробовал написать #include "UnityCG_OSN2.cginc". Вышла ошибка. Это хорошо.
5) Вернул #include на "UnityCG_OSN.cginc". Вместо float3x3 rotation = UNITY_MATRIX_MVP; написал float3x3 rotation = UNITY_MATRIX_MVP2;
Запустил. Никакой ошибки. Перезагрузил Юнити. Снова ничего. Как будто так и надо. Картинка при этом как не изменялась, так и не изменилась.

Что это за фишка-то такая? )

pax 21.05.2013 12:06

Ответ: Вопросы от новичка
 
Меняй UnityCG.cginc, его Unity использует для макросов шейдеров. Свой только для своей части кода можно использовать.

RegIon 21.05.2013 20:31

Ответ: Вопросы от новичка
 
можно вернуть силу с которой толкают Rigidbody из самого ригидбоди? (тебя толкают, ты говоришь с какой силой)

pax 21.05.2013 21:19

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от RegIon (Сообщение 259744)
можно вернуть силу с которой толкают Rigidbody из самого ригидбоди? (тебя толкают, ты говоришь с какой силой)

Скорее всего нельзя...

WISHMASTER35 25.05.2013 01:49

Ответ: Вопросы от новичка
 
Есть такой массив
object[] a = new object[10];
Как так получается, что в него можно положить любые объекты от байта до большой структуры или ссылку на класс? Ведь у них разные размеры?
Сколько памяти занимает такой массив?

pax 25.05.2013 09:25

Ответ: Вопросы от новичка
 
Сам массив это массив ссылок на объекты, а не массив самих объектов. Поэтому его размер вероятно 10*4 байтов + размер хранимых объектов.


Часовой пояс GMT +4, время: 19:03.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot