project reality header
Go Back   Project Reality Forums > PR:BF2 Mod Forums > PR:BF2 Community Modding
19 Nov 2017, 00:00:00 (PRT)
Register Forum RulesDeveloper Blogs Project Reality Members List Search Today's Posts Mark Forums Read
PR:BF2 Community Modding Making or wanting help making your own asset? Check in here

Reply
 
LinkBack Thread Tools Display Modes
Old 08-18-2017, 12:57 PM   #61
Harmonikater
Default Re: Experimental updated 3dsMax Tools. Newer Max versions support and more.

Quote:
Originally Posted by [R-DEV]Outlawz7 View Post
No way to automate that part, make the script align planes properly?

Also we've had discussion about tree lods, especially the very jungle tree(s) used in tutorial after we released Rhino's Operation Soul Rebel map where he redid the LODs for those trees in order to try and increase performance. We think it's not just about the tri count but also alpha testing, it may be better to cut off transparent parts of the mesh ie. sth like this:



I found there's tools that create planar geometry shaped on texture, mainly for sprite based games so it's possible?

I'm not saying it's impossible to make the script align the planes. But I don't see any straightfoward methods of getting them correctly. Getting them to align isn't straightforward automation anymore, but imo would require heuristical/statistical methods, and even then you couldn't be sure that they line up correctly. The tree in the tutorial for example is very off-center, with however a big branch going into the other direction. So if one were to use CG or something similar, one would have to make sure it's not being biased by branched and whatnot. And this is even bore one considers that trunk might be curved, like with the kentia palm, so at this point it becomes fairly complicated. Irregardless of whether one is looking at the original mesh or the baked texture. Any approaches I would have to try and implement this would likely require more cpu time than what it takes to just do it by hand and human brain.
I might be thinking overly complicated here of course, I you have better suggestions we can discuss.

Regarding cutting off the alpha parts, I'm also thinking overly complicated perhaps (requiring reading every alpha pixel finding every "edge" pixel, sorting them so they can be converted to an editable spline which is extruded and used to cut the plane mesh, so fairly resource-intensive, since max isn't the greatest at handling bitmaps), but I couldn't really find anything on the automated sprite tools that you write about. Do you have a link for that or something?

Also another idea for the LMing Dialog. If possible I think it might be useful to have only certain patches (or even just the area affected by a selected static) rendered. Is this indeed useful from a mappers pov?
Harmonikater is offline Reply With Quote
Old 08-29-2017, 02:00 PM   #62
[R-DEV]Outlawz7
PR:BF2 Developer

[R-DEV]Outlawz7's Avatar
Default Re: Experimental updated 3dsMax Tools. Newer Max versions support and more.

Quote:
Regarding cutting off the alpha parts, I'm also thinking overly complicated perhaps (requiring reading every alpha pixel finding every "edge" pixel, sorting them so they can be converted to an editable spline which is extruded and used to cut the plane mesh, so fairly resource-intensive, since max isn't the greatest at handling bitmaps), but I couldn't really find anything on the automated sprite tools that you write about. Do you have a link for that or something?
https://www.spriteuv.com/

Quote:
Also another idea for the LMing Dialog. If possible I think it might be useful to have only certain patches (or even just the area affected by a selected static) rendered. Is this indeed useful from a mappers pov?
In the current tools there is a 'Render selected' button, not sure what else you'd mean.

I did think something else: can you split the terrain into 2x2/4x4/8x8 patches (depending on heightmap size) so each section can be LMd separately?

Rhino's tutorial right now requires a 4096/8192px render of the whole terrain which is then split into parts BF2 uses, I think rendering the terrain LMs per each section/part like editor terrain LMing already does would help with performance/being 32-bit etc. and also manually increasing/decreasing resolution per part, for example you wouldn't need to optimise flat maps on water-only sections of terrain if they weren't rendered highres in the first place.

[R-DEV]Outlawz7 is offline Reply With Quote
Old 09-03-2017, 11:12 AM   #63
dnamro
Default Re: Experimental updated 3dsMax Tools. Newer Max versions support and more.

It is really great to see the BF2 plugins updated for newer versions of 3ds Max. Previously, the most currrent updates has been to Max 2013, 32 bit, which was the last version to even offer 32 bit.
dnamro is offline Reply With Quote
Old 09-07-2017, 11:50 AM   #64
worldlife
Default Re: Experimental updated 3dsMax Tools. Newer Max versions support and more.

