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)

RegIon 10.05.2013 19:26

Ответ: Вопросы от новичка
 
Тут проблемка(с конкурса): http://forum.boolean.name/showpost.p...2&postcount=14

RegIon 11.05.2013 18:41

Ответ: Вопросы от новичка
 
Неожиданно
Это(SimpleWater+Alpha)

PHP код:

Shader "FX/Water (simple)" {
Properties {
    
_horizonColor ("Horizon color"COLOR)  = ( .172 .463 .435 0)
    
_WaveScale ("Wave scale"Range (0.02,0.15)) = .07
    _ColorControl 
("Reflective color (RGB) fresnel (A) "2D) = "" { }
    
_ColorControlCube ("Reflective color cube (RGB) fresnel (A) "Cube) = "" TexGen CubeReflect }
    
_BumpMap ("Waves Normalmap "2D) = "" { }
    
WaveSpeed ("Wave speed (map1 x,y; map2 x,y)"Vector) = (19,9,-16,-7)
    
_MainTex ("Fallback texture"2D) = "" { }
}

CGINCLUDE
// -----------------------------------------------------------
// This section is included in all program sections below

#include "UnityCG.cginc"

uniform float4 _horizonColor;

uniform float4 WaveSpeed;
uniform float _WaveScale;
uniform float4 _WaveOffset;

struct appdata {
    
float4 vertex POSITION;
    
float3 normal NORMAL;
};

struct v2f {
    
float4 pos SV_POSITION;
    
float2 bumpuv[2] : TEXCOORD0;
    
float3 viewDir TEXCOORD2;
};

v2f vert(appdata v)
{
    
v2f o;
    
float4 s;

    
o.pos mul (UNITY_MATRIX_MVPv.vertex);

    
// scroll bump waves
    
float4 temp;
    
temp.xyzw v.vertex.xzxz _WaveScale unity_Scale._WaveOffset;
    
o.bumpuv[0] = temp.xy float2(.4.45);
    
o.bumpuv[1] = temp.wz;

    
// object space view direction
    
o.viewDir.xzy normalizeObjSpaceViewDir(v.vertex) );

    return 
o;
}

ENDCG
    
// -----------------------------------------------------------
// Fragment program

Subshader {
    
Tags "Queue"="Transparent" "RenderType"="Transparent" }
    
Blend SrcAlpha OneMinusSrcAlpha
    ColorMask RGB 
    Pass 
{
//Blend SrcAlpha OneMinusSrcAlpha
//ColorMask RGB 
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma fragmentoption ARB_precision_hint_fastest 
//#pragma surface surf Lambert alpha

sampler2D _BumpMap;
sampler2D _ColorControl;

half4 fragv2f i ) : COLOR
{
    
half3 bump1 UnpackNormal(tex2D_BumpMapi.bumpuv[0] )).rgb;
    
half3 bump2 UnpackNormal(tex2D_BumpMapi.bumpuv[1] )).rgb;
    
half3 bump = (bump1 bump2) * 0.5;
    
    
half fresnel doti.viewDirbump );
    
half4 water tex2D_ColorControlfloat2(fresnel,fresnel) );
    
    
half4 col;
    
col.rgb lerpwater.rgb_horizonColor.rgbwater.)*_horizonColor.a;
    
col._horizonColor.a;
    return 
col;
}
ENDCG
    
}
}

// -----------------------------------------------------------
//  Old cards

// three texture, cubemaps
Subshader {
    
Tags "RenderType"="Opaque" }
    
Pass {
        
Color (0.5,0.5,0.5,0.5)
        
SetTexture [_MainTex] {
            
Matrix [_WaveMatrix]
            
combine texture primary
        
}
        
SetTexture [_MainTex] {
            
Matrix [_WaveMatrix2]
            
combine texture primary previous
        
}
        
SetTexture [_ColorControlCube] {
            
combine texture +- previousprimary
            Matrix 
[_Reflection]
        }
    }
}

// dual texture, cubemaps
Subshader {
    
Tags "RenderType"="Opaque" }
    
Pass {
        
Color (0.5,0.5,0.5,0.5)
        
SetTexture [_MainTex] {
            
Matrix [_WaveMatrix]
            
combine texture
        
}
        
SetTexture [_ColorControlCube] {
            
combine texture +- previousprimary
            Matrix 
[_Reflection]
        }
    }
}

// single texture
Subshader {
    
Tags "RenderType"="Opaque" }
    
