Билд не подгружает модели.

Программирование на Юнити.

Билд не подгружает модели.

Сообщение 2dkot 23 июл 2011, 21:18

Привет,

У меня такая проблема. В проекте есть тирэйн, при помощи скрипта я разместил по тирэйну траву(mesh FBX). Когда я ранаю проект из эдитора, сцена содержит траву, когда делаю билд, то при его запуске травы нет на тирэйне. Причем, если добавлю модель травы в иерархию - тоесть помещю на тирэйне во вьюпорте, то после сборке и запуске билда этот мэш будет в сцене.

Вот пример кода, класс травы:
Синтаксис:
Используется javascript
class gGrass
{
       
        var grass_01: GameObject;
        var grass_02: GameObject;
        var grass_03: GameObject;
        var grass_04: GameObject;
        static var gPath: String;
        var gMaterial: Material;
       
        function gGrass(){
                gPath = "Assets/sAssets/Grass/";
                //gMaterial = Resources.Load("mGrass01");
        }      
       
        function getGRass01(){
                grass_01 = GameObject.Find("grass_01");
                grass_01 = Resources.LoadAssetAtPath(gPath + "grass01/grass01.FBX", GameObject);
                grass_01.transform.localScale = Vector3(0.3,0.3,0.3);
                grass_01.tag = "grass";
                //grass_01.renderer.material = gMaterial;
                return grass_01;
        }
}
 

А здечь трава размещается по тирэйну в пределах площади куба:

Синтаксис:
Используется javascript
var tHight;
var grass: gGrass;

var x_flag: int;
var z_flag: int;
var x_pos;
var x_neg;

function getTerr(){
return Terrain.activeTerrain;
}

function Start(){

x_pos = transform.position.x + (transform.localScale.x/2);
x_neg = transform.position.x - (transform.localScale.x/2);
z_pos = transform.position.z + (transform.localScale.z/2);
z_neg = transform.position.z - (transform.localScale.z/2);

    for (x = x_neg; x < x_pos; x = x+10) {
                for (z = z_neg; z < z_pos; z = z+10) {
                tHight = Terrain.activeTerrain.SampleHeight(Vector3(x,0,z ));
                if (tHight>5 && tHight<60){
                if(x_flag==0){if(z_flag==0 | z_flag==6){Instantiate (grass.getGRass01(), Vector3(x,tHight,z ), Quaternion.Euler(270, z_flag*25, 0));}}
                if(z_flag<6){z_flag++;}else{z_flag=0;}
                }
                }
        if(x_flag<6){x_flag++;}else{x_flag=0;}
    }
}


function Update () {
}
 
2dkot
UNец
 
Сообщения: 21
Зарегистрирован: 04 май 2010, 20:00

Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4