Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
jatro.m
Založen: 29. 07. 2009 Příspěvky: 89
|
Zaslal: 28. září 2009, 16:22:41 Předmět: MaxScript tex coords, normals |
|
|
zdarec
potreboval bych radu,
vytvorim v maxu krychli vyexportuju do svyho formatu (nemela by bejt chyba v nem z milkshape to funguje normalne) a spravne namapovany textrury jsou jenom na 4 bocnich stranach horni a dolni je normalne namapovana zajimavy je ze kdyz vytvorim neco jinyho tak je to krasne otexturovany a nasvetleny. Je mozny aby se max sekl? kdyz funguje vse ostatni (koule,jehlany.... aji dalsi modely co jsem importoval) tady je model hostage z CS:S a ten vypada normalne (only normals) tak kde potom muze bejt chyba?
EDIt...
tak vsechny jiny modely fungujou ....krome krychle. Je krychle nejaka vyjimka? nebo cok to kurva muze bejt? |
|
Návrat nahoru |
|
 |
]semo[

Založen: 29. 07. 2007 Příspěvky: 1526 Bydliště: Telč
|
Zaslal: 29. září 2009, 08:37:25 Předmět: |
|
|
Max je trochu alchymie, chce to ošetřit různý zvláštní případy a bude fajn.
Jak se dotazuješ na ten texturový koordinát? V mým exporteru to bylo takhle:
Funkce getTVFace mi vrátila indexy tex coordů pro daný trojúhelník a ty se pak zapsaly k vrcholům. Tzn. nemůžeš použít index vertexů (pozic).
Další tipy:
- Používáš pro export funkci SnapshotAsMesh?
- Zkus krychli převýst na EditablePoly a uvidíš, jestli se bude chovat jinak. _________________ Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory |
|
Návrat nahoru |
|
 |
jatro.m
Založen: 29. 07. 2009 Příspěvky: 89
|
Zaslal: 29. září 2009, 14:23:25 Předmět: |
|
|
zdarec
SnapshotAsMesh používám
tady mas kod myslim si ze to bude jednodusi k identifikaci problemu
(kod je na export SDM (HL1(2)) mnou upravenej na muj format)
kód: |
fn p val =
(
if abs(val) < 0.0001 then return 0.0
else return val
)
fn p3 p3 =
(
rp3 = [0.0,0.0,0.0]
if abs(p3.x)>0.0001 then rp3.x = p3.x
if abs(p3.y)>0.0001 then rp3.y = p3.y
if abs(p3.z)>0.0001 then rp3.z = p3.z
return rp3
)
fn printvert nd vnr skn =
(
ps = p3(nd.verts[vnr].pos)
norm=p3(getnormal nd vnr)
tc=p3(gettvert nd vnr)
format "0 % % % % % % % % " ps.x ps.y ps.z norm.x norm.y norm.z tc.x tc.y
format "\n"
)
format "\n# XMD Model FileFormat by Jatro ;)\n\n"
format "v version 10\n"
for noode in rootnode.children do(
if classof noode == Editable_mesh then (
faces = noode.numfaces
format "\n#OBJECTS\n"
format "o %\n" noode.name
texname = noode.material.diffusemap.filename
m = snapshotasmesh noode
for i = 1 to faces do(
currface = getface m i
for num =1 to 3 do (
vrt=currface[num]
printvert noode vrt skeen
)
)
format "\n#MATERIALS\n"
format "t %\n" texname
)else(
print("Must be a EDITABLE_MESH error!!")
)
)
max utility mode
|
|
|
Návrat nahoru |
|
 |
]semo[

Založen: 29. 07. 2007 Příspěvky: 1526 Bydliště: Telč
|
Zaslal: 29. září 2009, 15:55:48 Předmět: |
|
|
Jak říkám, index vertexu a index tex coordu se může lišit, proto je tam ta funkce getTVFace. Když narazíš na vertex s takto odlišnými indexy, musíš ho zduplikovat a upravit trojúhelníky. _________________ Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory |
|
Návrat nahoru |
|
 |
VODA

Založen: 29. 07. 2007 Příspěvky: 1721 Bydliště: Plzeň
|
Zaslal: 29. září 2009, 19:27:23 Předmět: |
|
|
Jak říká semo...
Já osobně ve svém exportním scriptu nejprve vyexportuji seznam vertexů, cpv barev (osvětlení mám raději precomputed) a uvw souřadnic a pak si vypíšu facy...ty jsou definované 9-ti indexy...první tři udávají indexy vertexů, další tři indexy barev a poslední indexy texturových coordinát...
Vertexy:
kód: |
vertexcount = getnumverts imesh
for i=1 to vertexcount do
(
vertex = getvert imesh i
format "% % %\n" vertex.x vertex.y vertex.z
) |
Barvy přeskočím...
UVW souřadnice (W neexportuji):
kód: |
uvwcount = getnumtverts imesh
for i=1 to uvwcount do
(
coord = gettvert imesh i
format "% %\n" coord.x coord.y
) |
Facy:
kód: |
facecount = getnumfaces imesh
for i=1 to facecount do
(
v_face = getface imesh i
t_face = gettvface imesh i
-- indexování od 0
v_face = v_face - 1
t_face = t_face - 1
format "% % % - % % %\n" (int(v_face.x)) (int(v_face.y)) (int(v_face.z)) (int(t_face.x)) (int(t_face.y)) (int(t_face.z))
) |
_________________ Opravdovost se pojí s trýzní... |
|
Návrat nahoru |
|
 |
jatro.m
Založen: 29. 07. 2009 Příspěvky: 89
|
Zaslal: 30. září 2009, 18:22:50 Předmět: |
|
|
dobry no bohuzel sem s maxem nikdy nemel tu cest takze sem v maxscriptu lehce panic
jenom jsem zkousel exportovat exporterama co byly v Maxu a aji tam to nefunguje (minimalne normaly,textury sem nezkousel)
tudiz nemuze bejt chyba nekde v nastaveni toho maxu? ja fakt nevim ten program je mirne prekomplikovanej tak si myslim ze se to tam beztak da nekde nastavit.
jo a na tom screenu sou taky blbe vykresleny evidentne protoze v tom stredu je to extra tmavy a kdyz se s tim modelem otaci tak se to neprenasi plynule |
|
Návrat nahoru |
|
 |
]semo[

Založen: 29. 07. 2007 Příspěvky: 1526 Bydliště: Telč
|
Zaslal: 2. říjen 2009, 08:12:33 Předmět: |
|
|
A co teda chceš poradit? VODA a Já sme ti myslím ukázali, kde je asi chyba. _________________ Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory |
|
Návrat nahoru |
|
 |
|