A bug I found:
When exporting objects, the .material file failed to be deleted. Is it just I, or everyone who uses this plugin notice this?
I think it results from a bug in maxscript, that any file created by 'createFile' function cannot be released properly. To solve this I recommend writing all text files as binary files.
Code:
fn saveMaterial fname meshname a=(
	local fMat = fopen fname "ab" --I didn't find filestream write methods in maxscript(max9), so I just use binStream *by worldlife 2017/8/13
	--append mesh name
	local stringToWrite = "<" + meshname + ">\n\n"
	for matString in (filterString a "?") do(
		--format "matString=%\n" matString
		if matString.count<=1 then continue
		matInfos = filterString matString ";"
		if matInfos.count!=5 then format "ERROR in saveMaterial fname meshname a! Invalid string in a: %\n" matString
		append stringToWrite ("MAT " + matInfos[1] + " \"" + matInfos[2] + "\"\nFX \"" + matInfos[3] + "\"\nTechnique \"" + matInfos[4] + "\"\n")
		for texString in (filterString matInfos[5] "|") do(
			if texString.count<=1 then continue
			append stringToWrite ("Texture \"" + texString + "\"\n")
		)
		append stringToWrite "\n"
	)
	--WriteString fMat stringToWrite
	for i=1 to stringToWrite.count do(
		WriteByte fMat (bit.charAsInt stringToWrite[i]) #unsigned
	)
	fclose fMat
	return 0
)
worldlife is offline
Last edited by worldlife; 09-07-2017 at 11:55 AM..
Reply With Quote
Old 09-09-2017, 05:15 PM   #65
B4rr3l
Default Re: Experimental updated 3dsMax Tools. Newer Max versions support and more.

fix for 2012 MAX by EmilioMau

3.45B Fix 2012
__blank___
B4rr3l is offline
Last edited by B4rr3l; 09-09-2017 at 08:59 PM..
Reply With Quote
Old 09-09-2017, 05:28 PM   #66
B4rr3l
Default Re: Experimental updated 3dsMax Tools. Newer Max versions support and more.

Just want to thank @Harmonitaker for this awesome updated tool that made me possible use Blender for BF2 development!

Spoiler for rant:
After 3 days using 3D Max 2017 I'm just sure of one thing, and that it needs a Supercomputer to run well,
probably it does have more features and tools than blender but it's amazing how it's worse for everything we really need.

It's slow and laggy, hit a wrong button and wait for system crash (and that's on a Ryzen 1600 @ 3.8Ghz w/ 16GB and 850PRO SSD...

Nothing explains the fact that Blender comes in a portable 300MB folder ready to use, 3DMax required 3GB in a pretty bureaucratic and slow installation

For everything that I know how to use, Blender was way better.... navigation, menus are faster and more productive

Same Raytracing rendering quality and 3dmax uses 9GB of RAM against 5GB on Blender

Better UV mapping, better object modeling and some better subdivision tools can also be found on blender...

I know that I'm just a newbie, but for now, I have a 3GB , $3.000 software, used as export tool for blender.
B4rr3l is offline
Last edited by [R-DEV]Rhino; 09-09-2017 at 06:30 PM..
Reply With Quote
Old 09-09-2017, 06:18 PM   #67
[R-DEV]Mineral
PR:BF2 Lead Designer
Supporting Member
PR Server License Administrator

[R-DEV]Mineral's Avatar
Default Re: Experimental updated 3dsMax Tools. Newer Max versions support and more.

Not sure if you noticed but this thread is about 3dsmax export tools. Not your personal whining thread on it. You can use whatever software you want, but please keep this thread to discuss the actual topic which is very important to us.

[R-DEV]Mineral is online now Reply With Quote
Old 09-10-2017, 06:26 PM   #68
[R-DEV]Mineral
PR:BF2 Lead Designer
Supporting Member
PR Server License Administrator

[R-DEV]Mineral's Avatar
Default Re: Experimental updated 3dsMax Tools. Newer Max versions support and more.

Harmonikater, I got another error.

when loading staticobjects.con for lightmapping it gives a crash. I have tracked it down to it trying to load none staticobjects such as vehicles. A staticobjects.con file also holds the "run" command for many vehicles and assets parts of the gameplay layers. Take this one for an example. As you see it first loads all the statics, but at the bottom it will load items such as vehicles etc, and when loading those I think the script crashes.

Work-around: remove all none-statics from the list.


