Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Загрузка сцен из файлов .3DS в апплете / 13 сообщений из 13, страница 1 из 1
13.06.2007, 18:24:19
    #34592875
Xaja
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка сцен из файлов .3DS в апплете
Люди, помогите!
Проблема в следующем: есть класс (extends Applet), в нем формируется 3D сцена с использованием объектов из файлов .3DS(для этого использую Loader3DS (com.microcrowd.loader.java3d.max3ds.Loader3DS)), все прекрасно работает в jstudio 8.1 и jar'ы нормально запускаются, но при попытке запустить апплет настраничке получаю следующее сообщение Java консоли "java.lang.NullPointerException
at com.microcrowd.loader.java3d.max3ds.Loader3DS.load(Loader3DS.java:108)
at Applet.init(Applet.java:52)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)".
Люди! Может кто-нибудь делал что-то подобное? Подскажите, посоветуйте. Очень нужно!
...
Рейтинг: 0 / 0
13.06.2007, 19:39:06
    #34593049
Умаксуман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка сцен из файлов .3DS в апплете
А что делается в этой строке 108 в файле Loader3DS.java?

Как ты загружаешь файл? Возможно ты урл не так задаешь.


--------------
Если враг не сдается - его перегружают
...
Рейтинг: 0 / 0
13.06.2007, 21:18:11
    #34593163
Xaja
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка сцен из файлов .3DS в апплете
в 108 строке, вроде (т.к. лоадер я использую сторонний), производится чтение из файла и парсинг его содержимого вот метод :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
 public  Scene load(String modelPath)  throws  FileNotFoundException
    {
        InputStream fileIn =  null ;
        setBasePathFromFilename(modelPath);

         try  {
            File modelFile = getFile(modelPath);
            fileIn =  new  FileInputStream(modelFile);
             return  parseChunks(fileIn, ( int )modelFile.length());
        }  finally  {
             try  {
                fileIn.close();
            }  catch  (Exception e) {
                e.printStackTrace();
                //Don't care about exceptions at this point.
            }
        }
    }

А насчет URL, призапуске jar'а то все работает, ошибка выплевывается именно когда я пытаюсь запустить аплет из хтмльки. Или апплеты не работают с локальными адресами?
...
Рейтинг: 0 / 0
13.06.2007, 21:43:17
    #34593179
Умаксуман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка сцен из файлов .3DS в апплете
Какая из них 108?
Я тоже делал что-то подобное, урл выглядел следующим образом:
file:/d:\3d\cube2.obj - это файл с моделькой
...
Рейтинг: 0 / 0
13.06.2007, 21:49:21
    #34593186
Умаксуман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка сцен из файлов .3DS в апплете
Вообще про загрузку из файла в апплете посмотри пример в sdk

demo\applets\WireFrame

Там как раз грузят в апплете из локального файла
...
Рейтинг: 0 / 0
13.06.2007, 21:49:29
    #34593187
Xaja
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка сцен из файлов .3DS в апплете
108: fileIn.close();

Но самое интресное, почему из jar'а запускается нормально, а из хтмлки выдает ошибку, хотя урл не менялся?
...
Рейтинг: 0 / 0
13.06.2007, 21:53:57
    #34593195
Умаксуман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка сцен из файлов .3DS в апплете
Как выглядит урл? Если в 108 нуллексепшн, значит FileInputStream(modelFile) вернул нулл, значит
getFile(modelPath) тоже вернул нулл, выходит с пасом че-то не то.
...
Рейтинг: 0 / 0
13.06.2007, 21:54:11
    #34593196
Xaja
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка сцен из файлов .3DS в апплете
Вот строчка в которой я загружаю модельку:
Код: plaintext
 kuzov.addChild(loader.load("c:/car/golf5/kuzov.3DS").getSceneGroup());
если указать путь как "file://c:/car/golf5/kuzov.3DS", то прога вылетает с ошибкой
...
Рейтинг: 0 / 0
13.06.2007, 22:03:49
    #34593206
Умаксуман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка сцен из файлов .3DS в апплете
XajaВот строчка в которой я загружаю модельку:
Код: plaintext
 kuzov.addChild(loader.load("c:/car/golf5/kuzov.3DS").getSceneGroup());
если указать путь как "file://c:/car/golf5/kuzov.3DS", то прога вылетает с ошибкой

Апплеты не могут обращаться к локальным файлам, поэтому скорее всего потому апплет и вылетает.

Я гружу модели так (у меня они в формате obj - это такой текстовый формат, но суть дела не меняется)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
	 public   void  loadSurfaceFromURL(String url)
	{
		InputStream is =  null ;
		 try  {
	  	  Thread.currentThread().setPriority(Thread.MIN_PRIORITY);
	  	  is =  new  URL(url).openStream();
		   Surface3D surface =  new  Surface3D();
	                surface.load(is);
		   setSurface(surface);
		   invalidate();
		   repaint();
		}  catch (Exception e) {
		   System.out.println(e.getMessage());
		}
		 try  {
		     if  (is !=  null )
			is.close();
		}  catch (Exception e) {
			System.out.println(e.getMessage());
		}
	}


url в данном случае
file:/d:\3d\3dd\cube2.obj если это локальный файл- обрати внимание на кол-во слешей и их наклон
или
http://myserver/model?num=1 если с http-сервера
...
Рейтинг: 0 / 0
13.06.2007, 22:06:02
    #34593208
y3u
y3u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка сцен из файлов .3DS в апплете
подпиши апплет
...
Рейтинг: 0 / 0
13.06.2007, 22:13:19
    #34593225
Умаксуман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка сцен из файлов .3DS в апплете
Да, забыл сказать - мой лоад работает и в апплете и в обычном приложении. насчет инвалидейт и рипейнт - это я их так от своего пока убогого знания графики Явы написал так.
...
Рейтинг: 0 / 0
13.06.2007, 22:41:51
    #34593254
Xaja
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка сцен из файлов .3DS в апплете
Все, нашел свою главную ошибку, даже самому стыдно забыл поменять String на URL :)
НО при указании в URL локального файла получаю другую ошибку: доступ к файлу такому-то запрещен.
как можно ее обойти? и есть ли где-нибуть настройки безопасности, где можно было бы отключить подобные ограничения?
...
Рейтинг: 0 / 0
13.06.2007, 22:51:06
    #34593265
Умаксуман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Загрузка сцен из файлов .3DS в апплете
XajaВсе, нашел свою главную ошибку, даже самому стыдно забыл поменять String на URL :)
НО при указании в URL локального файла получаю другую ошибку: доступ к файлу такому-то запрещен.
как можно ее обойти? и есть ли где-нибуть настройки безопасности, где можно было бы отключить подобные ограничения?

Вот это не знаю, возможно нужно подписать как посоветовал y3u, посмотри еще про policytool - она какие-то перпишоны настраивает.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Загрузка сцен из файлов .3DS в апплете / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]