Profile Picture

Tutorial: Making ocean waves for iClone in Blender

Posted By Rampa 7 Years Ago
You don't have permission to rate!
Author
Message
Rampa
Rampa
Posted 7 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (35.8K reputation)Distinguished Member (35.8K reputation)Distinguished Member (35.8K reputation)Distinguished Member (35.8K reputation)Distinguished Member (35.8K reputation)Distinguished Member (35.8K reputation)Distinguished Member (35.8K reputation)Distinguished Member (35.8K reputation)Distinguished Member (35.8K reputation)

Group: Forum Members
Last Active: 2 hours ago
Posts: 8.1K, Visits: 60.5K
Here's a tutorial I created that will guide you through the process of making animated ocean waves for Blender. You should have some familiarity working with Blender to do this.


CtrlZ
CtrlZ
Posted 7 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)

Group: Forum Members
Last Active: 2 days ago
Posts: 328, Visits: 4.4K
Thank you Rampa!




Home built liquid cooled AMD Ryzen 7 1800X cpu (8 core 16 thread) 4.0GHz,  rtx 3090, ASUS Crosshair VI Hero motherboard, 64 GB RAM, 500 GB SSD (Samsung 850 EVO) 6 TB HD's 4K monitor.
                                                                                                                                  
RobertoColombo
RobertoColombo
Posted 7 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (10.2K reputation)Distinguished Member (10.2K reputation)Distinguished Member (10.2K reputation)Distinguished Member (10.2K reputation)Distinguished Member (10.2K reputation)Distinguished Member (10.2K reputation)Distinguished Member (10.2K reputation)Distinguished Member (10.2K reputation)Distinguished Member (10.2K reputation)

Group: Forum Members
Last Active: 3 Years Ago
Posts: 1.6K, Visits: 3.0K
Great job Rampa!

Trick: to create multiple bones with one click, copy-paste this script in Blender text Editor and run it (ALT+P)

===========================================
import bpy

amtname = 'My Armature'
amt = bpy.data.armatures.new(amtname)

obname = 'My Bone'
ob = bpy.data.objects.new(obname, amt)

scn = bpy.context.scene
scn.objects.link(ob)
scn.objects.active = ob
ob.select = True

bpy.ops.object.mode_set(mode='EDIT')

cnt = 1
start_x = -5
end_x = 5
start_y = -5
end_y = 5

for index1 in range(start_x, end_x):
    for index2 in range(start_y, end_y):
        bone = amt.edit_bones.new('Bone' + str(cnt))
        bone.head = (index1,index2,0)
        bone.tail = (index1,index2,1)
        cnt = cnt + 1

bpy.ops.object.mode_set(mode='OBJECT')
===========================================

The script creates a matrix of bones, ceneterd around the origin, and displaced by 1 Blender unit.
Change start_x / end_x and start_y / end_y to adapt to your plane size

Cheers

  Roberto


My PC:
OS: Windows 10 Pro English 64-bit / CPU: Intel i7-9700 3.6GHz / MB: ASUS ROG Strix Z390  RAM: 32GB DDR4 2.6GHz / HD: 2TB+3TB  /  
SSD: 2x512GB Samsung 860 EVO + 1x2TB Samsung
VB: Palit GTX2080 TI GamingPro 11GB / AB: embedded in the MB and VB (audio from the MOTU M4 I/F) / DirectX: 12

Edited
7 Years Ago by RobertoColombo
Kevin.S
Kevin.S
Posted 7 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (10.4K reputation)Distinguished Member (10.4K reputation)Distinguished Member (10.4K reputation)Distinguished Member (10.4K reputation)Distinguished Member (10.4K reputation)Distinguished Member (10.4K reputation)Distinguished Member (10.4K reputation)Distinguished Member (10.4K reputation)Distinguished Member (10.4K reputation)

Group: Forum Members
Last Active: Last Year
Posts: 1.2K, Visits: 71.8K
Nice tutorial thanks ramp good tips

Beautiful



My iclone dream :-)



Freelance Artist Kevin.S



https://forum.reallusion.com/uploads/images/57cedd8e-58c4-42ce-b2f4-9646.png https://forum.reallusion.com/uploads/images/5a59e070-66a0-4914-b0a5-b2dc.png 

Email: animatemyart@gmail.com - Web Site:  www.animatemyart.com
Edited
7 Years Ago by kevin.S
mark
mark
Posted 7 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (12.1K reputation)Distinguished Member (12.1K reputation)Distinguished Member (12.1K reputation)Distinguished Member (12.1K reputation)Distinguished Member (12.1K reputation)Distinguished Member (12.1K reputation)Distinguished Member (12.1K reputation)Distinguished Member (12.1K reputation)Distinguished Member (12.1K reputation)

