很多人只看見肥大叔年收破億的戰績,卻沒看見那場連續直播 17 小時不休息的拼命,本質上是一位「更生人」對自我價值被社會重新認可的極度渴望。何裕輝從不避諱自己年輕時走過歪路,他將「知錯能改、努力向上」作為下半場人生的座右銘。但在現代數位時代,「更生人」這三個字就像一個抹不去的標籤。在演算法永不遺忘的監視下,他產生了一種強烈的「補償心理」:必須比別人努力十倍、必須創造破億業績,才能平衡內心的不安全感,證明自己「真的變好了」。這種觀念在心理學上常導致「功績主義」的枷鎖——我的價值等於我的表現。即便他已經是業界巔峰,他在受訪時仍嚴苛地只給自己打 70 分,認為剩下的 30 分必須靠不斷的「狼性競爭」來填補。他必須親力親為,從食材挑選到鍋具開發都不敢放手,因為在那 70 分背後,是隨時害怕被社會重新貼上標籤的焦慮。耶穌能帶來的核心轉變,是「因信稱義」的神聖赦免。
- Aug 08 Sat 2026 11:46
-
「更生人」的活路在哪?演算法能紀錄你的破億成就,誰能抹去你心底的罪疚枷鎖?
2026 年 8 月 5 日,台灣直播電商界的一顆巨星驟然隕落。那個曾在鏡頭前豪邁喊著「來,這個給它下去!」、溫暖了無數家庭餐桌的身影——「肥大叔」何裕輝,證實因病過世,享年 46 歲。消息一出,近百萬名粉絲除了震驚,更多的是心疼與不捨。何裕輝的一生,是一場極致的草根奮鬥史。他原本是營建業的門外漢,對煮菜一竅不通,卻因為在妻子的直播間偶然跑龍套而爆紅,靠著誠懇、接地氣的風格,一步步打造出年收破億的電商帝國,甚至曾創下 20 萬人同時在線觀看的驚人紀錄。然而,在風光背後,大叔留給大眾最後的身影,卻是身形暴瘦、氣色虛弱卻仍堅持開播的疲態。許多人感嘆他是「以命換錢」,但若我們深入他的靈魂深處,會發現那或許不只是為了錢,而是一場關於「身分證明」與「自我救贖」的生死決鬥。如果,在肥大叔拼搏的一生中,曾與「耶穌」相遇,他的生命軌跡會發生什麼樣的轉向?一、 「更生人」的功績主義:在百萬目光下,那場由「數位記憶」驅動的自我證明
很多人只看見肥大叔年收破億的戰績,卻沒看見那場連續直播 17 小時不休息的拼命,本質上是一位「更生人」對自我價值被社會重新認可的極度渴望。何裕輝從不避諱自己年輕時走過歪路,他將「知錯能改、努力向上」作為下半場人生的座右銘。但在現代數位時代,「更生人」這三個字就像一個抹不去的標籤。在演算法永不遺忘的監視下,他產生了一種強烈的「補償心理」:必須比別人努力十倍、必須創造破億業績,才能平衡內心的不安全感,證明自己「真的變好了」。這種觀念在心理學上常導致「功績主義」的枷鎖——我的價值等於我的表現。即便他已經是業界巔峰,他在受訪時仍嚴苛地只給自己打 70 分,認為剩下的 30 分必須靠不斷的「狼性競爭」來填補。他必須親力親為,從食材挑選到鍋具開發都不敢放手,因為在那 70 分背後,是隨時害怕被社會重新貼上標籤的焦慮。耶穌能帶來的核心轉變,是「因信稱義」的神聖赦免。
很多人只看見肥大叔年收破億的戰績,卻沒看見那場連續直播 17 小時不休息的拼命,本質上是一位「更生人」對自我價值被社會重新認可的極度渴望。何裕輝從不避諱自己年輕時走過歪路,他將「知錯能改、努力向上」作為下半場人生的座右銘。但在現代數位時代,「更生人」這三個字就像一個抹不去的標籤。在演算法永不遺忘的監視下,他產生了一種強烈的「補償心理」:必須比別人努力十倍、必須創造破億業績,才能平衡內心的不安全感,證明自己「真的變好了」。這種觀念在心理學上常導致「功績主義」的枷鎖——我的價值等於我的表現。即便他已經是業界巔峰,他在受訪時仍嚴苛地只給自己打 70 分,認為剩下的 30 分必須靠不斷的「狼性競爭」來填補。他必須親力親為,從食材挑選到鍋具開發都不敢放手,因為在那 70 分背後,是隨時害怕被社會重新貼上標籤的焦慮。耶穌能帶來的核心轉變,是「因信稱義」的神聖赦免。
- Aug 08 Sat 2026 08:10
-
祝福以色列之前要弄懂的事實:當「揀選」不再是行為的豁免權
許多基督徒在面對中東局勢時,內心常感到一種難以言喻的張力:一方面,我們被教導要「祝福以色列」以換取上帝的賜福;另一方面,新聞中加薩的人道危機、遇害的記者,以及國際法院對以色列領袖的逮捕令,都讓我們難以開口。我們不想只因為以色列是「選民」就無條件背書其擴張政策,但在仇恨的旋渦中,我們也確實不知道該如何為這塊土地開口禱告。要重新定義我們的守望,必須先撥開民族主義的迷霧,從聖經的批判傳統與現實的歷史失敗中,尋找那不偏袒的公義。一、 應許、揀選與先知的責備:拆解「祝福不等於縱容」的神學共識許多信徒擔心指出以色列的錯誤會「得罪神」。但事實上,亞伯拉罕之約雖然是神主權的永恆應許,但每一代以色列人能否實際「經歷」福分,取決於他們對神的信靠、順服與公義的實踐。聖經中真正的「祝福」,往往包含嚴厲的管教。舊約先知從未因選民身分而避諱指責以色列,反而大聲譴責領袖偏離公義、壓迫貧窮者與寄居者的罪行,並預言若不悔改必受審判。耶穌甚至斥責當代的宗教領袖為「毒蛇的種類」,並咒詛不結果子的無花果樹,顯示上帝的揀選絕非領袖免除道德責任的「護身符」。如果我們無條件支持一個世俗國家的所有政治擴張,卻無視其中的不義,這將成為穆斯林群體接受福音的重大絆腳石,形成「宣教上的緊急狀態」。真正的祝福,應是求神拔除選民的罪,使其回歸公義。二、 破除「無敵」的心理迷思:從 1973 到 2026 的認知偏誤與「大頭症」基督徒該如何為以色列的領袖禱告?我們不能只求「軍事勝利」,因為歷史教訓顯示,平安並不來自強大的軍力,而來自領袖的謙卑與屬靈清明。這裡必須提到一個關鍵概念:「概念」(Conceptzia)。這是指 1973 年贖罪日戰爭前,以色列軍政階層陷入的一種致命認知偏誤:他們堅信敵軍在未取得絕對空優前絕不敢主動挑釁。這種基於過去「六日戰爭」輝煌勝利產生的「無敵傲慢」,讓以色列忽視了埃及與敘利亞在前線大規模部署的清晰信號。最終,敵軍選在猶太人禁食祈禱、舉國靜止的「贖罪日」突襲,造成以色列建國以來最慘痛的重擊。
- Jan 02 Tue 2024 17:34
-
GPU Resident Drawer 介紹
GPU Resident Drawer
是一種在Unity中用於優化繪製調用的技術。繪製調用是Unity向圖形API發出的命令,用於在屏幕上繪製幾何圖形。然而,這些調用可以非常消耗資源,尤其是在繪製調用的準備過程中。在這個過程中,CPU會設置GPU的資源並改變其內部設置,這些設置總稱為渲染狀態。渲染狀態的更改,例如切換到不同的材質,是圖形API執行的最資源密集的操作。
是一種在Unity中用於優化繪製調用的技術。繪製調用是Unity向圖形API發出的命令,用於在屏幕上繪製幾何圖形。然而,這些調用可以非常消耗資源,尤其是在繪製調用的準備過程中。在這個過程中,CPU會設置GPU的資源並改變其內部設置,這些設置總稱為渲染狀態。渲染狀態的更改,例如切換到不同的材質,是圖形API執行的最資源密集的操作。
- Dec 29 Fri 2023 15:05
-
在Unity有波紋效果的基本 水 Shader 著色器
- Dec 29 Fri 2023 14:33
-
有反射天空+環境光的water URP版
Shader "Custom/SimpleWaterWithReflectiveEnvURP" {
Properties {
_Color("Color", Color) = (1,1,1,1)
_MainTex("Texture", 2D) = "white" {}
_WaveScale("Wave scale", Range(0.01, 0.3)) = 0.1
_Speed("Speed", Range(0.1, 2.0)) = 1.0
_ReflectionStrength("Reflection Strength", Range(0,1)) = 0.5
}
SubShader {
Tags { "RenderType"="Opaque" }
LOD 100
Pass {
Tags { "LightMode" = "UniversalForward" }
HLSLPROGRAM
// Required pragmas
#pragma vertex vert
#pragma fragment frag
#pragma multi_compile_fog
#pragma multi_compile_instancing
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
struct appdata {
float4 vertex : POSITION;
float3 normal : NORMAL;
float2 uv : TEXCOORD0;
UNITY_VERTEX_INPUT_INSTANCE_ID
};
struct v2f {
float2 uv : TEXCOORD0;
float3 normal : TEXCOORD1;
float4 vertex : SV_POSITION;
UNITY_FOG_COORDS(1)
UNITY_VERTEX_OUTPUT_STEREO
};
sampler2D _MainTex;
float4 _MainTex_ST;
float _WaveScale;
float _Speed;
float4 _Color;
float _ReflectionStrength;
v2f vert(appdata v) {
v2f o;
UNITY_SETUP_INSTANCE_ID(v);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
o.vertex = UnityObjectToClipPos(v.vertex);
o.normal = UnityObjectToWorldNormal(v.normal);
o.uv = v.uv;
UNITY_TRANSFER_FOG(o,o.vertex);
return o;
}
half4 frag(v2f i) : SV_Target {
half2 uv = i.uv;
uv.x += _Time.y * _Speed;
uv.y += sin(uv.x * _WaveScale) * _WaveScale;
half4 tex = tex2D(_MainTex, TRANSFORM_TEX(uv, _MainTex));
half3 viewDir = normalize(UnityWorldSpaceViewDir(i.vertex.xyz));
half3 reflectDir = reflect(-viewDir, i.normal);
half4 envColor = half4(UNITY_SAMPLE_TEXCUBE(unity_SpecCube0, reflectDir).rgb, 1.0);
half4 color = lerp(tex * _Color, envColor, _ReflectionStrength);
UNITY_APPLY_FOG(i.fogCoord, color);
return color;
}
ENDHLSL
}
}
}
- Nov 18 Thu 2021 18:03
-
Unity TextureImporterPlatform 設定
TextureImporter textureImporter = AssetImporter.GetAtPath(aPath) as TextureImporter;
int aMaxTextureSize;
TextureImporterFormat aTextureImporterFormat;
int aCompressQuality;
- Nov 18 Thu 2021 09:54
-
[摸型 購買]HONDA CB750F 1/12 [完成品]
- Nov 12 Thu 2020 11:05
-
EasyRoad 3D API 使用
- Nov 09 Mon 2020 15:07
-
真實天氣 API
https://api.openweathermap.org/data/2.5/weather?lat=25.0985870362469&lon=121.547622680643&APPID=9f44d8fc4eb5563b0945e12516ea0c87
結果:
結果:
- Nov 05 Thu 2020 11:36
-
EasyRoad3D Tunnel 隧道 官方DEMO 解析
- Mar 18 Mon 2019 20:59
-
2019 個人最新遊戲
- Mar 28 Wed 2018 17:09
-
Two Normal Maps on same Material
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
//Bump Map
//by:puppet_master
//2017.2.27
Shader "ApcShader/NormalMapX1"
{
//属性
Properties
{
_Diffuse("Diffuse", Color) = (1,1,1,1)
_MainTex("Base 2D", 2D) = "white"{}
_BumpMap("Bump Map", 2D) = "bump"{}
_BumpFactor ("Bump Scale", Range(0, 50.0)) = 1.0
_BumpMap2("Bump Map2", 2D) = "bump"{}
_BumpFactor2 ("Bump Scale2", Range(0, 10.0)) = 1.0
}
//子着色器
SubShader
{
Pass
{
//定义Tags
Tags{ "RenderType" = "Opaque" }
CGPROGRAM
//引入头文件
#include "Lighting.cginc"
//定义Properties中的变量
fixed4 _Diffuse;
sampler2D _MainTex;
//使用了TRANSFROM_TEX宏就需要定义XXX_ST
float4 _MainTex_ST;
sampler2D _BumpMap;
float _BumpFactor;
sampler2D _BumpMap2;
float _BumpFactor2;
//定义结构体:vertex shader阶段输出的内容
struct v2f
{
float4 pos : SV_POSITION;
//转化纹理坐标
float2 uv : TEXCOORD0;
//tangent空间的光线方向
float3 lightDir : TEXCOORD1;
};
//定义顶点shader
v2f vert(appdata_tan v)
{
v2f o;
o.pos = UnityObjectToClipPos(v.vertex);
//这个宏为我们定义好了模型空间到切线空间的转换矩阵rotation,注意后面有个;
TANGENT_SPACE_ROTATION;
//ObjectSpaceLightDir可以把光线方向转化到模型空间,然后通过rotation再转化到切线空间
o.lightDir = mul(rotation, ObjSpaceLightDir(v.vertex));
//通过TRANSFORM_TEX宏转化纹理坐标,主要处理了Offset和Tiling的改变,默认时等同于o.uv = v.texcoord.xy;
o.uv = TRANSFORM_TEX(v.texcoord, _MainTex);
return o;
}
//定义片元shader
fixed4 frag(v2f i) : SV_Target
{
//unity自身的diffuse也是带了环境光,这里我们也增加一下环境光
fixed3 ambient = UNITY_LIGHTMODEL_AMBIENT.xyz * _Diffuse.xyz;
//直接解出切线空间法线
float3 tangentNormal = UnpackNormal(tex2D(_BumpMap, i.uv));
//构建一个float3向量,用于与法线相乘得到更改后的法线值
float3 normalFactor = float3(_BumpFactor, _BumpFactor, 1);
//将factor与法线相乘并normalize
float3 normal = normalize(tangentNormal * normalFactor);
//normalize一下切线空间的光照方向
float3 tangentLight = normalize(i.lightDir);
//兰伯特光照
fixed3 lambert = saturate(dot(normal, tangentLight));
//直接解出切线空间法线
float3 tangentNormal2 = UnpackNormal(tex2D(_BumpMap2, i.uv));
//构建一个float3向量,用于与法线相乘得到更改后的法线值
float3 normalFactor2 = float3(_BumpFactor2, _BumpFactor2, 1);
//将factor与法线相乘并normalize
float3 normal2 = normalize(tangentNormal2 * normalFactor2);
//兰伯特光照
fixed3 lambert2 = saturate(dot(normal2, tangentLight));
//最终输出颜色为lambert光强*材质diffuse颜色*光颜色
fixed3 diffuse = lambert2*lambert * _Diffuse.xyz * _LightColor0.xyz + ambient;
//进行纹理采样
fixed4 color = tex2D(_MainTex, i.uv);
return fixed4(diffuse * color.rgb, 1.0);
}
//使用vert函数和frag函数
#pragma vertex vert
#pragma fragment frag
ENDCG
}
}
//前面的Shader失效的话,使用默认的Diffuse
FallBack "Diffuse"
}
//Bump Map
//by:puppet_master
//2017.2.27
Shader "ApcShader/NormalMapX1"
{
//属性
Properties
{
_Diffuse("Diffuse", Color) = (1,1,1,1)
_MainTex("Base 2D", 2D) = "white"{}
_BumpMap("Bump Map", 2D) = "bump"{}
_BumpFactor ("Bump Scale", Range(0, 50.0)) = 1.0
_BumpMap2("Bump Map2", 2D) = "bump"{}
_BumpFactor2 ("Bump Scale2", Range(0, 10.0)) = 1.0
}
//子着色器
SubShader
{
Pass
{
//定义Tags
Tags{ "RenderType" = "Opaque" }
CGPROGRAM
//引入头文件
#include "Lighting.cginc"
//定义Properties中的变量
fixed4 _Diffuse;
sampler2D _MainTex;
//使用了TRANSFROM_TEX宏就需要定义XXX_ST
float4 _MainTex_ST;
sampler2D _BumpMap;
float _BumpFactor;
sampler2D _BumpMap2;
float _BumpFactor2;
//定义结构体:vertex shader阶段输出的内容
struct v2f
{
float4 pos : SV_POSITION;
//转化纹理坐标
float2 uv : TEXCOORD0;
//tangent空间的光线方向
float3 lightDir : TEXCOORD1;
};
//定义顶点shader
v2f vert(appdata_tan v)
{
v2f o;
o.pos = UnityObjectToClipPos(v.vertex);
//这个宏为我们定义好了模型空间到切线空间的转换矩阵rotation,注意后面有个;
TANGENT_SPACE_ROTATION;
//ObjectSpaceLightDir可以把光线方向转化到模型空间,然后通过rotation再转化到切线空间
o.lightDir = mul(rotation, ObjSpaceLightDir(v.vertex));
//通过TRANSFORM_TEX宏转化纹理坐标,主要处理了Offset和Tiling的改变,默认时等同于o.uv = v.texcoord.xy;
o.uv = TRANSFORM_TEX(v.texcoord, _MainTex);
return o;
}
//定义片元shader
fixed4 frag(v2f i) : SV_Target
{
//unity自身的diffuse也是带了环境光,这里我们也增加一下环境光
fixed3 ambient = UNITY_LIGHTMODEL_AMBIENT.xyz * _Diffuse.xyz;
//直接解出切线空间法线
float3 tangentNormal = UnpackNormal(tex2D(_BumpMap, i.uv));
//构建一个float3向量,用于与法线相乘得到更改后的法线值
float3 normalFactor = float3(_BumpFactor, _BumpFactor, 1);
//将factor与法线相乘并normalize
float3 normal = normalize(tangentNormal * normalFactor);
//normalize一下切线空间的光照方向
float3 tangentLight = normalize(i.lightDir);
//兰伯特光照
fixed3 lambert = saturate(dot(normal, tangentLight));
//直接解出切线空间法线
float3 tangentNormal2 = UnpackNormal(tex2D(_BumpMap2, i.uv));
//构建一个float3向量,用于与法线相乘得到更改后的法线值
float3 normalFactor2 = float3(_BumpFactor2, _BumpFactor2, 1);
//将factor与法线相乘并normalize
float3 normal2 = normalize(tangentNormal2 * normalFactor2);
//兰伯特光照
fixed3 lambert2 = saturate(dot(normal2, tangentLight));
//最终输出颜色为lambert光强*材质diffuse颜色*光颜色
fixed3 diffuse = lambert2*lambert * _Diffuse.xyz * _LightColor0.xyz + ambient;
//进行纹理采样
fixed4 color = tex2D(_MainTex, i.uv);
return fixed4(diffuse * color.rgb, 1.0);
}
//使用vert函数和frag函数
#pragma vertex vert
#pragma fragment frag
ENDCG
}
}
//前面的Shader失效的话,使用默认的Diffuse
FallBack "Diffuse"
}