Pass {
        
Color (0.5,0.5,0.5,0)
        
SetTexture [_MainTex] {
            
Matrix [_WaveMatrix]
            
combine textureprimary
        
}
    }
}




+ Это(Outline):
PHP код:

Shader "Outlined/Silhouetted Diffuse" {
    
Properties {
        
_Color ("Main Color"Color) = (.5,.5,.5,1)
        
_OutlineColor ("Outline Color"Color) = (0,0,0,1)
        
_Outline ("Outline width"Range (0.00.03)) = .005
        _MainTex 
("Base (RGB)"2D) = "white" { }
    }
   
CGINCLUDE
#include "UnityCG.cginc"

struct appdata {
    
float4 vertex POSITION;
    
float3 normal NORMAL;
};

struct v2f {
    
float4 pos POSITION;
    
float4 color COLOR;
};

uniform float _Outline;
uniform float4 _OutlineColor;

v2f vert(appdata v) {
    
// just make a copy of incoming vertex data but scaled according to normal direction
    
v2f o;
    
o.pos mul(UNITY_MATRIX_MVPv.vertex);

    
float3 norm   mul ((float3x3)UNITY_MATRIX_IT_MVv.normal);
    
float2 offset TransformViewToProjection(norm.xy);

    
o.pos.xy += offset o.pos._Outline;
    
o.color _OutlineColor;
    return 
o;
}
ENDCG

    SubShader 
{
        
Tags "Queue" "Transparent" }

        
// note that a vertex shader is specified here but its using the one above
        
Pass {
            
Name "OUTLINE"
            
Tags "LightMode" "Always" }
            
Cull Off
            ZWrite Off
            ZTest  LEqual
            ColorMask RGB 
// alpha not used

            // you can choose what kind of blending mode you want for the outline
            
Blend SrcAlpha OneMinusSrcAlpha // Normal
            //Blend One One // Additive
            //Blend One OneMinusDstColor // Soft Additive
            //Blend DstColor Zero // Multiplicative
            //Blend DstColor SrcColor // 2x Multiplicative

CGPROGRAM
#pragma vertex vert
#pragma fragment frag

half4 frag(v2f i) :COLOR {
    return 
i.color;
}
ENDCG
        
}

        
Pass {
            
Name "BASE"
            
ZWrite On
            ZTest LEqual
            Blend SrcAlpha OneMinusSrcAlpha
            Material 
{
                
Diffuse [_Color]
                
Ambient [_Color]
            }
            
Lighting On
            SetTexture 
[_MainTex] {
                
ConstantColor [_Color]
                
Combine texture constant
            
}
            
SetTexture [_MainTex] {
                
Combine previous primary DOUBLE
            
}
        }
    }
   
    
SubShader {
        
Tags "Queue" "Transparent" }

        
Pass {
            
Name "OUTLINE"
            
Tags "LightMode" "Always" }
            
Cull Front
            ZWrite Off
            ZTest Always
            ColorMask RGB

            
// you can choose what kind of blending mode you want for the outline
            
Blend SrcAlpha OneMinusSrcAlpha // Normal
            //Blend One One // Additive
            //Blend One OneMinusDstColor // Soft Additive
            //Blend DstColor Zero // Multiplicative
            //Blend DstColor SrcColor // 2x Multiplicative

            
CGPROGRAM
            
#pragma vertex vert
            #pragma exclude_renderers gles xbox360 ps3
            
ENDCG
            SetTexture 
[_MainTex] { combine primary }
        }

        
Pass {
            
Name "BASE"
            
ZWrite On
            ZTest LEqual
            Blend SrcAlpha OneMinusSrcAlpha
            Material 
{
                
Diffuse [_Color]
                
Ambient [_Color]
            }
            
Lighting On
            SetTexture 
[_MainTex] {
                
ConstantColor [_Color]
                
Combine texture constant
            
}
            
SetTexture [_MainTex] {
                
Combine previous primary DOUBLE
            
}
        }
    }
   
    
Fallback "Diffuse"



=

Знающие, подскажите где исправить, желательно без последствий.=)

pax 11.05.2013 23:45

Ответ: Вопросы от новичка
 
Прозрачные объекты в воде не отражаются... Можешь попробовать поставить Tags { "Queue" = "Opaque" }

RegIon 12.05.2013 10:09

Ответ: Вопросы от новичка
 
Да, сменил тег и все стало норм)

4yBa4Ok 16.05.2013 20:32

Ответ: Вопросы от новичка
 
Где можно достать хорошую физику воды(плоскость)???

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 байтов + размер хранимых объектов.

