Houdini全面入门及进阶系列教程 houdinikitchen-Tutorials
Tutorial 1. Networks and Nodes
Putting together a scene in Houdini
Welcome to the first Houdini Kitchen tutorial. Before we get on to learning about specific nodes I am going to take a look at how a Houdini scene goes together.
In Houdini you will do most of your work inside a single geometry node, but in order to set up the nodes for use in another program it can be helpful to separate them out into different types of geometry. Or, if you import a scene from outside Houdini such as an unreal scene, it will be presented to you as a bunch of separate objects and it’s useful to understand what all the different elements mean.
For most of these tutorials I would expect you to follow the tutorial as you go along and create something similar, but for this first one you should instead open the scene which I have provided alongside the tutorial, called Fairy Hill, and just take a look at it. There is a link at the bottom of this page, or in the downloads section. A lot of this won’t make sense yet but as you move through the tutorials you can refer back to this scene and see how it is set up.
More information on my Website
To download the Files
http://www.houdinikitchen.net/wp-content/uploads/2019/04/Fairy_Hill.zip
谷歌翻译:
在Houdini中整合场景
欢迎来到第一本Houdini Kitchen教程。在继续学习特定节点之前,我将看一看Houdini场景如何组合在一起。
在Houdini中,您将在单个几何图形节点中完成大部分工作,但是为了将这些节点设置为在另一个程序中使用,将它们分成不同类型的几何图形可能会有所帮助。或者,如果您从Houdini外部导入场景(例如虚幻场景),则该场景将作为一堆单独的对象呈现给您,这对于理解所有不同元素的含义很有用。
对于大多数这些教程,我希望您继续学习本教程并创建类似的内容,但是对于第一个教程,您应该打开我与该教程一起提供的名为Fairy Hill的场景,然后看看在它。此页面底部或下载部分中有一个链接。许多操作还没有意义,但是当您逐步学习这些教程时,您可以参考此场景并了解其设置。
我的网站上的更多信息
下载文件
http://www.houdinikitchen.net/wp-content/uploads/2019/04/Fairy_Hill.zip
Tutorial 2. Transform Node
An in depth look at the Transform Node, and an introduction to the parameters window, creating custom parameters, using variables in expressions and creating a simple HDA (Houdini Digital Asset) which is a tool you can create, reuse and share.
The Expressions used in this tutorial are summarised in a handy cheat sheet, along with a list of global and local variables
If you want to recreate the scene shown here I have provided the Dutch House models shown in the video, which you can download below. There is also a copy of the completed scene and HDA.
More information on my Website
To download the Files
http://www.houdinikitchen.net/wp-content/uploads/2019/04/Dutch_Houses.zip
谷歌翻译:
深入研究“转换节点”,并介绍参数窗口,创建自定义参数,使用表达式中的变量以及创建简单的HDA(Houdini Digital Asset),您可以使用它创建,重用和共享工具。
本指南中使用的表达式在便捷的备忘单中进行了汇总,并列出了全局变量和局部变量
如果要重新创建此处显示的场景,我已提供了视频中显示的荷兰房屋模型,您可以在下面下载。还提供了完成的场景和HDA的副本。
我的网站上的更多信息
下载文件
http://www.houdinikitchen.net/wp-content/uploads/2019/04/Dutch_Houses.zip
Tutorial 3. Geometry Primitives
An in depth look at the Geometry Primitives that can be used as basic building blocks in Houdini.
The nodes covered are: Circle, Sphere, Tube, Box, Torus, Platonic Solids and Grid.
This is a very practical tutorial that will tell you everything you need to know about the different types of geometry you can create (primitives, polygon, polygon mesh, mesh, nurbs, bezier and polygon soup) and when you might want to use them.
We discuss using the Houdini help documentation to see working examples of nodes.
We look at the grid primitive in more detail, and show some of it’s uses, as a spawn for articles, as a surface to paint on, and as a basis for a mountain landscape.
We give another example of expressions in the parameter window, and use these to keep the density of the grid consistent regardless of it’s scale.
Note: This video was made in Houdini 17.0. To access the particle node in later versions
open the textport using Alt+Shift+T
type:
cd /obj/geo1
opadd -e particle
More information on my Website
谷歌翻译:
深入了解可用作Houdini中的基本构建基块的Geometry Primitives。
涵盖的节点为:圆形,球形,管状,框形,圆环形,柏拉图式实体和网格。
这是一本非常实用的教程,它将告诉您有关可以创建的不同几何类型(基本体,多边形,多边形网格,网格,nurbs,贝塞尔曲线和多边形汤)以及何时需要使用它们的所有知识。
我们讨论使用Houdini帮助文档来查看节点的工作示例。
我们将更详细地介绍网格图元,并展示其某些用途,例如作为物品的生成,作为要绘画的表面以及作为山地景观的基础。
我们在参数窗口中给出另一个表达式示例,并使用这些表达式使网格密度保持一致,而不管其比例如何。
注意:此视频是在Houdini 17.0中制作的。在更高版本中访问粒子节点
使用Alt + Shift + T打开文本端口
类型:
cd / obj / geo1
opadd -e粒子
我的网站上的更多信息
Tutorial 4. Introduction to VOPs
This tutorial is an introduction to the VOP network which is too large a subject to cover in a single tutorial. We look at the attribute VOP and explain how it is used to manipulate and create point attributes.
The tutorial covers position and colour manipulation using math nodes and looks at noise and pattern generation. Then it shows how to create a low polygon planet using noise for continents and seas, and shows how to add a new attribute called “pscale” which can be used to scale objects placed on the points.
More information on my Website
To download the Files
http://www.houdinikitchen.net/wp-content/uploads/2019/05/VOP_Node.zip
谷歌翻译:
本教程是VOP网络的简介,该主题太大,无法在单个教程中涵盖。我们看一下属性VOP并解释如何将其用于操纵和创建点属性。
本教程介绍了使用数学节点进行位置和颜色处理,并探讨了噪点和图案的生成。然后,它展示了如何使用大陆和海洋的噪声创建低多边形的行星,并展示了如何添加一个称为“ pscale”的新属性,该属性可用于缩放放置在这些点上的对象。
我的网站上的更多信息
下载文件
http://www.houdinikitchen.net/wp-content/uploads/2019/05/VOP_Node.zip
Tutorial 5. Merge Node
A short tutorial on how and when to use the merge node, and how you can use groups to access individual sources after they have been merged.
More information on my Website
谷歌翻译:
关于如何以及何时使用合并节点以及如何在合并后的组中使用组访问单个源的简短教程。
我的网站上的更多信息
Tutorial 6. Scatter Node
This tutorial looks at the Scatter Node which is used to place random points on a surface. It covers some of the different ways of driving point placement including point counts, textures, and a density attribute.
It also dives deeper into working with attribute VOPs. By the end of the tutorial we have shown how the Scatter node can be used to create a desert scene with a realistic distribution of vegetation.
More information on my Website
To download the scene files
http://www.houdinikitchen.net/wp-content/uploads/2019/06/ScatterNode_Files.zip
谷歌翻译:
本教程着眼于分散节点,该节点用于在表面上放置随机点。它涵盖了驱动点放置的一些不同方式,包括点数,纹理和密度属性。
它还深入研究了属性VOP。在本教程结束时,我们已经展示了如何使用“散布”节点来创建具有真实植被分布的沙漠场景。
我的网站上的更多信息
下载场景文件
http://www.houdinikitchen.net/wp-content/uploads/2019/06/ScatterNode_Files.zip
Tutorial 7. Group Nodes
This tutorial looks at how to create and use groups in Houdini. It covers the group node, the group range node, the group transfer node and the group combine node.
We take a look at group syntax which can be used to add patterns of components to groups.
The documentation for group syntax is here:
https://www.sidefx.com/docs/houdini/model/groups.html
In exploring the group node the tutorial uses different kinds of groupings to create a chess board that has the positions of the pieces driven by rows and columns as used in chess notation ( https://en.wikipedia.org/wiki/Chess_notation )
The final piece was made into a Houdini Digital Asset which is included in the links below. Please visit my website for a description of how this was set up and for more tutorials and links
The scene file can be downloaded here:
http://www.houdinikitchen.net/wp-content/uploads/2019/06/Chessboard.zip
The Digital Asset can be downloaded here:
http://www.houdinikitchen.net/wp-content/uploads/2019/06/Chessboard_HDA.zip
谷歌翻译:
本教程研究如何在Houdini中创建和使用组。它涵盖了组节点,组范围节点,组传输节点和组合并节点。
我们来看一下可用于向组中添加组件模式的组语法。
组语法的文档在这里:
https://www.sidefx.com/docs/houdini/model/groups.html
In exploring the group node the tutorial uses different kinds of groupings to create a chess board that has the positions of the pieces driven by rows and columns as used in chess notation ( https://en.wikipedia.org/wiki/Chess_notation )
最后的作品被制成Houdini数字资产,包含在下面的链接中。请访问我的网站以获取有关该设置的说明以及更多的教程和链接
场景文件可以在这里下载:
http://www.houdinikitchen.net/wp-content/uploads/2019/06/Chessboard.zip
可在此处下载数字资产:
http://www.houdinikitchen.net/wp-content/uploads/2019/06/Chessboard_HDA.zip
Tutorial 8. All about Houdini Digital Assets
Houdini Digital Assets (HDAs) are networks of nodes that can be packaged up to simplify commonly used tasks in Houdini or to create tools that can be used in external software.
HDAs can be used in any software that has a Houdini Engine Plugin. these include:
Houdini
Autodesk’s Maya
Autodesk’s 3DS Max
Epic’s Unreal Engine (UE4)
Unity
This tutorial shows you how to set them up for different uses and to create correctly formatted geometry.
This video covers:
Creating networks in Houdini to speed up commonly used tasks
Setting up networks for external software and how to integrate with objects that were not created in Houdini.
How to set up instancing of input objects in HDAs
UPDATE: The setup for instancing in the video skips an important step- The points onto which the instance is placed need an “up” attribute to orient them correctly on a curved surface. In the video this doesn’t matter because they sit on a plane.
This is done with a polyframe node with “Normal Name” = “up” and “Tangent Name = “N”.
The changes are made after the surface output because reassigning N to the tangent will break the surface normals. These changes are in the HDA Littleplanet_Instances which you can download here:
http://www.houdinikitchen.net/wp-content/uploads/2019/07/Littleplanet_instances_HDA.zip
For more information see the Houdini documentation on Copying and instancing point attributes http://www.sidefx.com/docs/houdini/copy/instanceattrs
Download the scene file here http://www.houdinikitchen.net/wp-content/uploads/2019/07/T8_HDAs.zip
Download the HDAs created in the video below.
movetoorigin http://www.houdinikitchen.net/wp-content/uploads/2019/07/movetoorigin_HDA.zip
littleplanet http://www.houdinikitchen.net/wp-content/uploads/2019/07/littleplanet_HDA.zip
littleplanet_instances http://www.houdinikitchen.net/wp-content/uploads/2019/07/Littleplanet_instances_HDA.zip
Chessboard http://www.houdinikitchen.net/wp-content/uploads/2019/07/Chessboard_HDA.zip
I have created a cheat sheet that covers the steps to create a Digital Asset and the process to edit and save existing assets
For more in depth information on using HDAs outside Houdini take a look at:
Houdini Engine for Unreal https://www.sidefx.com/docs/unreal/
Houdini Engine for Unity https://www.sidefx.com/docs/unity/
Houdini Engine for Maya https://www.sidefx.com/docs/maya/
Houdini Engine for 3ds Max https://www.sidefx.com/docs/3dsmax/
More information on my Website
谷歌翻译:
Houdini数字资产(HDA)是节点的网络,可以打包以简化Houdini中的常用任务或创建可以在外部软件中使用的工具。
HDA可以在具有Houdini Engine插件的任何软件中使用。这些包括:
胡迪尼
Autodesk的Maya
Autodesk的3DS Max
史诗的虚幻引擎(UE4)
统一
本教程向您展示如何设置它们以用于不同的用途以及如何创建格式正确的几何。
该视频涵盖:
在Houdini中创建网络以加快常用任务的速度
为外部软件设置网络,以及如何与Houdini中未创建的对象集成。
如何在HDA中设置输入对象的实例化
更新:视频中的实例化设置跳过了重要的一步-实例所放置的点需要具有“ up”属性,才能将其正确定向在曲面上。在视频中,这并不重要,因为他们坐在飞机上。
这是通过具有“普通名称” =“上”和“切线名称=” N”的多帧节点完成的。
在曲面输出之后进行更改,因为将N重新分配给切线会破坏曲面法线。这些更改位于HDA Littleplanet_Instances中,您可以在此处下载:
http://www.houdinikitchen.net/wp-content/uploads/2019/07/Littleplanet_instances_HDA.zip
For more information see the Houdini documentation on Copying and instancing point attributes http://www.sidefx.com/docs/houdini/copy/instanceattrs
Download the scene file here http://www.houdinikitchen.net/wp-content/uploads/2019/07/T8_HDAs.zip
下载以下视频中创建的HDA。
movetoorigin http://www.houdinikitchen.net/wp-content/uploads/2019/07/movetoorigin_HDA.zip
littleplanet http://www.houdinikitchen.net/wp-content/uploads/2019/07/littleplanet_HDA.zip
littleplanet_instances http://www.houdinikitchen.net/wp-content/uploads/2019/07/Littleplanet_instances_HDA.zip
Chessboard http://www.houdinikitchen.net/wp-content/uploads/2019/07/Chessboard_HDA.zip
我已经创建了备忘单,其中涵盖了创建数字资产的步骤以及编辑和保存现有资产的过程
有关在Houdini之外使用HDA的更多详细信息,请查看:
Houdini Engine for Unreal https://www.sidefx.com/docs/unreal/
Houdini Engine for Unity https://www.sidefx.com/docs/unity/
Houdini Engine for Maya https://www.sidefx.com/docs/maya/
Houdini Engine for 3ds Max https://www.sidefx.com/docs/3dsmax/
我的网站上的更多信息
Tutorial 9. Attribute Transfer Node
This tutorial looks at the practical applications of the Attribute Transfer Node which passes information from one object to another based on their position in space.
It starts with a refresher on Houdini Attribute, then demonstrates a simple attribute transfer and explains all the parameters of the node.
The bulk of the tutorial is the creation of a network that creates tree roots spreading across a hillside. It uses Attribute Transfer in many different ways to pull all the elements of the scene together so that the tree roots or the shape of the ground underneath can be changed and the rest of the scene procedurally adjusts to it.
The completed scene can be downloaded here:
http://www.houdinikitchen.net/wp-content/uploads/2019/07/attribute_transfer.zip
More information on my Website
谷歌翻译:
本教程研究了属性传递节点的实际应用,该属性传递节点根据对象在空间中的位置将信息从一个对象传递到另一个对象。
首先介绍Houdini属性,然后演示简单的属性传递并解释节点的所有参数。
本教程的大部分内容是创建一个网络,该网络创建遍及山坡的树根。它以多种不同的方式使用“属性传递”将场景的所有元素拉在一起,以便可以更改树的根部或下面的地面的形状,并且场景中的其余部分也可以根据需要进行调整。
完整的场景可以在这里下载:
http://www.houdinikitchen.net/wp-content/uploads/2019/07/attribute_transfer.zip
我的网站上的更多信息
Tutorial 10. Introducing Volumes and VDBs
An introduction to the different types of volumes Houdini can create, and some examples of their
use in procedural geometry creation.
The first section is an explanation of different types of volume and a description of the best ways to create and manipulate them. This is demonstrated using a node network which can be downloaded here:
http://www.houdinikitchen.net/wp-content/uploads/2019/08/Volumes.zip
and can be reference in this cheat sheet:
if you want to skip to specific examples you can find them here:
Optimising collections of objects (at 22:00 minutes)
Cleaning up geometry (at 30:00 minutes)
Creating the low poly trees used in tutorial 1 (at 37:30 minutes)
Cutting through volumes with noise (at 42:00 minutes)
Using volumes to rebuild models from blocks (at 49:00 minutes)
all these examples can be downloaded here:
http://www.houdinikitchen.net/wp-content/uploads/2019/08/Volumes_examples.zip
More information on my Website
谷歌翻译:
Houdini可以创建的不同类型的卷的简介,以及它们的一些示例
用于过程几何创建。
第一部分解释了不同类型的体积,并描述了创建和操纵它们的最佳方法。使用节点网络对此进行了演示,可以在此处下载:
http://www.houdinikitchen.net/wp-content/uploads/2019/08/Volumes.zip
并可以在本备忘单中引用:
如果您想跳到特定的示例,可以在这里找到它们:
优化对象集合(在22:00分钟)
清理几何(30:00分钟)
创建教程1中使用的低多边形树(37:30分钟)
切入有噪音的音量(42:00分钟)
使用卷从块重建模型(49:00分钟)
所有这些示例都可以在这里下载:
http://www.houdinikitchen.net/wp-content/uploads/2019/08/Volumes_examples.zip
我的网站上的更多信息
Tutorial 11. Lines and Curves
This tutorial starts with an explanation of the way Houdini creates curves, and the difference between edges in Houdini and other modelling programs. Then it looks at some nodes which can be used to create and edit curves . These are the Line, Curve, Curvedraw, Add and Ends nodes
The rest of the video is used to demonstrate some different ways that curves can be used to create procedural geometry from scratch. We make a procedural racing track generator, which takes an input curve and landscape and creates a track and road markings, with barriers along the inside of curves, and piles of tires along the outside curves. Then we place trees on the landscape that update to avoid being placed on the route of the track.
Other new nodes that are covered in this tutorial are the Sweep node and the Ray node
Download the racing track file here: http://www.houdinikitchen.net/wp-content/uploads/2019/09/lines_and_Curves.zip
More information on my Website
谷歌翻译:
本教程首先说明Houdini创建曲线的方式,以及Houdini和其他建模程序中的边之间的差异。然后查看一些可用于创建和编辑曲线的节点。这些是“线”,“曲线”,“ Curvedraw”,“添加”和“端点”节点
该视频的其余部分用于演示一些不同的方法,这些方法可以使用曲线从头开始创建过程几何。我们制作了一个程序化的赛车轨迹生成器,该生成器采用输入曲线和景观,并创建轨迹和道路标记,在曲线的内部具有障碍物,在曲线的外部具有成堆的轮胎。然后,我们将树木放置在可更新的景观上,以避免放置在赛道上。
本教程中介绍的其他新节点是Sweep节点和Ray节点
Download the racing track file here: http://www.houdinikitchen.net/wp-content/uploads/2019/09/lines_and_Curves.zip
我的网站上的更多信息
Tutorial 12. Copy Stamping and the Foreach Loop
This tutorial describes how to use point attributes to influence upstream input nodes:
– first using the traditional Copy Stamp Node (at 01:30 minutes)
– then again using the Foreach Loop nodes as recommended by sidefx (at 15:35 minutes)
Then it takes an in depth look at the other uses of a Foreach loop:
– Looping groups of points based on an attribute (at 38:17 minutes)
– Looping through connected pieces (at 45:30 minutes)
– Looping a set number of times (at 57:25 minutes)
– Creating fractals (at 64:50 minutes)
you can download the scene files here:
http://www.houdinikitchen.net/wp-content/uploads/2019/09/ForEach_Loop.zip
More information on my Website
谷歌翻译:
本教程描述了如何使用点属性来影响上游输入节点:
-首先使用传统的“复制邮票”节点(01:30分钟)
-然后按照sidefx的建议再次使用Foreach Loop节点(15:35分钟)
然后深入研究Foreach循环的其他用途:
-根据属性循环点组(38:17分钟)
-遍历连接的片段(45:30分钟)
-循环播放指定次数(57:25分钟)
-创建分形(64:50分钟)
您可以在此处下载场景文件:
http://www.houdinikitchen.net/wp-content/uploads/2019/09/ForEach_Loop.zip
我的网站上的更多信息
Tutorial 13. UV Tools
This Tutorial is an overview of the different nodes available to create UVs in Houdini, and also covers setup, display and previewing of UVs and textures in Houdini, and demonstrates a quick way to display PBR textures.
The topics covered are
Displaying UVs (at 1:00 minutes)
UV Quickshade node (at 3:40 minutes)
Simple UV tools: UV Unwrap, UV Project, UV Texture nodes (at 5:45 minutes)
UV Pelt node (at 14:20 minutes)
UV Flatten node (at 22:50 minutes)
UV Autoseam node (at 30:50 minutes)
UV Layout node (at 39:20 minutes)
UV Editing Tools: UV Brush, UV Edit, UV Transform, UV Smooth, UV Fuse (at 42:30 minutes)
Multiple UV sets (at 47:40 minutes)
Displaying PBR textures in Houdini (at 49:40 minutes)
You can download the scene file here:
https://www.houdinikitchen.net/wp-content/uploads/2019/11/UV_Tools.zip
and you can download a copy of the finished Smoking Spacemen Robot here:
https://www.houdinikitchen.net/wp-content/uploads/2019/11/SmokingRobot.zip
This includes a HIP file with the network used to build the robot as well as finished UV’d model GEO file.
More information on my Website
谷歌翻译:
本教程概述了可在Houdini中创建UV的不同节点,还介绍了在Houdini中设置,显示和预览UV和纹理的方法,并演示了显示PBR纹理的快速方法。
涵盖的主题是
显示紫外线(在1:00分钟)
UV Quickshade节点(3:40分钟)
简单的UV工具:UV展开,UV投影,UV纹理节点(5:45分钟)
UV Pelt节点(在14:20分钟)
UV展平节点(22:50分钟)
UV Autoseam节点(在30:50分钟)
UV布局节点(39:20分钟)
UV编辑工具:UV笔刷,UV编辑,UV变换,UV平滑,UV保险丝(42:30分钟)
多次紫外线固化(47:40分钟)
在Houdini中显示PBR纹理(49:40分钟)
您可以在此处下载场景文件:
https://www.houdinikitchen.net/wp-content/uploads/2019/11/UV_Tools.zip
您可以在此处下载成品的吸烟太空人机器人的副本:
https://www.houdinikitchen.net/wp-content/uploads/2019/11/SmokingRobot.zip
其中包括带有用于构建机器人的网络的HIP文件以及已完成UV建模的GEO文件。
我的网站上的更多信息
Tutorial 14. L-Systems
An in-depth tutorial on the principles of writing L-Systems in Houdini using examples from Aristid Lindenmayer’s book ‘The Algorithmic Beauty of Plants’
after watching this tutorial you should be able to understand all the elements of an L-System, and be able to create your own from scratch.
Subjects covered are:
L-System Node (at 1:20 minutes)
Turtle Syntax (at 8:00 minutes)
Branching (at 16:00 minutes)
Edge Rewrite (at 18:40 minutes)
Node Rewrite (at 24:30 minutes)
Symbol variables (at 31:35 minutes)
Using Custom Values (at 41:25 minutes)
Monopodial and Sympodial Trees (at 42:50 minutes)
Gravity (tropism) (at 43:50 minutes)
Ternary Tree (at 45:50 minutes)
Input Geometry in L-Systems (at 48:00 minutes)
Randomization (at 1:07:25 minutes)
Stamping Geometry (at 1:09:20 minutes)
Probability (at 1:20:25 minutes)
Conditionals (at 1:25:05 minutes)
Phyllotaxis (at 1:28:30 minutes)
Sunflower (at 1:33:05 minutes)
There is accompanying documentation at https://www.houdinikitchen.net/2019/12/21/how-to-create-l-systems/
or you can download the document as a pdf
https://www.houdinikitchen.net/wp-content/uploads/2019/12/L-systems.pdf
All the examples in the video and documentation are also available as a Houdini file
https://www.houdinikitchen.net/wp-content/uploads/2019/12/L_Systems.zip
More information on my Website
谷歌翻译:
使用Aristid Lindenmayer的著作《植物的算法之美》中的示例,深入学习用Houdini编写L系统的原理的教程。
看完本教程后,您应该能够理解L系统的所有元素,并能够从头开始创建自己的系统。
涵盖的主题是:
L系统节点(在1:20分钟)
海龟语法(在8:00分钟)
分支(在16:00分钟)
边缘重写(18:40分钟)
节点重写(24:30分钟)
符号变量(在31:35分钟)
使用自定义值(41:25分钟)
单足和共生树(42:50分钟)
重力(向性性)(在43:50分钟)
三元树(45:50分钟)
L系统中的输入几何(在48:00分钟)
随机化(在1:07:25分钟)
冲压几何(在1:09:20分钟)
概率(在1:20:25分钟)
有条件的(在1:25:05分钟)
音轴(在1:28:30分钟)
向日葵(在1:33:05分钟)
There is accompanying documentation at https://www.houdinikitchen.net/2019/12/21/how-to-create-l-systems/
或者您可以将文档下载为pdf文件
https://www.houdinikitchen.net/wp-content/uploads/2019/12/L-systems.pdf
视频和文档中的所有示例也都可以通过Houdini文件获得
https://www.houdinikitchen.net/wp-content/uploads/2019/12/L_Systems.zip
我的网站上的更多信息