Показать сообщение отдельно
Старый 27.05.2012, 21:04   #16
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Ищу шейдер

В щейдер дописываешь (в CGPROGRAM)

float4x4 _MainTexMatrix
Матрицу устанавливаешь кодом

material.SetMatrix("_MainTexMatrix"matrix); 
В вершинном шейдере рассчитываешь uv
void vert (inout appdata_full vout Input o
{
   
v.texcoord mul(_MainTexMatrixv.texcoord);

Я для своей задачи считал матрицу вот так
private Matrix4x4 BuildTextureTransformMatrix()
    {
        
float ang Mathf.Clamp(angle0360);

         
Matrix4x4 rot Matrix4x4.TRS(Vector3.zeroQuaternion.Euler(00ang), Vector3.one);
        
Matrix4x4 pos Matrix4x4.TRS(new Vector3(offset.xoffset.y), Quaternion.identityVector3.one);
        
Matrix4x4 scale Matrix4x4.Scale(new Vector3(tile.xtile.y));

        
Matrix4x4 mat pos scale rot;

        return 
mat;
    } 
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Amatsu (27.05.2012)