Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Unity

Unity Мультиплатформенный инструмент для разработки игр

Ответ
 
Опции темы
Старый 12.03.2011, 15:12   #361
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Фак по Юнити.

Можно, но эффект будет не таким хорошим. Попробуй написать сам а с одной текстурой можно использовать альфаканал.
Shader "Diffuse - Alpha Mask" {
    
Properties {
        
_Color ("Color"Color) = (1,1,1,1
        
_MainTex ("Base (RGB)"2D) = "black" {}
     }
    
SubShader {
        
Tags "RenderType"="Opaque" }
        
LOD 200
        
        CGPROGRAM
        
#pragma surface surf Lambert

        
sampler2D _MainTex;
         
float4 _Color;

        
struct Input {
            
float2 uv_MainTex;
        };

        
void surf (Input INinout SurfaceOutput o) {
            
half4 c tex2D (_MainTexIN.uv_MainTex);
            
float m c.a;
            
o.Albedo =  (1-m)*c.rgb m*_Color.rgb;
        }
        
ENDCG
    

    
FallBack "Diffuse"

Проблема с заменой цвета в том, что точно цвет пиксела не определить на границах из-за сглаживания, если только отключить сглаживание текстуры.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Evgen (12.03.2011)
Старый 12.03.2011, 15:53   #362
Evgen
Разработчик
 
Аватар для Evgen
 
Регистрация: 12.01.2011
Адрес: Moscow
Сообщений: 419
Написано 68 полезных сообщений
(для 100 пользователей)
Ответ: Фак по Юнити.

Еще раз спасибо.

Сообщение от pax Посмотреть сообщение
Попробуй написать сам а с одной текстурой можно использовать альфаканал.
Да уже и так все хорошо работает

И тот и другой метод работает. Но вы правы, с маской пожалуй все-таки лучше.

Собственно результат:
Миниатюры
Нажмите на изображение для увеличения
Название: работает.jpg
Просмотров: 806
Размер:	32.5 Кб
ID:	12945  
(Offline)
 
Ответить с цитированием
Старый 13.03.2011, 13:12   #363
Andvrok
Бывалый
 
Регистрация: 26.07.2009
Сообщений: 785
Написано 362 полезных сообщений
(для 995 пользователей)
Ответ: Фак по Юнити.

Как привязать префабу дочерний префаб, как сделано, например, в FirstPersonController?
(Offline)
 
Ответить с цитированием
Старый 13.03.2011, 13:19   #364
Reks888
Дэвелопер
 
Аватар для Reks888
 
Регистрация: 04.11.2009
Адрес: Украина, Днепропетровск
Сообщений: 1,480
Написано 662 полезных сообщений
(для 1,985 пользователей)
Ответ: Фак по Юнити.

Перетащить мышкой один на другой?
__________________
>type C:\MyProj\*
www.sypiac.weebly.com
>
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Nuprahtor (13.03.2011)
Старый 13.03.2011, 13:19   #365
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Фак по Юнити.

FirstPersonController - это один префаб
(Offline)
 
Ответить с цитированием
Старый 13.03.2011, 13:19   #366
Nuprahtor
Элита
 
Аватар для Nuprahtor
 
Регистрация: 26.07.2008
Сообщений: 1,972
Написано 1,095 полезных сообщений
(для 3,923 пользователей)
Ответ: Фак по Юнити.

Дочерний префаб? Как это? Имеется ввиду иерархия объектов (один префаб состоит из множества объетов)?
(Offline)
 
Ответить с цитированием
Старый 13.03.2011, 13:20   #367
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Фак по Юнити.

как мы одновременно ))
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Nuprahtor (13.03.2011)
Старый 13.03.2011, 13:25   #368
Andvrok
Бывалый
 
Регистрация: 26.07.2009
Сообщений: 785
Написано 362 полезных сообщений
(для 995 пользователей)
Ответ: Фак по Юнити.