WISHMASTER35 25.05.2013 14:28

Ответ: Вопросы от новичка
 
Т.е. на байт или структуру будет ссылка?

pax 25.05.2013 14:51

Ответ: Вопросы от новичка
 
Это называется боксинг http://msdn.microsoft.com/ru-ru/library/yz2be5wk.aspx

cahekp 28.05.2013 20:42

Ответ: Вопросы от новичка
 
Добрый вечер.

Кто-нибудь знает, почему следующий код:
Код:

using UnityEngine;
using UnityEditor;
using System.Collections;

public class Test : EditorWindow {

        [MenuItem ("Window/Test Editor")]
          static void Init () {
                EditorWindow.GetWindow (typeof (Test));
        }
       
        void OnGUI() {
                Event.current.Use();
        }
       
}

спокойно работает в Unity v3.5.0f5 и заставляет дико биться в конвульсиях окошко "Test" при попытке перетащить его мышкой в Unity v4.1.0f4?

Всё дело в "Event.current.Use()". Но почему? Почему так происходит?

pax 28.05.2013 23:00

Ответ: Вопросы от новичка
 
Ты перехватываешь все эвенты, но зачем?

cahekp 29.05.2013 07:09

Ответ: Вопросы от новичка
 
Да кто его знает! Я, собственно, описал то, что находится в open-source редакторе кат-сцен для Юнити - Animator'е (http://forum.unity3d.com/threads/135...tor-for-Unity), убрав всё лишнее.

В версии 3.5.0f5 редактор идет идеально, а в версии 4.1.0f4 жутко глючит окно (дергается при перемещении) и контекстные меню появляются почему-то выше (где-то на половину экрана), чем там, куда смотрит курсор.

Собственно, именно по-этому редактор и стал open-source'ным. Автор задолбался переводить свой проект всё в новые и в новые версии Юнити, попутно исправляя кучу возникающих багов.

А вообще, сам редактор очень даже неплох! Единственная утилита, которая отображает таймлайн как набор кадров (по-умолчанию), что весьма и весьма удобно.

pax 29.05.2013 09:54

Ответ: Вопросы от новичка
 
Ну а если не перехватывать эвенты? Все перестает работать?

cahekp 29.05.2013 10:27

Ответ: Вопросы от новичка
 
Если не перехватывать, то в Animator'е появляется пара ошибок:
Цитата:

InvalidOperationException: Operation is not valid due to the current state of the object
System.Collections.Stack.Peek () (at /Applications/buildAgent/work/b59ae78cff80e584/mcs/class/corlib/System.Collections/Stack.cs:321)
UnityEngine.GUILayoutUtility.EndLayoutGroup () (at C:/BuildAgent/work/7535de4ca26c26ac/Runtime/ExportGenerated/Editor/GUILayoutUtility.cs:221)
UnityEditor.DockArea.EndOffsetArea () (at C:/BuildAgent/work/7535de4ca26c26ac/Editor/Mono/GUI/DockArea.cs:749)
UnityEditor.DockArea.OnGUI () (at C:/BuildAgent/work/7535de4ca26c26ac/Editor/Mono/GUI/DockArea.cs:675)
и

Цитата:

InvalidOperationException: Operation is not valid due to the current state of the object
System.Collections.Stack.Peek () (at /Applications/buildAgent/work/b59ae78cff80e584/mcs/class/corlib/System.Collections/Stack.cs:321)
UnityEngine.GUILayoutUtility.EndLayoutGroup () (at C:/BuildAgent/work/7535de4ca26c26ac/Runtime/ExportGenerated/Editor/GUILayoutUtility.cs:221)
UnityEngine.GUILayout.EndScrollView (Boolean handleScrollWheel) (at C:/BuildAgent/work/7535de4ca26c26ac/Runtime/ExportGenerated/Editor/GUILayout.cs:360)
UnityEngine.GUILayout.EndScrollView () (at C:/BuildAgent/work/7535de4ca26c26ac/Runtime/ExportGenerated/Editor/GUILayout.cs:354)
AMTimeline.OnGUI () (at Assets/Animator/Files/Editor/AMTimeline.cs:1274)
при этом 1274-ая строка указывает на GUILayout.EndScrollView();
Что интересно, чуть выше нету GUILayout.BeginScrollView(), а только GUI.BeginScrollView(rectScrollView,scrollViewValue ,rectView,false,true);

