Showing posts with label 3D modelling. Show all posts
Showing posts with label 3D modelling. Show all posts

Tuesday, 18 April 2017

FBX ASCII 7300 (2013) File Format



Monday, 23 March 2015

Classic style theme for Metasequoia 4

A Japanese user has uploaded themes for Metasequoia 4 that recreate the style of Metasequoia 3 (top image) and the Japanese paint program SAI Paint (bottom image).



Classic Theme
SAI Paint Theme

Links and screenshot obtained from Metasequoia BBS post [5447].

Friday, 1 August 2014

Milkshape 3D 1.8.5 *.ms3d file format

The Milkshape 3D file format is included in the ms3dsdk185.zip available at http://www.milkshape3d.com/ but contains some errors which I have corrected.

I also added some extra information for clarification.

Saturday, 12 July 2014

Metasequoia Script – Import MilkShape3D *.ms3d

Here is a script that imports a model from a MilkShape3D *.ms3d file.

The script uses Python 3 modules, syntax and objects so can only be used as is with Metasequoia 4.

MS3D model imported into Metasequoia 4


Monday, 7 July 2014

About Rotations in Skeletal Animation

In skeletal animation, for every frame of an animation, the position of a bone’s origin (pivot point) and a bone’s rotation is stored for each bone in a hierarchy of bones.

The hierarchy of bones is also known as a skeleton.

In this article I will only discuss the rotations.

Like any 3DCG object you create in 3D modelling software, each bone has a local coordinate system defined by X,Y and Z axes.

For example I can define a bone as an object where the direction from the origin of the bone to its tip is in the positive Z axis direction and the the top of the bone is in the positive Y axis direction.

In essence I have created an object as shown below.

A bone can be considered a 3D object


Monday, 30 June 2014

Metasequoia Script – Using Quaternions to Rotate Points

You can use a Python script in Metasequoia to demonstrate the quaternion sandwich product rotating a point.

I have set up a Metasequoia document as shown below.

Demonstate quatenion sandwich product in Metasequoia 4

Monday, 16 June 2014

Metasequoia Script – Mikoto bdef bone influence

See this post [link] for the basics of scripting in Metasequoia.

In this post [link] I talk about how Mikoto assigns vertices to a bone using the geometry of the triangle created in Metasequoia for bdef meshes without using anchors.

To help visualise which vertices will be bound to a bone I wrote a script that shows the zone of influence of each bone.

The Metasequoia Python API doesn’t have routines to create Primitive objects so rather than create an object in code this script requires a Primitive to be created in Metasequoia which it can copy.

The Primitive object must be named capsule and have its properties set as shown in the screenshot below.

Create a capsule primitive with these settings


Saturday, 7 June 2014

Metasequoia Script–Lots of cubes

See this post [link] for the basics of using Metasequoia’s Script Editor.

I found an interesting script at this Japanese blog [link].


Friday, 6 June 2014

Metasequoia Script–Sierpinski Triangle Pyramid

See this post [link] for the basics of using Metasequoia’s Script Editor.

I found an interesting script at this Japanese blog [link].
 
# fractal generate

doc = MQSystem.getDocument()

num = doc.numObject
obj = doc.object[0]

# field

x = 100
y = 100
z = 100
rn = 4 # recursive number

# Primitive

p01 = MQSystem.newPoint(x/2,y,z/2)
p02 = MQSystem.newPoint(0,0,0)
p03 = MQSystem.newPoint(x,0,0)
p04 = MQSystem.newPoint(x,0,z)
p05 = MQSystem.newPoint(0,0,z)

# function fractal()

def fractal(number,p1,p2,p3,p4):

  if number == 1:
  
    #left
    
    v = []
    v.append( obj.addVertex(p1) )
    v.append( obj.addVertex(p2) )
    v.append( obj.addVertex(p3) )
    
    obj.addFace(v)
    
    #right
    
    v = []
    v.append( obj.addVertex(p1) )
    v.append( obj.addVertex(p3) )
    v.append( obj.addVertex(p4) )
    
    obj.addFace(v)
    
    # bottom
        
    v = []
    v.append( obj.addVertex(p4) )
    v.append( obj.addVertex(p3) )
    v.append( obj.addVertex(p2) )
    
    obj.addFace(v)
    
  else:
    p5 = MQSystem.newPoint((p1.x + p2.x)/2, (p1.y + p2.y)/2, (p1.z + p2.z)/2)
    p6 = MQSystem.newPoint((p2.x + p3.x)/2, (p2.y + p3.y)/2, (p2.z + p3.z)/2)
    p7 = MQSystem.newPoint((p3.x + p1.x)/2, (p3.y + p1.y)/2, (p3.z + p1.z)/2)
    p8 = MQSystem.newPoint((p3.x + p4.x)/2, (p3.y + p4.y)/2, (p3.z + p4.z)/2)
    p9 = MQSystem.newPoint((p4.x + p1.x)/2, (p4.y + p1.y)/2, (p4.z + p1.z)/2)
    p10 = MQSystem.newPoint((p4.x + p2.x)/2, (p4.y + p2.y)/2, (p4.z + p2.z)/2)
        
    fractal(number-1,p1,p5,p7,p9)
    fractal(number-1,p5,p2,p6,p10)
    fractal(number-1,p7,p6,p3,p8)
    fractal(number-1,p9,p10,p8,p4)
    fractal(number-1,p7,p8,p10,p6)
     
# endfunction fractal()

#main()

fractal(rn,p01,p02,p03,p04)
fractal(rn,p01,p04,p05,p02)

Make sure you have an empty Scene in Metasequoia by clicking File>New then open the Script Editor and paste the code into the upper input pane of the editor.

Paste the code into the Script Editor's input window

Press F5 or Script>Run to execute the script and create the object.

Execute the script to create the object




Thursday, 29 May 2014

Learning fragMOTION part 2

I have found a simpler way to texture a model and to demonstrate I will use an *.ms3d file exported from Fexanim this time.

<Edit 17Sep14>

TurboPascal has updated Fexanim to include the material information in the *.ms3d file so the texture will now be assigned automatically when the *.ms3d is opened in fragMOTION.

TurboPascal also fixed the bugs that caused the UV map errors and the joining of the vertices in the upper leg meshes.

http://www.dxtre3d.com/temp/fexanim.rar

</Edit>

Open the model in fragMOTION and click the Texture pane tab.

Right click in the Texture pane and click New>Texture from the context menu.

Right click in texture pane and create a new texture


Tuesday, 27 May 2014

Learning fragMOTION part 1

fragMOTION is a 3D modelling and animating program. [link]

It is not freeware but you can use the fully featured trial indefinitely by obtaining a seven day license every seven days.

The seven day license is obtained by typing a version of the Christian Lord’s prayer into the program when prompted.

Note I had to use a compatibility mode for the program not to give me a “trial has expired” warning and making the program close to unusable even though I had typed in the prayer. I don’t know if I did something wrong or if the program has a problem with Windows 8.1.

(Since I installed it in Program Files I needed to run it as administrator to have the trial work properly.)

<Edit 10AUG18>  Here is a program (CoreMotion) that will type automatically the prayer. I didn't write it so make sure to check with anti-virus programs. <link>
</Edit>

FragMotion screenshot


Metasequoia Script – integer vertex coordinates

The registered version of Metasequoia allows scripting in the Python language.

This article will demonstrate a script to move all vertices (also known as points) in an object to integer coordinates.

An integer is a whole number like 1, 2, 3, 40, 75 etc.

A trial license for Metasequoia 4 is easy to obtain and unlocks all features for a limited time including the Script Editor. [link]