3dstogltf
谨记:模型和中心点需移动到坐标中心(0,0,0)
1、在3dmax中先用脚本3dstoobj.ms将3ds转为obj
2、下载cesium插件node-v10.16.0-x64.msi
3、nmp安装obj2gltf,先切换到对应路径
npm install --save obj2gltf
4、新建工程路径,把对应的模块拷贝到路径下
从
到
从
到
5、把模型放在路径下
把所有材质放在路径下
![在这里插入图片描述](https://img-blog.csdnimg.cn/2019071917015927.png
6、运行bat文件
生成的模型也在路径下
-- f = getOpenFileName types:"TXT(*.txt)|*.txt|All|*.*|"
-- vert_array = #()
-- in_name = f
-- in_file = openFile in_name
-- if in_file != undefined then
-- (
-- for i=0 to 10 do
-- (
-- temp=readValue in_file
--
-- if temp==undefined then
-- print 1
-- else
-- (
-- importFile temp #noPrompt
--
-- )
-- )
--
-- close in_file
-- )
folder=getSavePath caption:"my title" initialDir:(getDir #maxroot)
my_tempfiles=getFilesRecursive folder "*.3ds"
--importFile "C:\Users\Administrator\Desktop\3DS\Tile_+012_+004.obj" #noPrompt
fn getFilesRecursive root pattern =
(
--root=folder
--pattern="*.obj"
dir_array = GetDirectories (root+"/*")
for d in dir_array do
join dir_array (GetDirectories (d+"/*"))
my_files = #()
if dir_array.count == 0 do append dir_array (root + "\\")
for f in dir_array do
join my_files (getFiles (f + pattern))
my_files
)
for i=1 to my_tempfiles.count do
(
temp=my_tempfiles[i]
findstring temp "\\"
filenameFromPath temp
if temp==undefined then
print 1
else
(
--新建文件夹
importfile temp #noprompt
temppath=substitutestring temp(filenameFromPath temp)""
tempfilename= filenameFromPath temp
filename=substitutestring tempfilename".3DS" ""
--filenamefrompath temppath
--newmaxfilepath-substitutestring temppath(filenamefrompath temppath)"
newmaxfilepath= temppath+"\\"+ filename+".obj"
--outputfile = createfile newmaxfilepath
--makedir newmaxfilepath all:true
--新建文件夹
exportfile(newmaxfilepath) #noprompt
sset=selection
for geo in sset do
(
delete geo
)
)
)
@echo off
for /r E:/objtogltf/obj2gltf/OBJ %%i in (*.obj) do node bin/obj2gltf.js -i %%i -o %%i
pause