forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Blitz3D (http://forum.boolean.name/forumdisplay.php?f=45)
-   -   Вопрос-Ответ (для новичков) (http://forum.boolean.name/showthread.php?t=7886)

H@NON 26.11.2011 15:38

Ответ: Вопрос-Ответ (для новичков)
 
xors3D умнее

pepel 04.12.2011 13:28

Ответ: Вопрос-Ответ (для новичков)
 
подскажите плиз как использовать тип в типе. пример использования

St_AnGer 04.12.2011 14:22

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от pepel (Сообщение 212283)
подскажите плиз как использовать тип в типе. пример использования

Я плох в вопросах о типах. Но как то так наверно (синтаксис может быть неточным!):

Создаём типы:
Код:

Type cChild
    Field x, y
End Type

Type cParent
    Field child.cChild
End Type

Создаём функции объектов:
Код:

Function CreateParent.cParent()
    p.cParent = new cParent
          ...
    Return p
End Function

Function CreateChild(p.cParent)
    p\child.cChild = new cChild
          p\child\x = 100;
          p\child\y = 100;
End Function

Ну и создаём как обычно объекты:
Код:

parent.cParent = CreateParent()

CreateChild(parent)

к объектам дочернего типа обращаться как то так (например вывести текст с координатами):
Код:

Text 10, 10, parent\child\x
Text 10, 30, parent\child\y

Палками не бить, сильно не плеваться. Суть работы с дочерними типами (как это понимаю я, хотя моё понимание на 78% не корректно наверно) думаю донёс.

упд На основе этого примера лучше использовать в типе cParent массив элементов типа cChild, иначе смысл отпадает в дочернем типе.

pepel 04.12.2011 19:25

Ответ: Вопрос-Ответ (для новичков)
 
ладно лучше массивом сделаю чето сложночитаемо совсем

Nex 31.12.2011 02:22

Ответ: Вопрос-Ответ (для новичков)
 
Как автоматически расставить текстурные координаты у 2д (партиклы) прямоугольников и окружностей? Я че то уже запарился. Читал что нужно брать длину нормали делить@умножать, но не вкурил . :(

LLI.T.A.L.K.E.R. 24.01.2012 20:57

Ответ: Вопрос-Ответ (для новичков)
 
Не залежался ли у кого Texture Splatting (исходник)?
http://blitzbasic.com/Community/posts.php?topic=52663
А то на:
http://bond357.free.fr/main/forums/viewtopic.php?id=3
пароль просит.

Про Xors3D.. Привлекают эти темы :cool: :
http://area.xors3d.com/forums/viewto...&t=547&start=0
http://area.xors3d.com/forums/viewtopic.php?f=5&t=489

Нашёл: http://www.blitzbasic.com/codearcs/c....php?code=2620 (хоть и другой)

Nerd 24.01.2012 23:04

Ответ: Вопрос-Ответ (для новичков)
 
http://bond357.free.fr/down/TextureSplattingDemo.zip же

LLI.T.A.L.K.E.R. 24.01.2012 23:14

Ответ: Вопрос-Ответ (для новичков)
 
Там demo - исходника нет. Исходник под запороленной ссылкой.

Texture Splatting on Meshterrain
http://www.blitzbasic.com/codearcs/c....php?code=2620

Поясню алгоритм:
медиа-часть: рисуется альфа текстура в тех местах где нужен покрас на меше.. и т.д. и т.п.
код: создаются 5 мешей (для 5 слоёв покрасок), но самое важное - все 5 слоёв не копируют один и тот же меш, а как бы вырезаются те участи по их альфе текстурам.


Я тоже по началу думал что опять-25 мешей terrain грузить. Потом
включил wireframe 1 и включил отображение только 2-го и зелёного слоёв.

Скоро на Blitz3D будет свой Oblivion.

Nex 25.08.2012 20:41

Ответ: Вопрос-Ответ (для новичков)
 
Как делают волны на воде и их обрезание (уменьшение детализации меша) в зависимости от расстояния?

tirarex 25.08.2012 21:47

Ответ: Вопрос-Ответ (для новичков)
 
не проще текстурой делать а так можно двигать вертексы

Nex 26.08.2012 12:58

Ответ: Вопрос-Ответ (для новичков)
 
Неужели никто не знает?

dsd 26.08.2012 14:15

Ответ: Вопрос-Ответ (для новичков)
 
Цитата:

Сообщение от Nex (Сообщение 237241)
Как делают волны на воде и их обрезание (уменьшение детализации меша) в зависимости от расстояния?

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

а потом анимировать можно как то так:

Код:

Function GrimMagicWater(meshid)
PointEntity light,camera
PositionEntity light,225*Sin(MilliSecs()/30),15,225*Cos(MilliSecs()/30)
PositionEntity watermesh,EntityX(camera,1),0,EntityZ(camera,1)
RotateEntity watermesh,0,EntityYaw(camera,1)-45,0
If EntityY(camera,1)<1 Then PositionEntity camera,EntityX(camera,1),1,EntityZ(camera,1),1
ScaleTexture watertex,1+Sin(MilliSecs()/100)/10,1+Cos(MilliSecs()/50)/10



waveheight#=8
horizwave#=6
Noiseamplitude#=0.2
wavelength#=10 ; меньшее значение означает большую длину
wavehorizlength#=35
speed#=1
time#=MilliSecs()*speed

mesh=meshid
meshsurf=GetSurface(mesh,1)
qvert=CountVertices(meshsurf)
;теперь магия
For i=0 To qvert-1
x000#=plane#(i,0)
y000#=plane#(i,2)
z000#=0
TFormPoint x000,z000,y000,mesh,0
x00#=TFormedX()
y00#=TFormedZ()

z01#=waveheight*Cos(time/wavelength+x00*wavelength/3)+horizwave*Sin(time/wavehorizlength#+y00*wavelength/5)+Noiseamplitude*Sin(noise#(i)+time/4)
x01#=x00-waveheight*Cos(time/wavelength+x00*wavelength/3)+Noiseamplitude*Cos(noise#(i)+time/4)
y01#=y00-horizwave*Sin(time/wavehorizlength#+y00*wavelength/5)+Noiseamplitude*Sin(noise#(i)+time/4)
TFormPoint x01,z01,y01,0,mesh
VertexCoords meshsurf,i,TFormedX(),TFormedY(),TFormedZ()
VertexTexCoords meshsurf,i,x00/25,y00/25

Next
UpdateNormals mesh


End Function

x00=cubedata#(i-1,0)
y00=cubedata#(i-1,1)

тут сохранены позиции точек поверхности воды до деформации.

Nerd 28.08.2012 01:38

Ответ: Вопрос-Ответ (для новичков)
 
У кого-нибудь сохранился враппер bass?
А то везде 404.

tirarex 28.08.2012 09:34

Ответ: Вопрос-Ответ (для новичков)
 
Вложений: 1
держи

LLI.T.A.L.K.E.R. 30.08.2012 00:09

Ответ: Вопрос-Ответ (для новичков)
 
http://www.blitzbasic.com/toolbox/toolbox.php?tool=207

Download Blitz_Bass_Studio: http://www.abrexxes.huntingsoftware....ass_studio.zip Version 1.7.1 (23.03.2009)

микрофон правда херово bass обрабатывает


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

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