Group: Forum Members
Last Active: 2 days ago
Posts: 4.8K, Visits: 16.4K
SWEET!!!!!TongueTongueTongueTongue

PROMO-BACK2
Click here to go to my YouTube Channel filled with iClone Tutes and Silly Stuff

Visit ANIMATED PROJECTIONS Powered by iCLONE

Intel Core i7 3960X @ 3300MHz Overclocked to 4999.7 MHz Sandy Bridge 24.0GB DDR3 @ 833MHz Graphic Display HP ZR30w 
GeForce GTX 980Ti 6GB  Microsoft Windows 7 Professional 64-bit SP1 ASUSTeK COMPUTER INC. P9X79 WS (LGA2011)



Rampa
Rampa
Posted 7 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (35.8K reputation)Distinguished Member (35.8K reputation)Distinguished Member (35.8K reputation)Distinguished Member (35.8K reputation)Distinguished Member (35.8K reputation)Distinguished Member (35.8K reputation)Distinguished Member (35.8K reputation)Distinguished Member (35.8K reputation)Distinguished Member (35.8K reputation)

Group: Forum Members
Last Active: 2 hours ago
Posts: 8.1K, Visits: 60.5K
RobertoColombo (1/12/2017)
Great job Rampa!

Trick: to create multiple bones with one click, copy-paste this script in Blender text Editor and run it (ALT+P)

===========================================
import bpy

amtname = 'My Armature'
amt = bpy.data.armatures.new(amtname)

obname = 'My Bone'
ob = bpy.data.objects.new(obname, amt)

scn = bpy.context.scene
scn.objects.link(ob)
scn.objects.active = ob
ob.select = True

bpy.ops.object.mode_set(mode='EDIT')

cnt = 1
start_x = -5
end_x = 5
start_y = -5
end_y = 5

for index1 in range(start_x, end_x):
    for index2 in range(start_y, end_y):
        bone = amt.edit_bones.new('Bone' + str(cnt))
        bone.head = (index1,index2,0)
        bone.tail = (index1,index2,1)
        cnt = cnt + 1

bpy.ops.object.mode_set(mode='OBJECT')
===========================================

The script creates a matrix of bones, ceneterd around the origin, and displaced by 1 Blender unit.
Change start_x / end_x and start_y / end_y to adapt to your plane size

Cheers

  Roberto

This script works really well. It gives an instant 10 by 10 grid of non-hierarchical bones in a single armature. If you need more bones in a different layout, like for along a beach, run the script twice (or more) and reposition the multiple armatures so that you have a nice rectangular grid layout. Then select all the armatures and hit "Cntrl-J". This will join them into one. Smile
Edited
7 Years Ago by rampa
RobertoColombo
RobertoColombo
Posted 7 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (10.2K reputation)Distinguished Member (10.2K reputation)Distinguished Member (10.2K reputation)Distinguished Member (10.2K reputation)Distinguished Member (10.2K reputation)Distinguished Member (10.2K reputation)Distinguished Member (10.2K reputation)Distinguished Member (10.2K reputation)Distinguished Member (10.2K reputation)

Group: Forum Members
Last Active: 3 Years Ago
Posts: 1.6K, Visits: 3.0K
Hi Rampa,

thanks for the appreciation.
The script is the basic "skeleton" showing the principle: if you need to have the bones following some shapes, then it is just a matter of resolving the bone coordinates used by the inner "for" loops with a bit of math. In other words, something like (here "function" is a Python function that shall contain any math you can think of...):

for x range(start_x, end_y):
    for y in range(start_y, end_y):
        bone_x = function(x)
        bone_y = function(y)
        bone = amt.edit_bones.new('Bone' + str(bone_x) + "_" str(bone_y))
        bone.head = (bone_x,bone_y,0)
        bone.tail = (bone_x, bone_y,1)

Note also something else: in this example I named the bone using its bone_x and bone_y coordinates (in the example I gave before it was named after an increment counter).
Naming with the bone actual coordinates make it easier to find the bone once imported into iClone.

Cheers

  Roberto


My PC:
OS: Windows 10 Pro English 64-bit / CPU: Intel i7-9700 3.6GHz / MB: ASUS ROG Strix Z390  RAM: 32GB DDR4 2.6GHz / HD: 2TB+3TB  /  
SSD: 2x512GB Samsung 860 EVO + 1x2TB Samsung
VB: Palit GTX2080 TI GamingPro 11GB / AB: embedded in the MB and VB (audio from the MOTU M4 I/F) / DirectX: 12

Edited
7 Years Ago by RobertoColombo



Reading This Topic