Code:
if v_arg1 == BF2Editor
console.allowMultipleFileLoad 0
run /objects/common/cloth_line/cloth_line.con
run /objects/staticobjects/pr/military/sandbags/sandbagwall_4m/sandbagwall_4m.con
run /objects/effects/impacts/explosions/mexp/medium/e_mexp_m_sandbags.con
run /objects/staticobjects/pr/afghan/destroyable/shed_v1/shed_v1.con
run /objects/effects/impacts/explosions/mexp/medium/e_mexp_m_prbuilding.con
run /objects/staticobjects/common/destroyableobjects/sign_parking_dest/sign_parking_dest.con
run /objects/effects/impacts/destruction/traffic_signs/e_destruction_sign_parking.con
run /objects/staticobjects/pr/destroyable_objects/fence_wire_destroyable/fence_wire_destroyable.con
run /objects/effects/pr/wirefence/e_destruction_wirefence.con
run /objects/staticobjects/common/destroyableobjects/trestle01_dest/trestle01_dest.con
run /objects/effects/impacts/destruction/e_destruction_trestle01.con
run /objects/staticobjects/common/destroyableobjects/parkingmeter_dest/parkingmeter_dest.con
run /objects/effects/impacts/destruction/e_destruction_parkingmeter.con
run /objects/staticobjects/common/roads/highway_bridge_low_segment/highway_bridge_low_segment.con
run /objects/effects/damagestates/e_dstate_bridge_d1.con


.... more statics until...


run /objects/common/ammocache/ammocache.con
run /objects/vehicles/air/idf_the_uh60/idf_the_uh60.con
run /objects/vehicles/air/idf_ahe_apache/idf_ahe_apache.con
run /objects/vehicles/sea/boat_rib/boat_rib_gpmg_anf1.con
run /objects/vehicles/land/idf_apc_m113/idf_apc_m113.con
run /objects/common/vehicle_depot/vehicle_depot_idf.con
run /objects/vehicles/land/idf_apc_namer/idf_apc_namer.con
run /objects/vehicles/land/idf_trk_logistics/idf_trk_logistics.con
run /objects/common/supply/fixed_supply_crate_idf/fixed_supply_crate_idf.con
run /objects/common/vehicle_depot/vehicle_depot_tal.con
run /objects/vehicles/civilian/civ_trk_dumpster/civ_trk_dumpster_bomber.con
run /objects/vehicles/civilian/civ_jep_technical/civ_atm_technical_rocket.con
run /objects/vehicles/civilian/civ_jep_zastava900ak/civ_jep_zastava900ak.con
run /objects/vehicles/civilian/civ_atm_technical/civ_atm_technical.con
run /objects/vehicles/civilian/civ_jep_car/civ_jep_car_black.con
run /objects/vehicles/civilian/civ_bik_dirtbike/civ_bik_dirtbike.con
run /objects/vehicles/civilian/civ_bik_hondacb500/civ_bik_hondacb500.con
run /objects/vehicles/civilian/civ_bik_atv/civ_bik_atv.con
run /objects/vehicles/civilian/civ_jep_technical2/civ_jep_technical2.con
run /objects/vehicles/civilian/civ_jep_technical/civ_jep_technical_red.con
run /objects/vehicles/civilian/civ_jep_technical/civ_jep_technical_black.con
run /objects/vehicles/civilian/civ_jep_car/civ_jep_car_bomber.con
run /objects/common/supply/fixed_supply_crate_tal/fixed_supply_crate_tal.con
run /objects/vehicles/land/idf_trk_support/idf_trk_support.con
run /objects/vehicles/civilian/civ_jep_car/civ_jep_car_blue.con
run /objects/vehicles/civilian/civ_jep_car/civ_jep_car_white.con
run /objects/vehicles/civilian/civ_jep_car/civ_jep_car.con
run /objects/vehicles/civilian/civ_jep_support/civ_jep_support.con
run /objects/vehicles/civilian/civ_jep_support/civ_jep_support_logistics.con
run /objects/common/supply/fixed_supply_crate/fixed_supply_crate.con
run /objects/common/rallypoints/rallypoints.con
console.allowMultipleFileLoad 1
endIf

[R-DEV]Mineral is online now Reply With Quote
Old 09-13-2017, 09:34 PM   #69
dnamro
Default Re: Experimental updated 3dsMax Tools. Newer Max versions support and more.

A PCO should not be in the staticobject list anyway. So, that is not really a bug?
dnamro is offline Reply With Quote
Old 09-14-2017, 12:02 AM   #70
[R-DEV]Outlawz7
PR:BF2 Developer

[R-DEV]Outlawz7's Avatar
Default Re: Experimental updated 3dsMax Tools. Newer Max versions support and more.

Yes it is an issue because BF2 editor saves them into staticobjects.con and the tool should take that into account. Also I'm pretty sure current tools import staticobjects.con that has vehicles saved without issue.

[R-DEV]Outlawz7 is offline Reply With Quote
Reply


Tags
3dsmax, experimental, max, newer, support, tools, updated, versions
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 Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT -4. The time now is 10:01 AM.


Powered by: vBulletin. ©vBulletin Solutions, Inc.
Search Engine Optimization by vBSEO 3.6.1
All Content Copyright ©2004 - 2015, Project Reality.