|
Полезные функции Выкладываем полезные функции, чтоб не изобретать велосипед заново... |
21.03.2007, 22:58
|
#1
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
ResizeMesh(Width#,Height#,Depth#,Proporcional%)
Комманда, которая масштабирует мэшь, на выбранный размер.
Есть возможность масштабировать пропорционально:
0 - Полностью на заданный размер.
1 - Пропорционально относительно заданной ширине.
2 - Пропорционально относительно заданной высоте.
3 - Пропорционально относительно заданной долготе.
Function ResizeMesh(Entity,width#,height#,depth#,proporcional=0)
If EntityClass(Entity)="Mesh"
mw#=MeshWidth(Entity)
mh#=MeshHeight(Entity)
md#=MeshDepth(Entity)
Select proporcional
Case 1
ScaleEntity Entity,width/mw,width/mw,width/mw
Case 2
ScaleEntity Entity,height/mh,height/mh,height/mh
Case 3
ScaleEntity Entity,depth/md,depth/md,depth/md
Default
ScaleEntity Entity,width/mw,height/mh,depth/md
End Select
EndIf
End Function
|
(Offline)
|
|
22.03.2007, 05:10
|
#2
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
Re: ResizeMesh(Width#,Height#,Depth#,Proporcional%)
Только не МЕШ, а Ентити.
Почуствуй разницу (с)
__________________
|
(Offline)
|
|
22.03.2007, 05:16
|
#3
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Re: ResizeMesh(Width#,Height#,Depth#,Proporcional%)
Мы не можень у Ентити узнать размеры, и поэтому не можемь масштабировать другие энтити, только типа Меш. Так-что в данном случае Меш. А скалю Энтити, т.к. могут быть припивоченные объекты, либо как уже встретился баг: Копированный энтити типа "меш", при манипуляциях, тоже манипулируется и источник и копия. Так что, тут приходится юзать скалинг энтити, но только для мешей.
|
(Offline)
|
|
22.03.2007, 11:21
|
#4
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Re: ResizeMesh(Width#,Height#,Depth#,Proporcional%)
Ctrl+R<<leEntity<<leMesh
|
(Offline)
|
|
22.03.2007, 16:01
|
#5
|
ПроЭктировщик
Регистрация: 23.11.2006
Сообщений: 130
Написано 3 полезных сообщений (для 35 пользователей)
|
Re: ResizeMesh(Width#,Height#,Depth#,Proporcional%)
и что изменилось?
|
(Offline)
|
|
23.03.2007, 00:51
|
#6
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Re: ResizeMesh(Width#,Height#,Depth#,Proporcional%)
HolyDel непонял, что ты хотел сказать
|
(Offline)
|
|
23.03.2007, 07:30
|
#7
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Re: ResizeMesh(Width#,Height#,Depth#,Proporcional%)
я хотел сказать нажать ctrl+r
ввести в поле поиска leEntity
ввести в поле замена leMesh
ето больше имеет отношение к сообщению Tarmoz'a
|
(Offline)
|
|
23.03.2007, 14:02
|
#8
|
ПроЭктировщик
Регистрация: 23.11.2006
Сообщений: 130
Написано 3 полезных сообщений (для 35 пользователей)
|
Re: ResizeMesh(Width#,Height#,Depth#,Proporcional%)
релакс - я в том сообщении забыл смайл подставить. а про автозамену понял =)))
|
(Offline)
|
|
23.03.2007, 18:47
|
#9
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Re: ResizeMesh(Width#,Height#,Depth#,Proporcional%)
ну, функция стала отвечать своему названию, хотя конечно проще было-бы поменять название функции на ResizeEntity.
|
(Offline)
|
|
24.03.2007, 02:13
|
#10
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Re: ResizeMesh(Width#,Height#,Depth#,Proporcional%)
Право за тобой. =) Функцию моджете юзать в своих усмотрениях, я лишь как посчитал удобно сделал, т.к. масштабируется Только мэшь, пэтому ресайзмэшь =) а ты можешь себе поменять
|
(Offline)
|
|
24.03.2007, 08:19
|
#11
|
|
Re: ResizeMesh(Width#,Height#,Depth#,Proporcional%)
тут с утра такой дебильный вопрос
а ета функция вообще работает ?
MeshWidth возвращает размер меша, а ScaleEntity скалит ентети
ети параметры как бы вообще не зависят друг от друга
тоесть если мы скалим ентети, то сам меш никак не изменяется
иначе бы если мы скалили меш - менялся бы внешний размер всех ентети которые оперируют с етим мешом
и еще :
MeshWidth# (mesh)
Returns the width of a mesh. This is calculated by the actual vertex positions and so the scale of the entity (set by ScaleEntity) will not have an effect on the resultant width. Mesh operations, on the other hand, will effect the result.
|
ps. с утра могу и тормозить ...
|
|
|
24.03.2007, 08:33
|
#12
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Re: ResizeMesh(Width#,Height#,Depth#,Proporcional%)
хз, хз, у меня всё работает на ура, возможно насчёт "so the scale of the entity will not have an effect" - прогон .
|
(Offline)
|
|
24.03.2007, 09:38
|
#13
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Re: ResizeMesh(Width#,Height#,Depth#,Proporcional%)
ScaleEntity - изменяет параметры в матрице для "родного меша".
сам меш не изменяется.
если кто надумает скалить меш, то вес ентити которые "имеют" етот меш тоже отскалются. Вызвав ету функцию еще раз все станет на свои места т.е. объекты будут иметь тот размер что надо.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 00:23.
|