C4DLounge.eu - Cinema 4D Gebruikers Forum  

Go Back   C4DLounge.eu - Cinema 4D Gebruikers Forum > RESOURCES > Vragen >>> > Textures/Materials en BodyPaint

Reply
 
Thread Tools Display Modes
  #1  
Old 8th March 2019
pgrooff pgrooff is offline
Senior Member
 
Join Date: Aug 2009
Posts: 850
Default Fit texture op een plane mbv ratio

Hoe plaats ik een texture / image op een plane met behoud van de correcte image ratio.
De image moet de plane over 1 as volledig uitvullen en de andere as volgens de ratio schalen.

Wat ik doe (R20).
- plaats de image in een mat
- plaats een tag op het object met de nw mat
- ga naar texture mode
- ga naar tag - coordinates en wijzig de settings onder scale.
- ... hier krijg ik de wiskunde niet voor elkaar.

Bijv. image is 935x660. Plane is 1310x887

Een beetje python is geen probleem.
__________________
Kijk ook eens op mijn YouTube Channel of mijn Cinema4d Blog.
Reply With Quote
  #2  
Old 9th March 2019
Ztef Ztef is offline
Member
 
Join Date: Mar 2016
Posts: 105
Default

ik snap je niet echt..
Reply With Quote
  #3  
Old 10th March 2019
roobol roobol is offline
Admin Team
 
Join Date: Mar 2009
Posts: 1,865
Default

Je afbeelding en vlak hebben verschillende aspect ratios, dus met een UVW projectie ga je altijd vervorming hebben. Kies voor je materiaal dus kubische projectie, ga in texture mode en gebruik het schaalgereedschap om je textuur aan te passen.

Een deel gaat dan wel buiten je vlak vallen, maar je hebt geen vervorming.
__________________
http://www.roobol.be
Reply With Quote
  #4  
Old 10th March 2019
pgrooff pgrooff is offline
Senior Member
 
Join Date: Aug 2009
Posts: 850
Default

Dat is duidelijk, maar ik wil het in een script toepassen.
User kiest een plane en een image. Het image moet dan, rekening houdend met de ratio, in het (de?) plane geplaatst worden.

Hier een voorbeeld hoe het handmatig met Camera Mapping Projection te doen.
De image is 512x512 en de plane is 1310x600.
Maar ja, dan zit met die camera en hoe dit alles in een script te doen?

Attached Images
File Type: jpg camera mapping projection.JPG (51.6 KB, 21 views)
__________________
Kijk ook eens op mijn YouTube Channel of mijn Cinema4d Blog.
Reply With Quote
  #5  
Old 10th March 2019
Ztef Ztef is offline
Member
 
Join Date: Mar 2016
Posts: 105
Default

Maar wat is het doel uiteindelijk?
Reply With Quote
  #6  
Old 10th March 2019
roobol roobol is offline
Admin Team
 
Join Date: Mar 2009
Posts: 1,865
Default

Is dit ongeveer wat je bedoelt? Ja kan het vlak schalen of in de Z richting verplaatsen.

De projectie is nog niet helemaal correct omdat de verticale beeldhoek niet exact gelijk is aan atan(y-size/distance)
Attached Files
File Type: zip projectie.zip (263.0 KB, 3 views)
__________________
http://www.roobol.be
Reply With Quote
  #7  
Old 10th March 2019
douwe's Avatar
douwe douwe is offline
Admin Team
 
Join Date: Feb 2010
Posts: 1,899
Default

@kees :
ik denk dat hij verwacht dat 1 zijde van een tile perfect overeenkomt met 1 van de zijden van de Plane.

@pim :
de "wiskunde" die je verwacht met de afmetingen in je oorspronkelijke vraag is

Code:
newwidthImage = widthPlane
newheightImage = oldheightImage / oldwidthImage * widthPlane
Maar je vraag is niet zo eenvoudig als je denkt, wanneer je ook rekening wil houden met alle mogelijke verhoudingen. ( staand / liggend / wat met BIJNA vierkante images, ... )

Dan kom ik, denk ik, voor alle cases behalve "bijna vierkant", uit op :

Code:
#plane liggend
if plane width  > plane height :

	#image liggend
	if image width > image height :
		newwidthImage = widthPlane
		newheightImage = oldheightImage / oldwidthImage * widthPlane
	
	#image staand of vierkant
	if image width <= image height :
		newheightImage = heightPlane
		newwidthImage = oldwidthImage / oldheightImage * heightPlane
		
#plane staand  of vierkant
if plane height  >= plane width :

	#image liggend
	blahblah.....
		
	#image staand of vierkant
	blahblah.....
Zou je zelf verder moeten kunnen invullen, right ?

d
Reply With Quote
  #8  
Old 10th March 2019
pgrooff pgrooff is offline
Senior Member
 
Join Date: Aug 2009
Posts: 850
Default

Bedankt voor het meedenken. Ik het goed bekijken en uitproberen.

@Kees, misschien moet ik camera mapping projectie gebruiken om de image te plaatsen mbv de ratio en dan de texture baken.

@Douwe, ik ga het proberen.
__________________
Kijk ook eens op mijn YouTube Channel of mijn Cinema4d Blog.
Reply With Quote
  #9  
Old 11th March 2019
douwe's Avatar
douwe douwe is offline
Admin Team
 
Join Date: Feb 2010
Posts: 1,899
Default

Hou rekening met het eerste antwoord van Kees.
(Cubic of Flat Projection. Géén UVW).
Reply With Quote
  #10  
Old 11th March 2019
pgrooff pgrooff is offline
Senior Member
 
Join Date: Aug 2009
Posts: 850
Default

Ik snap de wiskunde, maar het lijkt hier niet op te gaan.
Misschien zet ik de size van de image in de texture tag op een verkeerde manier.

Ik zet de image in een material en het material op het object (xy plane).
Vervolgens zet ik de texture tag op Flat en no Tiling.

Ik gebruikt Texture mode om de scale te zetten.
Dus ik selecteer - in texture mode - de texture tag en dan Coordinates.
De Scale staat dan op 100,100,100.
Ik doe alles in de xy plane, dus z is niet belangrijk.




De vraag is nu welke waarden moet ik in Scale zetten om de image maximaal te krijgen, maar rekening houdend met zijn ratio (width / height verhouding).

Als ik nu 512x300 invoer krijg ik dit.


Veel te groot dus.
Als ik scale zie als een "echte" scale, en ik probeer een factor of 2 (scale 200,200), dan krijg ik dit.


De ratio ziet er niet helemaal goed uit (teveel uitgerekt in y).
Width moet (en kan) groter.
Scale 256x200 lijkt een goede waarde.


Maar hoe kan ik deze waarde nu berekenen in een script?

Ik heb de scene en de image file bijgevoegd.
Attached Images
File Type: jpg ratio2.JPG (56.8 KB, 18 views)
File Type: jpg ratio3.JPG (57.4 KB, 18 views)
File Type: jpg ratio4.JPG (52.1 KB, 18 views)
File Type: jpg ratio5.JPG (53.2 KB, 15 views)
Attached Files
File Type: zip test ratio scene - image.zip (126.3 KB, 0 views)
__________________
Kijk ook eens op mijn YouTube Channel of mijn Cinema4d Blog.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On

Forum Jump


All times are GMT +2. The time now is 20:23.


Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Met trots gehost door Webdesign bureau Graphic Violence.
(c) C4DLounge.eu . All documents on this forum are owned by their respective creators and may not be sold or republished in any way.