Хм... Погоди-ка.
Закомментировал e.Use() (Event.current.Use()) и вместо GUILayout.EndScrollView() написал GUI.EndScrollView(). Вроде работает. Во всяком случае, окошко уже не дрыгается. Надо бы дальше посмотреть. Горизонатльный скролл как-то странно теперь работает. Как-будто я левую кнопку мыши не отжимаю, когда изменяю размер ползунка.

Ну ладно, спасибо, pax, буду смотреть дальше.

Левша09 30.05.2013 12:29

Ответ: Вопросы от новичка
 
Доброго времени суток всем! Подскажите пожалуйста, как проверить активен ли объект? Справку читал, но не понял. Вроде как SetActiveSelf возвращает результат, но как имо пользоваться не пнимаю.
А вообще пытаюсь показать/скрыть панель в NGUI одной кнопкой, а выходит лажа, либо не работает, либо работает через раз.

pax 30.05.2013 12:54

Ответ: Вопросы от новичка
 
Проверить на активность:
http://docs.unity3d.com/Documentatio...ctiveSelf.html
http://docs.unity3d.com/Documentatio...Hierarchy.html

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

Левша09 30.05.2013 13:00

Ответ: Вопросы от новичка
 
Понятно что выключить, но только по условию, если включено. А вот как условие задать не знаю. SetActiveSelf вроде как возвращает True если родитель активен. В любом случае примера кода там нет, а методом тыка один фиг не получится.

pax 30.05.2013 13:14

Ответ: Вопросы от новичка
 
Я бы попробовал так
GetComponent<UIPanel>().enabled = false;

Morganolla 30.05.2013 14:38

Ответ: Вопросы от новичка
 
Можно ли разместить пост на странице игрока в Фейсбуке стандартными функциями Юнити, или надо использовать сторонний платный ( или бесплатный ) ассет? Посоветуйте такой Асет, плиз...

WISHMASTER35 02.06.2013 14:29

Ответ: Вопросы от новичка
 
Morganolla, скорее тут надо использовать API фейсбука.

WISHMASTER35 04.06.2013 09:27

Ответ: Вопросы от новичка
 
Что в последней версии случилось с int полями в редакторе? Нажимаю на поле но курсор в нем не появляется, или просто через кадр исчезает.
Хотя в Transform можно редактировать, в остальных скриптах не работает.

pax 04.06.2013 09:42

Ответ: Вопросы от новичка
 
4.1.3? Мы до нее не обновлялись еще, пока на 4.1.2 сидим, ждем 4.2

Okay 04.06.2013 14:22

Ответ: Вопросы от новичка
 
pax, почему не создается куб при нажатии на кнопку?

PHP код:

using UnityEngine;
using System.Collections;

public class 
setstart MonoBehaviour {
    
    public 
string ScriptCreateCube;
    public 
Transform CreateCube;
    
// Use this for initialization
    
void Start () 
    {
    
    }
    
    
// Update is called once per frame
    
void Update () 
    {
    
    }
    
    
void OnGUI ()
    {
        
ScriptCreateCube GUI.TextArea(new Rect(10,10,200,100), ScriptCreateCube200);
        if(
GUI.Button(new Rect(10508020), "Create"))
        {
            if(
ScriptCreateCube == "CreateCube")
            {
                
Instantiate(CreateCube, new Vector3(102510), Quaternion.identity);
            }
        }
    }



pax 04.06.2013 14:28

Ответ: Вопросы от новичка
 
Я не вижу что на скриншоте.

Okay 04.06.2013 14:45

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

Сообщение от pax (Сообщение 260669)
Я не вижу что на скриншоте.

Да уже все нормально =)

Почему-то кнопка не срабатывала, когда находилась поверх поля ввода

Okay 04.06.2013 15:04

Ответ: Вопросы от новичка
 
pax, есть ли функция, которая делает GUI активным.
То есть, мне нужно, чтобы при нажатии кнопки Enter поле ввода активировалось и в него можно было вводить текст

pax 04.06.2013 15:25

Ответ: Вопросы от новичка
 
GUI.enable = false;
// отрисовка неактивного содержимого
GUI.enable = true;

Okay 04.06.2013 18:24

Ответ: Вопросы от новичка
 
pax, что-то наверно плохо искал в документации, но как увеличивать объект через скрипт?

pax 04.06.2013 19:42

Ответ: Вопросы от новичка
 
transform.localScale *= 5; // в пять раз

WISHMASTER35 04.06.2013 22:39

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