Похоже, мы друг друга не поняли)
Вот префаб FirstPersonController состоит одновременно из самого себя, компонента Graphics и камеры Main Camera, но если попробовать добавить камеру любому другому префабу, то спрашивается, заменить ли один префаб на другой(
(Offline)
 
Ответить с цитированием
Старый 13.03.2011, 13:27   #369
Nuprahtor
Элита
 
Аватар для Nuprahtor
 
Регистрация: 26.07.2008
Сообщений: 1,972
Написано 1,095 полезных сообщений
(для 3,923 пользователей)
Ответ: Фак по Юнити.

Если камеру добавлять в списке префабов, а не в инспекторе, все будет ОК
(Offline)
 
Ответить с цитированием
Старый 13.03.2011, 13:30   #370
Andvrok
Бывалый
 
Регистрация: 26.07.2009
Сообщений: 785
Написано 362 полезных сообщений
(для 995 пользователей)
Ответ: Фак по Юнити.

Сообщение от Nuprahtor Посмотреть сообщение
Если камеру добавлять в списке префабов, а не в инспекторе, все будет ОК
Эм, а это как?
(Offline)
 
Ответить с цитированием
Старый 13.03.2011, 13:38   #371
Nuprahtor
Элита
 
Аватар для Nuprahtor
 
Регистрация: 26.07.2008
Сообщений: 1,972
Написано 1,095 полезных сообщений
(для 3,923 пользователей)
Ответ: Фак по Юнити.

Перепутал окно иерархии с инспектором
В общем, создаешь два объекта - obj1 и obj2. В окне Hierarchy перетягиваешь obj1 на obj2, получится структура.
В окне Project жмешь правой кнопкой - Create Prefab. Перетягиваешь иерархию объектов obj1-obj2 на префаб, теперь созданный префаб является этой иерархией
В Project указав префаб, ты можешь добавлять к нему компоненты, и эти компоненты добавятся ко всем объектам в Hirerarchy.
Это базовые основы работы с префабами
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Andvrok (13.03.2011)
Старый 13.03.2011, 13:45   #372
Andvrok
Бывалый
 
Регистрация: 26.07.2009
Сообщений: 785
Написано 362 полезных сообщений
(для 995 пользователей)
Ответ: Фак по Юнити.

И как я не додумался до такого элементарного
А я как дурак тягал с иерархии понесколько объектов на префаб и огорчался, что "кубик то серый", про структуру вообще из головы вылетело
(Offline)
 
Ответить с цитированием
Старый 18.03.2011, 21:22   #373
Evgen
Разработчик
 
Аватар для Evgen
 
Регистрация: 12.01.2011
Адрес: Moscow
Сообщений: 419
Написано 68 полезных сообщений
(для 100 пользователей)
Ответ: Фак по Юнити.

To PAX не подкините пример как сделать так, чтобы на террайне оставались следы от гуссениц.
(Offline)
 
Ответить с цитированием
Старый 18.03.2011, 23:44   #374
asdon
AnyKey`щик
 
Регистрация: 18.03.2011
Сообщений: 1
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Фак по Юнити.

Как сделать, чтобы шарик катался на стрелочках?
(Offline)
 
Ответить с цитированием
Старый 19.03.2011, 00:27   #375
Evgen
Разработчик
 
Аватар для Evgen
 
Регистрация: 12.01.2011
Адрес: Moscow
Сообщений: 419
Написано 68 полезных сообщений
(для 100 пользователей)
Ответ: Фак по Юнити.

Пардон, уже что-то нашел, наверное этого хватит:
http://www.decane.net/external/gener...munity_1.1.zip

Что-то вроде этого:
using UnityEngine;
using System.Collections;

public class 
Tracks MonoBehaviour {
    
    public 
Mesh mesh;
    public 
int maxtracks=500;
    public 
Vector3[] newVertices;
    public 
Vector2[] newUV;
    public 
int[] newTriangles;
    
    
void Start() {
        
newVertices=new Vector3[maxtracks*4];
        
newUV=new Vector2[maxtracks*4];
        
newTriangles=new int[maxtracks*2*3];
        for(
int i=0;i<maxtracks*4;i+=4){
            
float x=Random.Range(30,60);
            
float y=Random.Range(30,60);
            
newVertices[i]=new Vector3(x,8,y);
            
newVertices[i+1]=new Vector3(x+1,8,y);
            
newVertices[i+2]=new Vector3(x,8,y+1);
            
newVertices[i+3]=new Vector3(x+1,8,y+1);
        }    
        for(
int i=0;i<maxtracks*4;i+=4){
            
newUV[i]=new Vector2(0,0);
            
newUV[i+1]=new Vector2(1,0);
            
newUV[i+2]=new Vector2(0,1);
            
newUV[i+3]=new Vector2(1,1);
        }    
        for(
int i=0;i<maxtracks;i++){
            
newTriangles[i*6]=i*4;
            
newTriangles[i*6+1]=i*4+2;
            
newTriangles[i*6+2]=i*4+1;
            
newTriangles[i*6+3]=i*4+3;
            
newTriangles[i*6+4]=i*4+1;
            
newTriangles[i*6+5]=i*4+2;            
        }    
        
mesh = new Mesh();
        
GetComponent<MeshFilter>().mesh mesh;
        
mesh.Clear();
        
mesh.vertices newVertices;
        
mesh.uv newUV;
        
mesh.triangles newTriangles;
    }
    
    
void Update() {

    }    


Последний раз редактировалось Evgen, 19.03.2011 в 01:42.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com