forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Unity (http://forum.boolean.name/forumdisplay.php?f=144)
-   -   Фак по Юнити. (http://forum.boolean.name/showthread.php?t=12966)

Andvrok 10.10.2011 20:34

Ответ: Фак по Юнити.
 
Цитата:

Сообщение от pax (Сообщение 205280)
Если будут партиклы, то объект стоит отрисовать после них. Это можно установить в шейдере указав очередь прорисовки через тег Queue
http://unity3d.com/support/documenta...haderTags.html

Спасибо, но можно в таком случае разжевать для чайников? Не сталкивался с шейдерами до этого момента, поэтому даже не знаю в какую сторону смотреть, какой шейдер редактировать...

pax 10.10.2011 21:16

Ответ: Фак по Юнити.
 
Скачиваешь шейдеры http://unity3d.com/support/resources...ilt-in-shaders
выбираешь нужный, добавляешь/изменяешь тег на "Queue" = "Transparent+1", это значит, что объект будет отрисован в очереди после прозрачных объектов (частицы вроде как-раз к ним относятся).

Andvrok 10.10.2011 21:27

Ответ: Фак по Юнити.
 
Так этот шейдер вроде как будет применятся не только к нужному мне объекту, или я чего-то не понимаю?

pax 10.10.2011 21:29

Ответ: Фак по Юнити.
 
Ты смени ему имя в заголовке шейдера - и это будет уникальный шейдер

Andvrok 11.10.2011 09:10

Ответ: Фак по Юнити.
 
Еще один ламерский вопрос:
Вот взял я стандартный Diffuse:
Код:

Shader "RandomShader" {
Properties {
        _Color ("Main Color", Color) = (1,1,1,1)
        _MainTex ("Base (RGB)", 2D) = "white" {}
}
SubShader {
        Tags { "RenderType"="Opaque" }
        LOD 200

CGPROGRAM
#pragma surface surf Lambert

sampler2D _MainTex;
fixed4 _Color;

struct Input {
        float2 uv_MainTex;
};

void surf (Input IN, inout SurfaceOutput o) {
        fixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;
        o.Albedo = c.rgb;
        o.Alpha = c.a;
}
ENDCG
}

Fallback "VertexLit"
}

И куда мне здесь воткнуть Fog {Mode = Off}?
Пробовал гуглить, ничего не вышло

pax 11.10.2011 09:12

Ответ: Фак по Юнити.
 
Примерно сюда:
PHP код:

Shader "RandomShader" {
Properties {
    
_Color ("Main Color"Color) = (1,1,1,1)
    
_MainTex ("Base (RGB)"2D) = "white" {}
}
SubShader {
    
Tags "RenderType"="Opaque" }
    
Fog {Mode Off}
    
LOD 200

CGPROGRAM
#pragma surface surf Lambert

sampler2D _MainTex;
fixed4 _Color;

struct Input {
    
float2 uv_MainTex;
};

void surf (Input INinout SurfaceOutput o) {
    
fixed4 c tex2D(_MainTexIN.uv_MainTex) * _Color;
    
o.Albedo c.rgb;
    
o.Alpha c.a;
}
ENDCG
}

Fallback "VertexLit"


если посмотреть шейдер Font, то найдешь там много других тегов, кроме Fog

Andvrok 11.10.2011 09:16

Ответ: Фак по Юнити.
 

Если бы не пробовал, не писал бы, что не получилось

pax 11.10.2011 09:19

Ответ: Фак по Юнити.
 
Я походу ошибся, а вы справку не читаете )
В общем там равно не нужно )

Вся информация про туман тут: http://unity3d.com/support/documenta...ts/SL-Fog.html

Andvrok 11.10.2011 09:22

Ответ: Фак по Юнити.
 
Все работает, все замечательно. А в справку я полез, но если бы я там что-то почерпнул, я бы не обращался с помощью.

Lowlet 03.11.2011 20:13

Ответ: Фак по Юнити.
 
Никак не могу понять принцип наследования классов.Разъясните пожалуйста

pax 03.11.2011 20:40

Ответ: Фак по Юнити.
 
В Unity или в C#?

Lowlet 03.11.2011 20:57

Ответ: Фак по Юнити.
 
Желательно конечно в Unity...

pax 03.11.2011 21:22

Ответ: Фак по Юнити.
 
Относительно Unity все просто:
1. Основное наследование идет от UnityEngine.Object (рассматриваем иерархию классов в справке http://unity3d.com/support/documenta...hierarchy.html ) Этот объект дает основным объектом игрового мира (текстуры, модели, скрипты, материалы, шейдеры, компоненты) возможность иметь имя, возможность быть выгруженными из памяти (Destroy), а так же возможность поиска игровых объектов по типу.
2. От него наследуются все объекты, которые в той или иной степени являются ресурсами. Как я уже писал - это материалы, модели, шейдеры, текстуры, скрипты, компоненты и т.д.
3. От него же наследуется в конечном итоге и класс MonoBehaviour, который является основой скриптов в Unity. Он содержит основные методы для работы с компонентами объекта, на который устанавливается скрипт, получает от игрового движка сообщения, которые можно обрабатывать. Информацию о сообщениях можно получить здесь: http://unity3d.com/support/documenta...Behaviour.html
На js наследование скрипта от MonoBehaviour выполняется не явно, т.к. класс генерируется по имени файла. В C# наследование выполнено явно и по умолчанию при создании скрипта создается класс - наследник MonoBehaviour
PHP код:

using UnityEngine;

public class 
MyClassMonoBehaviour 
{



4. Наследование в справке отображает раздел Inherited members для каждого класса. Открыв описание класса MonoBehaviour так же можно посмотреть, какие возможности он получил от классов, наследником которых он является.
5. Еще один основной класс, который так же унаследован в от UnityEngine.Object - является GameObject, это второй основной объект Unity, который является основной составляющей сцены. Он может иметь компоненты и скрипты. Скрипты могут работать с GameObject через свойство this.gameObject

Lowlet 03.11.2011 23:19

Ответ: Фак по Юнити.
 
PAX,спасибо за ответ.Еще вопрос:есть скрипт c названием proba_2
PHP код:

public var info String;
public var 
value String;

function 
OnGUI ()
{
   var 
plr gameObject.Find("Player");
   var 
inv plr.GetComponent(proba_1);
   
   if (
GUI.Button(Rect(0,0,100,100),"Запилить"))
   {
      
inv.Add(info,value);
   }


a также с названием proba_1 :
PHP код:

var arr String[];

class 
MyClass
{
var 
info String;
var 
value String;
}

function 
Add(info Stringvalue String)
{
   var 
= new MyClass ();
   
i.info info;
   
i.value value;
   
Add(i);
}

function 
Add (MyClass)
{
   for( var 
0arr.length++ )
   {
      
Add(k.info,k.value);
   }


Пытаюсь переменные из первого скрипта добавить в массив во втором,но не выходит.Подскажите пожалуйста,что делаю не так?

pax 03.11.2011 23:25

Ответ: Фак по Юнити.
 
Эм... что-то странно это дело выглядит и я на js не программирую.
Странно потому что в обоих функция Add вызывается так же функция Add - перекрестная рекурсия получается... Unity не падает?


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

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