در این مطلب، ویدئو نسل سه بعدی زمین در پایتون/پیگیم – نسخه ی نمایشی/توضیح با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:15:50
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,000 –> 00:00:02,800
من قبلاً یک ویدیوی آموزشی در مورد
2
00:00:02,800 –> 00:00:04,480
نسل جهانی در
3
00:00:04,480 –> 00:00:07,440
پایتون ساخته بودم و آن را در بازی pi با استفاده
4
00:00:07,440 –> 00:00:08,639
از کتابخانه نویز
5
00:00:08,639 –> 00:00:10,719
برای ایجاد تپه ها و غیره اعمال کردم اما
6
00:00:10,719 –> 00:00:11,679
دو بعدی بود
7
00:00:11,679 –> 00:00:13,759
و از نویز یک بعدی استفاده کردم به
8
00:00:13,759 –> 00:00:15,360
این معنی که به آن مقدار x می
9
00:00:15,360 –> 00:00:16,720
دهم و آن را مقدار ارتفاع
10
00:00:16,720 –> 00:00:19,439
یا که فقط یک مقدار از منفی
11
00:00:19,439 –> 00:00:20,160
یک به
12
00:00:20,160 –> 00:00:22,720
یک است را برمیگرداند، اما من از آن به عنوان مقدار ارتفاع استفاده کردم و
13
00:00:22,720 –> 00:00:24,320
مردم بارها از من
14
00:00:24,320 –> 00:00:27,039
میخواهند که یک ویدیو بسازم که
15
00:00:27,039 –> 00:00:27,920
همان کار را
16
00:00:27,920 –> 00:00:30,080
با نویز دو بعدی انجام میدهد، جایی که
17
00:00:30,080 –> 00:00:32,000
شما یک x میدهید و مقدار y
18
00:00:32,000 –> 00:00:34,800
و سپس نقشه ای از آن می سازید در
19
00:00:34,800 –> 00:00:35,680
این
20
00:00:35,680 –> 00:00:37,440
مورد مقداری که من برای ارتفاع استفاده می کنم بازگردانده می
21
00:00:37,440 –> 00:00:39,200
شود، اما در این مورد از آنجایی که من
22
00:00:39,200 –> 00:00:40,800
یک مقدار x و y می دهم
23
00:00:40,800 –> 00:00:42,800
، ابعاد بیشتری برای کل
24
00:00:42,800 –> 00:00:44,800
چیز در pygame وجود دارد.
25
00:00:44,800 –> 00:00:45,760
برنامه از
26
00:00:45,760 –> 00:00:48,239
بالا به پایین خواهد بود، اما من کمی لذت
27
00:00:48,239 –> 00:00:50,160
بردم و مایل بیشتر رفتم و یک
28
00:00:50,160 –> 00:00:52,800
رندر سه بعدی شلوغ با vlog و
29
00:00:52,800 –> 00:00:53,440
همه چیز
30
00:00:53,440 –> 00:00:55,920
ساختم و این را درست کردم، بنابراین من به طور خلاصه به
31
00:00:55,920 –> 00:00:57,199
نحوه عملکرد رندر می پردازم، اما این
32
00:00:57,199 –> 00:00:59,280
ویدیو عمدتاً قرار است باشد f توجه
33
00:00:59,280 –> 00:01:01,920
به نحوه عملکرد نسل زمین، بنابراین
34
00:01:01,920 –> 00:01:03,359
می توانید چیزی شبیه به این را
35
00:01:03,359 –> 00:01:05,280
در بازی خود پیاده سازی کنید، اولین چیزی که
36
00:01:05,280 –> 00:01:06,720
در مورد استفاده از
37
00:01:06,720 –> 00:01:08,799
نویز موازی یا هر نوع نویز برای
38
00:01:08,799 –> 00:01:10,000
تولید روند به یاد داشته باشید
39
00:01:10,000 –> 00:01:12,159
این است که همه چیز در مورد خلاقیت است و
40
00:01:12,159 –> 00:01:13,439
این برای هر
41
00:01:13,439 –> 00:01:15,600
مورد استفاده برای نویز در بازی صدق می کند. به طور کلی
42
00:01:15,600 –> 00:01:17,280
روشهای بسیار مختلفی وجود دارد که میتوانید از آن
43
00:01:17,280 –> 00:01:19,280
در گذشته استفاده کنید، من از نویز برای
44
00:01:19,280 –> 00:01:20,799
ساختن انیمیشن آتش
45
00:01:20,799 –> 00:01:24,400
46
00:01:24,840 –> 00:01:27,840
47
00:01:36,320 –> 00:01:39,680
استفاده میکردم و میتوانید از آن برای انواع چیزها استفاده کنید، من همچنین از آن در بازی خودم the crush sky
48
00:01:39,680 –> 00:01:42,799
استفاده کردم تا کادر متنی به شکلی ظاهر شود. یک
49
00:01:42,799 –> 00:01:43,840
جلوه بصری خوب
50
00:01:43,840 –> 00:01:46,320
با تولید زمین ایده اصلی
51
00:01:46,320 –> 00:01:48,159
برای ساده ترین پیاده سازی
52
00:01:48,159 –> 00:01:49,920
این است که فقط مقدار بازگردانده شده
53
00:01:49,920 –> 00:01:51,759
توسط نویز را بگیرید و از آن
54
00:01:51,759 –> 00:01:54,320
برای نقشه ارتفاع استفاده کنید، همچنین می توانید کارهایی
55
00:01:54,320 –> 00:01:54,799
مانند
56
00:01:54,799 –> 00:01:57,360
مخلوط کردن آن با چندین لایه نویز را انجام دهید
57
00:01:57,360 –> 00:01:58,000
که در آن
58
00:01:58,000 –> 00:02:00,880
یک لایه تعیین می کند. به عنوان مثال، بیوم
59
00:02:00,880 –> 00:02:01,759
60
00:02:01,759 –> 00:02:04,320
و یک لایه دیگر نقشه ارتفاع را تعیین می کنند
61
00:02:04,320 –> 00:02:04,960
62
00:02:04,960 –> 00:02:06,960
و سپس می توانید آن را با انواع چیزهای دیگر مخلوط کنید،
63
00:02:06,960 –> 00:02:08,239
64
00:02:08,239 –> 00:02:10,639
آنها می توانند یک لایه نویز برای انجام
65
00:02:10,639 –> 00:02:11,920
پوشش گیاهی داشته
66
00:02:11,920 –> 00:02:14,000
باشند، بنابراین برخی از مناطق دارای مور مور هستند. پوشش گیاهی نسبت به
67
00:02:14,000 –> 00:02:16,000
سایرین و انتقال صاف
68
00:02:16,000 –> 00:02:17,599
و طبیعی است و شما می توانید
69
00:02:17,599 –> 00:02:20,319
انواع قوانین منطقی را نیز در آن بنویسید
70
00:02:20,319 –> 00:02:22,879
و از انواع مختلف نویز
71
00:02:22,879 –> 00:02:23,360
از انواع
72
00:02:23,360 –> 00:02:26,000
چیزهای جالب استفاده کنید، بنابراین بله، ابتدا به
73
00:02:26,000 –> 00:02:27,680
رندر این مورد می پردازم
74
00:02:27,680 –> 00:02:29,520
و من یک مهر زمانی روی صفحه
75
00:02:29,520 –> 00:02:31,200
می گذارم تا بتوانید به قسمتی بروید که در
76
00:02:31,200 –> 00:02:31,519
آن
77
00:02:31,519 –> 00:02:32,800
نسل زمین را می گذرانم اگر فقط به آن علاقه دارید،
78
00:02:32,800 –> 00:02:34,879
اما اوه، موارد رندر
79
00:02:34,879 –> 00:02:36,160
باید بسیار سریع باشد،
80
00:02:36,160 –> 00:02:39,680
بنابراین در گذشته من یک سیستم رندر نامرتب
81
00:02:39,680 –> 00:02:41,440
ایجاد کردم. بازی پایی که فقط
82
00:02:41,440 –> 00:02:43,760
چند ضلعی ها را ترسیم می کند و سپس
83
00:02:43,760 –> 00:02:46,319
84
00:02:46,319 –> 00:02:48,160
85
00:02:48,160 –> 00:02:51,440
فقط با گرفتن زاویه نقطه
86
00:02:51,440 –> 00:02:54,800
به دوربین فرضی و استفاده از آن به عنوان
87
00:02:54,800 –> 00:02:57,360
مکان رندر روی صفحه، از این تابع برای نمایش نقاط سه بعدی روی
88
00:02:57,360 –> 00:02:58,879
صفحه استفاده می کند. توابعی که من از توابع
89
00:02:58,879 –> 00:03:00,400
چرخشی استفاده نکردم اوه
90
00:03:00,400 –> 00:03:02,080
اصلی ترین موردی که در اینجا استفاده می کنم فقط چند ضلعی ها را جابجا می کند،
91
00:03:02,080 –> 00:03:03,040
92
00:03:03,040 –> 00:03:06,400
بنابراین چند ضلعی های من فقط از
93
00:03:06,400 –> 00:03:07,120
لیستی از
94
00:03:07,120 –> 00:03:09,920
نقاط در فضای سه بعدی تشکیل شده اند، بنابراین
95
00:03:09,920 –> 00:03:10,560
96
00:03:10,560 –> 00:03:12,640
تابع offset فقط تمام ضلعی ها را جبران می کند. امتیازهای ose
97
00:03:12,640 –> 00:03:14,800
برای هر نقطه در چند ضلعی
98
00:03:14,800 –> 00:03:17,440
بر اساس تمام مقادیر آفست، بنابراین
99
00:03:17,440 –> 00:03:18,080
من
100
00:03:18,080 –> 00:03:20,080
از هیچ یک از موارد چرخشی استفاده نمی کنم همانطور که
101
00:03:20,080 –> 00:03:21,120
در کد من در اینجا می بینید
102
00:03:21,120 –> 00:03:23,120
، نظر دادم، بنابراین در
103
00:03:23,120 –> 00:03:24,239
واقع فقط یک دسته از
104
00:03:24,239 –> 00:03:25,680
چند ضلعی ها را جبران می کند و سپس استفاده از این تابع
105
00:03:25,680 –> 00:03:27,280
برای رندر کردن حرکت با
106
00:03:27,280 –> 00:03:28,799
بهروزرسانی این موقعیت انجام میشود
107
00:03:28,799 –> 00:03:32,080
و من این عملکرد را
108
00:03:32,080 –> 00:03:33,680
برای خود نسل دارم،
109
00:03:33,680 –> 00:03:36,080
کمی بعد به این موضوع میرسم که این حلقه اصلی بازی است، من
110
00:03:36,080 –> 00:03:36,879
111
00:03:36,879 –> 00:03:39,440
در اینجا چند اسپاگتی تصادفی برای انجام
112
00:03:39,440 –> 00:03:40,000
مه
113
00:03:40,000 –> 00:03:42,159
و تاری حرکت دارم با استفاده از این
114
00:03:42,159 –> 00:03:44,159
سطح،
115
00:03:44,159 –> 00:03:46,879
مستطیل ها یا چند ضلعی ها یا هر چیز دیگری را از
116
00:03:46,879 –> 00:03:47,760
پشت به جلو نمایش
117
00:03:47,760 –> 00:03:50,000
118
00:03:50,000 –> 00:03:51,200
می دهم و همانطور که از لایه ها عبور می کنم که می توانم با شاخص تشخیص
119
00:03:51,200 –> 00:03:53,760
دهم، سطح پس زمینه را
120
00:03:53,760 –> 00:03:55,360
که فقط آبی با
121
00:03:55,360 –> 00:03:56,720
شفافیت است می اندازم،
122
00:03:56,720 –> 00:03:59,840
بنابراین به نوعی
123
00:03:59,840 –> 00:04:02,159
هر چیزی که پشت آن بود را کمی محو میکند و
124
00:04:02,159 –> 00:04:03,760
من این کار را چندین بار انجام میدهم تا همه چیز در
125
00:04:03,760 –> 00:04:06,000
جلو مشخص شود.
126
00:04:06,000 –> 00:04:07,439
127
00:04:07,439 –> 00:04:10,560
128
00:04:10,560 –> 00:04:11,280
129
00:04:11,280 –> 00:04:13,920
و آن را وارونه
130
00:04:13,920 –> 00:04:14,480
131
00:04:14,480 –> 00:04:16,238
در بالای صفحه پرتاب کرد و رنگ را تغییر داد
132
00:04:16,238 –> 00:04:18,720
و سپس یک قانون نیز اضافه
133
00:04:18,720 –> 00:04:20,399
کرد که آیا باید بر اساس عمق آن نشان داده شود یا نه
134
00:04:20,399 –> 00:04:22,160
هر چیزی که
135
00:04:22,160 –> 00:04:23,199
136
00:04:23,199 –> 00:04:25,759
آب در نظر گرفته شود در نهایت تبدیل به
137
00:04:25,759 –> 00:04:26,400
ابر
138
00:04:26,400 –> 00:04:27,680
نمی شود. کاری که من در اینجا انجام میدهم این است که من فقط از
139
00:04:27,680 –> 00:04:29,840
تپههای اصلی به
140
00:04:29,840 –> 00:04:32,080
عنوان ابرها در اینجا استفاده میکنم، همچنین
141
00:04:32,080 –> 00:04:34,080
ارتفاع تپهها
142
00:04:34,080 –> 00:04:35,520
و ابرها را عادی میکنم، بنابراین ابرها بسیار
143
00:04:35,520 –> 00:04:37,120
صافتر به نظر میرسند، اما همچنان بافت دارند،
144
00:04:37,120 –> 00:04:38,320
این شبیه به
145
00:04:38,320 –> 00:04:39,919
وقتی میگویم باید در
146
00:04:39,919 –> 00:04:41,280
نویز خلاق باشید، میتوانم چنین کارهایی را انجام دهید، من در مورد آن صحبت
147
00:04:41,280 –> 00:04:42,240
148
00:04:42,240 –> 00:04:44,240
میکنم، بنابراین نه تنها از نویز برای
149
00:04:44,240 –> 00:04:45,840
تپهها و آب
150
00:04:45,840 –> 00:04:47,600
استفاده میکنم، بلکه از آن برای ابرها استفاده میکنم. با انعکاس آن
151
00:04:47,600 –> 00:04:48,240
152
00:04:48,240 –> 00:04:51,120
به آسمان، این دقیقاً در اینجا فقط برای
153
00:04:51,120 –> 00:04:53,120
موارد محو حرکت است
154
00:04:53,120 –> 00:04:55,840
و بیشتر برای رندر کردن آن است
155
00:04:55,840 –> 00:04:58,400
که فقط از یک سیستم چند ضلعی
156
00:04:58,400 –> 00:05:00,160
ساخته شده است و این
157
00:05:00,160 –> 00:05:03,039
برای نحوه پردازش داده ها در هنگام
158
00:05:03,039 –> 00:05:05,039
تولید کمی مهم است. نقشه پس آره حالا
159
00:05:05,039 –> 00:05:06,320
میرم سراغ قسمت
160
00:05:06,320 –> 00:05:09,520
که از کتابخانه نویز پایتون برای
161
00:05:09,520 –> 00:05:12,960
تولید نقشه برای این کار استفاده می کند، در واقع در
162
00:05:12,960 –> 00:05:17,039
صورت نیاز با حرکت دوربین
163
00:05:17,039 –> 00:05:20,080
ایجاد می شود، ردیف های جدیدی اضافه می کند و
164
00:05:20,080 –> 00:05:22,000
مواردی را که از دوربین گذشته است حذف می کند،
165
00:05:22,000 –> 00:05:23,919
اما در اینجا اهمیت خاصی ندارد،
166
00:05:23,919 –> 00:05:26,320
این فقط یک تابع است که
167
00:05:26,320 –> 00:05:29,440
ایجاد می کند. یک ردیف از
168
00:05:29,440 –> 00:05:32,960
چند ضلعی ها، بنابراین من در هر ردیف 30 چند ضلعی دارم،
169
00:05:32,960 –> 00:05:35,360
بنابراین شما می توانید آن را به عنوان
170
00:05:35,360 –> 00:05:37,759
30 چیز در سراسر محور x در نظر بگیرید،
171
00:05:37,759 –> 00:05:40,080
بنابراین اولین کاری که می کنم این است که یک کپی
172
00:05:40,080 –> 00:05:41,680
از چند ضلعی پایه مربع ایجاد کنم که اگر
173
00:05:41,680 –> 00:05:42,800
درست نگاه کنید. در
174
00:05:42,800 –> 00:05:45,120
اینجا فقط یک دسته از مقادیر با
175
00:05:45,120 –> 00:05:46,000
176
00:05:46,000 –> 00:05:49,120
طول ضلع مطلق یک است، بنابراین مساحت این
177
00:05:49,120 –> 00:05:50,639
چند ضلعی به طور پیشفرض یک خواهد بود،
178
00:05:50,639 –> 00:05:52,400
بنابراین من از آن چند ضلعی کپی میکنم،
179
00:05:52,400 –> 00:05:54,240
زیرا نمیخواهم
180
00:05:54,240 –> 00:05:56,960
مرجع اصلی را در اینجا تغییر دهم، آن را جبران میکنم.
181
00:05:56,960 –> 00:05:58,479
برای تولید
182
00:05:58,479 –> 00:05:59,600
زمین،
183
00:05:59,600 –> 00:06:01,360
این به خصوص برای
184
00:06:01,360 –> 00:06:02,880
بخش نویز مهم
185
00:06:02,880 –> 00:06:04,160
نیست، اما در اینجا قسمتی است که جالب می شود
186
00:06:04,160 –> 00:06:06,080
و می توانید ببینید که چگونه
187
00:06:06,080 –> 00:06:08,160
از نویز برای ایجاد رشته استفاده می کنم، من
188
00:06:08,160 –> 00:06:09,520
این متغیر را در اینجا دارم که تعیین می
189
00:06:09,520 –> 00:06:11,120
کند آیا
190
00:06:11,120 –> 00:06:14,960
چند ضلعی یک چند ضلعی آب است و من
191
00:06:14,960 –> 00:06:16,960
این متغیر را در اینجا دارم که
192
00:06:16,960 –> 00:06:18,319
عمق آب را تعیین می کند
193
00:06:18,319 –> 00:06:21,199
در صورتی که یک چند ضلعی آب باشد،
194
00:06:21,199 –> 00:06:22,560
خواهید دید که چرا من این متغیر را در یک
195
00:06:22,560 –> 00:06:23,759
لحظه در اینجا
196
00:06:23,759 –> 00:06:27,199
دارم، بنابراین وقتی هر چند ضلعی را ایجاد می کنم که می
197
00:06:27,199 –> 00:06:27,759
توانید ببینید.
198
00:06:27,759 –> 00:06:30,560
من همیشه 30 ایجاد می کنم و وقتی روی
199
00:06:30,560 –> 00:06:31,919
چند ضلعی کلیک می کنم
200
00:06:31,919 –> 00:06:34,319
باید ارتفاع چند ضلعی و همچنین
201
00:06:34,319 –> 00:06:35,759
رنگ آن
202
00:06:35,759 –> 00:06:38,560
و ارتفاع نقاط مختلف
203
00:06:38,560 –> 00:06:40,560
را تعیین کنم زیرا اگر دوباره این را اجرا
204
00:06:40,560 –> 00:06:43,280
کنم متوجه می شوید که چند ضلعی ها صاف نیستند حتی
205
00:06:43,280 –> 00:06:43,759
اگر
206
00:06:43,759 –> 00:06:47,520
مربع من باشد. یک مربع است اگر به
207
00:06:47,520 –> 00:06:50,160
این نقشه دقیقاً در اینجا نگاه کنید، می بینید که
208
00:06:50,160 –> 00:06:51,759
اینها مربع نیستند، بلکه در واقع
209
00:06:51,759 –> 00:06:52,720
چند ضلعی هستند
210
00:06:52,720 –> 00:06:55,039
و اشکال چند ضلعی ها متفاوت است، بله
211
00:06:55,039 –> 00:06:57,199
، فقط به این دلیل است که من
212
00:06:57,199 –> 00:06:57,599
213
00:06:57,599 –> 00:07:00,800
ارتفاع گوشه ها را تغییر می دهم، بنابراین از هر گوشه ای عبور می کنم.
214
00:07:00,800 –> 00:07:02,240
در چند ضلعی که فقط
215
00:07:02,240 –> 00:07:03,120
این مقادیر است،
216
00:07:03,120 –> 00:07:04,880
اما به یاد داشته باشید که آنها قبلاً برای
217
00:07:04,880 –> 00:07:07,280
قرار گرفتن در مکان صحیح
218
00:07:07,280 –> 00:07:09,680
بر اساس جایی که آن سطر در آن
219
00:07:09,680 –> 00:07:11,680
ایجاد می شود و جایی که آن چند ضلعی
220
00:07:11,680 –> 00:07:13,680
در آن ردیف است، جابجا شده اند، اما بله برای هر
221
00:07:13,680 –> 00:07:15,599
گوشه، اینجا جایی است که من از آن استفاده می کنم. تی نویز طولانیمدت
222
00:07:15,599 –> 00:07:17,840
من از p noise 2 استفاده میکنم که عملکرد
223
00:07:17,840 –> 00:07:18,880
دو بعدی
224
00:07:18,880 –> 00:07:20,479
حرفهای و نویز است،
225
00:07:20,479 –> 00:07:22,639
226
00:07:23,680 –> 00:07:26,319
اگر واقعاً اگر نویز وارد
227
00:07:26,319 –> 00:07:26,880
پایتون
228
00:07:26,880 –> 00:07:30,080
میکنید و نویز کمکی انجام میدهید این کار را انجام میدهید، اینجاست که
229
00:07:30,080 –> 00:07:31,840
میتوانید مستندات آن را پیدا کنید
230
00:07:31,840 –> 00:07:34,560
و به اندازه کافی خنده دار است. بسیاری از مردم این را از دست می دهند،
231
00:07:34,560 –> 00:07:35,360
232
00:07:35,360 –> 00:07:38,160
اگر دوست دارید اگر فقط به
233
00:07:38,160 –> 00:07:39,840