Сообщение от Okay (Сообщение 260673)
pax, есть ли функция, которая делает GUI активным.
То есть, мне нужно, чтобы при нажатии кнопки Enter поле ввода активировалось и в него можно было вводить текст

По-моему он фокус имел ввиду.
Как-то так это делается http://docs.unity3d.com/Documentatio...usControl.html

А кто-нибудь пишет для андроида?
Что-то у меня с 4й версии мультитач не работает, кол-во тачей только 0 и 1.
И transform.FindChild\Find ничерна не ищат еще с 3й версии.

pax 04.06.2013 23:10

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

Сообщение от WISHMASTER35 (Сообщение 260699)
По-моему он фокус имел ввиду.

Ну да, наверное не так прочитал, бывает.

WISHMASTER35 04.06.2013 23:41

Ответ: Вопросы от новичка
 
pax, можешь проверить transform.FindChild\Find. Может я что-то не так пишу.

pax 04.06.2013 23:47

Ответ: Вопросы от новичка
 
А как ты пишешь? Надеюсь не одиночный знак "\" вместо "/"

WISHMASTER35 05.06.2013 12:26

Ответ: Вопросы от новичка
 
pax, я просто имя писал) А вот полный пусть указывать это уже не круто(
Кстати, FindChild нету в документации. Не ясно чем он отличается просто от Find.

RegIon 05.06.2013 12:36

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

Сообщение от WISHMASTER35 (Сообщение 260716)
pax, я просто имя писал) А вот полный пусть указывать это уже не круто(
Кстати, FindChild нету в документации. Не ясно чем он отличается просто от Find.

Find ищет везде, а FindChild - в пределах текущего Transform.

pax 05.06.2013 12:53

Ответ: Вопросы от новичка
 
Как-то так ищу
PHP код:

public static Transform GetChild(this Transform transformstring childName)
    {
        foreach (var 
child in transform.GetComponentsInChildren<Transform>())
        {
            if (
child.gameObject.name == childName)
            {
                return 
child;
            }
        }

        return 
null;
    } 


WISHMASTER35 05.06.2013 14:54

Ответ: Вопросы от новичка
 
RegIon, ты уверен, что Find везде ищет? Он же не статический и для 'везде' уже есть методы в GameObject.

seaman 05.06.2013 17:01

Ответ: Вопросы от новичка
 
Ничем они не отличаются
Код:

        [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall]
        public extern Transform Find(string name);
        public Transform FindChild(string name)
        {
            return this.Find(name);
        }


WISHMASTER35 07.06.2013 22:54

Ответ: Вопросы от новичка
 
Почему у BoxCollider вектор collider.bounds.extents равен zero?
Коллайдер с нормальными размерами.

Okay 14.06.2013 14:07

Ответ: Вопросы от новичка
 
как сделать проверку на нажатие на экран в андроиде?
документация не подходит. нужно примерно проверять нажатие через условие if
Вот не знаю как правильно составлять это условие

pax 14.06.2013 15:38

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

if(Input.touchCount>0)
{
   
// на экране 1+ палец



Amatsu 14.06.2013 17:33

Ответ: Вопросы от новичка
 
Товарищи, уже работавшие с юнити из-под вконтакта - покидайте, пожалуйста, ссылки на статьи по взаимодействию с вконтактом через юнити. Если таковые существуют

seaman 14.06.2013 17:39

Ответ: Вопросы от новичка
 
http://unity3d.ru/distribution/viewt...hp?f=13&t=3894

Amatsu 14.06.2013 17:50

Ответ: Вопросы от новичка
 
Сейчас попробовал более 10 раз зарегистрироваться на этом сайте. Даже когда он хавает оба проверочных кода - он просто перезагружает мне форму заполнения данных для регистрации, без намека на то, что регистрация успешна.
Увы, но по твоей ссылке самое главное скрыто для незарегистрированных пользователей

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

seaman 14.06.2013 17:55

Ответ: Вопросы от новичка
 
Странно. Там постоянно новые пользователи регистрируются.
Ясно. Нужно регистрироваться не на форуме, а на сайте:
http://unity3d.ru/

Amatsu 14.06.2013 18:09

Ответ: Вопросы от новичка
 
Спасибо, зарегистрировался наконец, скачал

Amatsu 15.06.2013 13:46

Ответ: Вопросы от новичка
 
Пока пытаюсь курить этот вконтактовский API. Нашел в unapi метод ShowSettingsBox. Вызываю его, подтверждаю разрешение на доступ к изображениям - маска прав у приложения так и остается 0. Кто-нибудь сталкивался с проблемой? Возможно я в настройках самого вконтакт-приложения что-то забыл сделать. Или же данный метод не работает и нужно через реквесты посылать запрос

pax 15.06.2013 14:06

Ответ: Вопросы от новичка
 
Обычно можно в настройках приложения все необходимые доступы задать, чтобы при старте пользователь разрешил все сразу.

Amatsu 15.06.2013 15:15

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

Сообщение от pax (Сообщение 261402)
Обычно можно в настройках приложения все необходимые доступы задать, чтобы при старте пользователь разрешил все сразу.

Хм, может тогда просто вот эта штука не работает? http://vk.com/dev/account.getAppPermissions
Как бы я ни извращался с получением доступа - она все равно по uid моего приложения возвращает 0

Нашел в настройках приложения пункт установки, выставил запрос на все права, но делу это не помогло

Я все это дело начал раскапывать потому, что у меня даже код из примера из темы автора unapi не вызвает callback
Может там нужны еще какие-то дополнительные настройки?

Код:

        void Start()
        {
            JSCore.GameObjName = gameObject.name;
            VKUsers.GetProfiles("123123123,456456456,789789789", UsrFields.photo_rec, NameCase.nom_Default, OnGetProfiles);
        }

        public void OnGetProfiles(string s)
        {
            JSCore.Alert(s);
        }

Я пробовал выносить запрос пользователей на отдельную кнопку, пробовал ставить свой вконтактовский айдишник - колбэк попросту не вызывается. В справке написано, что он должен вызываться при любом пришедшем отклике от вк, даже если вк вернул ошибку запроса

з.ы. метод JSCore.Alert работает, проверял в других местах, взял его из той же темы


з.з.ы. попробовал уже напрямую вводить команду
Код:

JSCore.Api("photos.createAlbum", "title:UnityAAAAAA;description:AAAAAAAA", "Callback");
ноль реакции
При этом вот эта штука работает http://vk.com/dev/photos.createAlbum

pax 15.06.2013 20:38

Ответ: Вопросы от новичка
 
А ты это не забыл?
http://vk.com/dev/IFrame_apps

Amatsu 15.06.2013 21:02

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

Сообщение от pax (Сообщение 261438)
А ты это не забыл?
http://vk.com/dev/IFrame_apps

Если ты про "Добавьте следующую ссылку в код Вашей страницы:" - нет, не забываю. Без нее вообще не работает ничего, с ней же работает ресайз фрейма, вызов мессаджа с запросом на получение прав доступа, но серьезные методы, типа запроса пользовательских данных или создания альбома - не выдают абсолютно ничего. Коллбэки не вызываются, альбомы не создаются и т.д.
GO у меня называется Communicator, API_Secret я ему указал, Format выставил JSON. Главный игровой цикл висит на том же GO. Код у него
Код:

using UnityEngine;
using VK.Core;
using VK.JSApi;
using VK.VKApi;

namespace Assets
{
    public class GameLoop : MonoBehaviour
    {
        void Start()
        {
            JSCore.GameObjName = gameObject.name;
        }

        void Update()
        {
        }
       
        void OnGUI()
        {
            if (GUI.Button(new Rect(10, 10, 50, 20), "User"))
            {
                VKUsers.GetProfiles("9472652", UsrFields.photo_rec, NameCase.nom_Default, Callback);
            }

            if (GUI.Button(new Rect(70, 10, 50, 20), "Share"))
            {
                VKPhotos.CreateAlbum("Unity3dTest", Privacy.OnlyMe, Privacy.OnlyMe, "Upload Test", Callback);
                //JSCore.Api("photos.createAlbum", "title:UnityAAAAAA;description:AAAAAAAA", "Callback");
                //JSCore.CallMethod("photos.createAlbum", "title:UnityAAAAAA;description:AAAAAAAA;comment_privacy:0;privacy:0");
            }

            if (GUI.Button(new Rect(140, 10, 50, 20), "Resize"))
            {
                JSApi.ResizeWindow(300, 150);
            }
        }

        private void Callback(string s)
        {
            JSCore.Alert(s);
        }
    }
}

Настройки приложения в VK:
Состояние: Приложение отключено (пробовал включать для всех - не помогло)
Первый запрос к API: пусто
Установка: требуется
Права доступа: все
Тип приложения: IFrame
Название файла запуска на юкозе: Build.html
Поддержка защищенного соединения: включена

Самое фиговое - вроде гуглить умею, но по подобное проблеме обращения юнити-приложения к вк ничего не нашел


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

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